Поступают вопросы относительно того, как можно изменить логику работы формы
например для формирования другого формата адреса.
Внешняя обработка редактируется в Конфигураторе.
т.е. нужно:
- Запустить Конфигураторе
- в Конфигураторе вызвать пункт меню "Файл | Открыть"
и указать файл PrintEnvelope-8.2.epf, выкачанный с нашего сайта,
либо с форума выше. - В открывшейся форме открыть поддерево "Формы" и дважды щёлкнуть на узле "ПодготовкаИсходящего"
- в открывшейся форме перейти на закладку "Модуль" и найти в тексте процедуру "ЗаполнитьВариантыАдреса"
Процедура получает на вход объект "к" от которого она должна получить все варианты адресов
и последовательно пытается получить все адреса и сложить их в массив "значения",
одновременно для каждого полученного адреса складывая его названия в массив "названия"
Значит поскольку мы постарались написать одну внешнюю печатную форму, которую можно
использовать в широком диапазоне применений и конфигураций, мы написали процедуру заполнения адресов
таким образом, чтобы она пыталась последовательно всеми способами взять адреса подаваемого ей
на вход объекта.
Т.е. одна и та же процедура работает и для контрагентов и для организаций и для банков и
возможно будет работать и для других объектов и конфигураций, если у них можно получить
адрес тем способом которым это пытается делать процедура.
Другими словами, для того чтобы в конкретной конфигурации 1С получить у конкретного
объекта адрес конкретного вида, нужно чтобы программист разбирающийся в этой конфигурации
добавил в описанную процедуру получение адреса и его добавление в массивы (не зная деталей
конкретной конфигурации мы этого сделать не можем, наша процедура обрабатывает лишь наиболее
распространённые варианты).
По коду легко видеть, что в большинстве случаев мы пользуемся стандартными методами 1С
которые уже возвращают адрес в каком то формате, хотя специалист по конкретной конфигурации
1С наверно мог бы и улучшить формирование адреса.
После редактирования, внешнюю обработку нужно сохранить и импортировать непосредственно в 1С
так как мы описали в начале топика.