|
Форма документа во внешней обработке | ☑ | ||
---|---|---|---|---|
0
Интрудер
31.10.12
✎
06:40
|
Возможно большинству коллег этот прием знаком, однако встречал и не знающих. Пользуюсь им обычно при разработке новых документов/макетов или значительной модификации существующих. Итак, нужно значительно изменить документ ЗаказПокупателя. Создаем внешнюю обработку, скажем "ЗаказПокупателя.epf". Форму Заказа в конфигураторе копируем в буфер, вставляем в состав форм обработки, назначаем основной. В той, что в конфигурации, в документе в "ПередОткрытием" пишем примерно следующее:
ИмяФайла = "D:\Bases\Обработки\ЗаказПокупателя.epf"; Обработка = ВнешниеОбработки.Создать(ИмяФайла); Форма = Обработка.ПолучитьФорму(); Форма.ДокументОбъект = ЭтотОбъект; Форма.Открыть(); Отказ = Истина; Возврат; Все. Для вступления любых изменений в силу, в коде или в элементах управления после редактирования формы в обработке и её сохранения, достаточно переоткрыть документ. Когда Вы довольны результатом, заменяете форму документа обратно. Экономит массу времени. А если ночью накосячили и приходится утром всех юзверей выгонять?... Не ограничивается описанным, легко сделать "санки" для функций любых модулей через Экспорт директиву. Но добавить к примеру новый реквизит придется все же в конфигурации, добавляйте несколько резервных, потом переименуете. |
|||
1
IamAlexy
31.10.12
✎
06:48
|
и смысл?
|
|||
2
Интрудер
31.10.12
✎
06:49
|
Да просто не перезапускать эску постоянно при мизерных изменениях
|
|||
3
IamAlexy
31.10.12
✎
06:51
|
(2) а если модуль объекта правишь? мизерно так.. или общий модуль?
зы: я бы кстати добавил в код из (0) проверку файла на наличие и в ситуации отсутствия оного открывал штатную форму :) |
|||
4
Интрудер
31.10.12
✎
06:58
|
(3) В модуле перенаправляю вызов в экспортную функцию внешней формы. ): Дык и написано - "примерно следующее", зачем тривиальные вещи писать. Понятно, что в рабочем коде все универсальней и с проверками. У меня к примеру вообще функция в общем модуле, принимает докОбъект или докСписок, или еще что, по нему вычисляет имя файла, при нахождении выполняет вышеописанное...
|
|||
5
Интрудер
31.10.12
✎
07:07
|
По сути, код выглядит так:
Если ОбщийМодуль.ПолучитьВнешнююФорму(ЭтотОбъект, Отказ) Тогда Возврат; КонецЕсли; |
|||
6
Живой Ископаемый
31.10.12
✎
07:20
|
на хабрахабре такое любят... тут без пользы
|
|||
7
IamAlexy
31.10.12
✎
07:21
|
(4) ну и накуя сей гомнокод?
часто меняешь по живой базе? зы: с содроганием вспоминаю адскую самописку в 7ке где каждый модуль был вынесен в текстовой файл.. вообще каждый в ТИСе.. тот еще звиздец был |
|||
8
Интрудер
31.10.12
✎
07:26
|
(7) Я просто поделился... не нравится, но заказчик требует конфу править - правь. Сравнивать с текстовыми файлами... Ты в обработке полноценную форму получаешь.
|
|||
9
Интрудер
31.10.12
✎
07:27
|
(6) Интересно... А с чем связано? Я там не бываю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |