Урок 3. |
Сегодня поговорим о том, как сделать
нашу работу проще. Одна из проблем с которой
приходится сталкиваться заключается в том, что
если Вы что-то сделали в конфигураторе, то для
того, что-бы это "что-то" появилось в
работающей базе - надо:
В практике этот процесс очень трудоемкий, т.к. если у Вас работает десять пользователей, Вы можете столкнуться с тем, что пока одного выгоняли из базы - два других туда вошли. Кроме этого, возможно, что после того, как пользователи зайдут в базу после обновления, обнаружится ошибка в модуле и придется снова все повторить. Зная занятость наших бухгалтеров, можно быть уверенным, что после нескольких повторов "выход-вход" можно нарваться на неприятности. Как с этим бороться? Существует несколько эффективных способов. О них мы сегодня и поговорим Один их самых эффективных способов -
использовать в модулях конструкцию #ЗагрузитьИзФайла
<имяфайла.txt>. Эта команда загружает
модуль из текстового файла при ИНИЦИАЛИЗАЦИИ
модуля. А модуль инициализируется не при
загрузке базы, а в момент обращения к нему: при
открытии документа - инициализируется модуль
формы документа, при проведении документа -
модуль проведения, при открытии справочника -
инициализируется модуль соответствующей формы
списка справочника, при открытии элемента
справочника -- инициализируется модуль формы
элемента. Таким образом, если мы несколько раз
откроем документ, то его модуль формы документа
будет несколько раз инициализирован. А если
мы в промежутках между открытиями документа
будем исправлять модуль, хранящийся во внешнем
файле, то модуль может быть каждый раз - разный!
При этом сохранение конфигурации выполнять
не требуется: в конфигурации в нужном месте стоит
"#ЗагрузитьИзФайла" по этому наш файл
исправно загружается при каждой инициализации
модуля. Особенность: команда
"#загрузитьИзФайла" должна
располагаться в первой позиции первой строки
модуля. Она не работает в середине модуля! Важно: глобальный модуль инициализируется только один раз - при входе в систему. По этому записывать его во внешний файл нет смысла. Еще один способ - он является более известным.
Отчеты надо делать внешними. Особенно это
актуально в процессе отладки. Внешний отчет
создается легко: в конфигураторе меню "Файл"
- "Новый". В открывшемся окне укажите
"Внешний отчет". После этого работаете с ним,
как с обычным отчетом. При сохранении надо
будет указывать имя файла. В режиме
предприятия через меню "Файл" -
"Открыть" - открывайте файл внешнего отчета
и тестируйте его. Так же внешний отчет в режиме
предприятия можно открыть с помощью обработки
"Дополнительные возможности". Она должна
быть у Вас в меню "Сервис", если конфигурация
не очень старая. И еще один совет. Все печатные формы можно так же как и модули хранить во внешних файлах. Печатные формы при этом можно будет изменять не зависимо от всей конфигурации. Как это осуществить: Когда работаете с печатной формой - используете объект "ТАБЛИЦА". Этот объект имеет метод ИсходнаяТаблица(ИмяПечатнойФормы); В качестве имени печатной формы можно указать имя таблицы, имя общей таблицы или имя файла, где хранится таблица. Таким образом, чтобы таблица подгружалась из внешнего файла, достаточно добавить уже существующий модуль несколько строк: Таб=СоздатьОбъект("Таблица"); В приведенном примере печатная форма хранится
в папке "РабочиеФайлы" в файле
"ПФ_ПД-4.mxl". Подведем итог: Используя три простых приема: загрузка модулей из внешних файлов, использование внешних отчетов, загрузка внешних печатных форм - Вы добиваетесь только одного: экономия времени. Особенно это удобно если у Вас слабый компьютер, так как сохранение всей конфигурации требует значительных рессурсов. Таким образом, конфигурацию надо будет сохранять только если Вы добавляли какие-либо объекты в метаданные (справочники, документы, реквизиты и т.д. ) или корректировали формы документов, справочников, журналов. При использовании внешних файлов - возникает одна проблема: архивирование базы. Эта проблема решаема. Но об этом в следующий раз. |