Чайка в небе

Напишите нам:

uc3@1c.ru

Позвоните нам:

+7 (495) 373-00-07

По всем вопросам:

+7 (495) 373-00-07 uc3@1c.ru
Обратный звонок
Опытным программистам

Поиск нужной формы

Пожелания заказчиков по «улучшению» типовых решений чаще всего касаются обеспечения дополнительного сервиса в формах тех или иных объектов. Но что бы  ту или иную форму «улучшить» - ее, прежде всего, надо найти в конфигурации. И, как ни странно, иногда у начинающих прикладных программистов это получается не сразу.

Живой пример одного из проектов: Заказчик для программы «1С:Управление торговлей» попросил «проредить» по определенным правилам выпадающий список менеджеров на форме «журнала документов Реализация товаров и услуг».

 

Поскольку работа не сложная – ее поручили одному из начинающих, но подающему большие надежды программистов. Каково же было удивление куратора, что и по истечении нескольких часов рапорта о выполнении - все не поступало. К программисту подошли, стали разбираться. Оказалось, бедолага не смог даже начать, потому что программа вообще не реагировала на любые попытки внесения изменений в форму списка документа.

Давайте посмотрим, в чем там дело:

Итак, первое правило поиска нужной формы: убедитесь, что понимаете, о форме какого объекта идет речь в задаче.

Следующий прием, который нужно иметь в своем арсенале, – это поиск вызова нужной формы из родительской формы.

Посмотрим в следующих роликах, с чем можно столкнуться:

 

Итак, следующее правило: если в родительской форме не получается выйти на обработчик вызова искомой формы сразу (через контекстное меню), посмотрите команды на закладке «Командный интерфейс».

Следующий уровень сложности: это поиск формы, открываемой из неизвестной родительской формы.

Допустим, мы не имеем никакого представления об устройстве подсистемы «Печать». Но нам нужно разобраться – что же за форма открывается в подсистеме «Администрирование», разделе «Печатные формы, отчеты и обработки»  по гиперссылке «Макеты печатных форм»:

 

 

Итак, следующее правило: если неочевидна и родительская форма, используйте глобальный поиск. Но имейте в виду, что переход к искомой форме может быть реализован: программно, интерактивно или системно. Поэтому в окне глобального поиска надо выставлять три флажка: «Свойства», «Модули», «Элементы форм»:

 

Но кроме вышерассмотренных примеров, можно еще столкнуться и с обыкновенным волшебством, когда возникает иллюзия, что неизвестная форма открывается из-за неизвестного кода.

Пример: формы задач бизнес-процесса «Типовая продажа».

Вот так выглядит форма задачи «Квалифицировать клиента по сделке»:

Вот так – форма задачи «Отразить первичный контакт»

 

Формы вроде похожи, но есть существенное отличие в гиперссылке на правом фланге. Для каждого вида задач – она своя. У кого «Клиент», у кого «Взаимодействия», да еще с загадочным нулем в скобках.

Допустим, мы хотим разобраться, это одна форма, просто разные гиперссылки, или все же – разные формы?

 

А для себя выводим следующее правило: Если упорно открывается не основная форма объекта, но при этом в родительской форме  обработчик выбора не задействован – ищите в модуле менеджера обработчик «ОбработкаПолученияФормы»

А теперь поговорим о том, с чем возможно столкнетесь в будущем.

Дело в том, что большинство предопределенных обработчиков событий объектов типа «ПриЗаписи», «ПриУстановкеНовогоНомера» и т.д. могутперехватываться «Подписками на события». Подвох в том, что подписки на события располагаются в другой ветке объектов конфигурации, сами объекты(документы, справочники и другие) никак не показывают, что некоторые их события перехватываются подписками, и пока ее (подписку) не найдешь – очень трудно понять, почему в жизни объекта происходят какие-то вещи, не описанные в модулях самого объекта.

Ну что, уже поняли, к чему я это все?

Да-да, подписки на события могут касаться и только что продемонстрированного обработчика «ОработкаПолученияФормы».

 

Ну и последнее для нашей статьи правило: Если после всех вышеописанных приемов все-равно не понятно, какая именно форма открылась – «Ищите женщину подписку на события».

Как видите, разработчиками программ на базе платформы «1С:Предприятие» некоторые формы весьма талантливо прячутся от начинающих прикладных программистов. И дело тут не в заговоре против неофитов. Что Вы! Какой заговор?

Просто платформа имеет огромное количество возможностей для вызова форм в той или иной ситуации, и разработчики применяют тот способ, который им кажется наиболее уместным при реализации той или иной возникающей задачи.

Да-да, при возникающей! Большинство неожиданных способов вызова форм появляется при так называемом «ситуационном» программировании. Это когда типовое решение уже создано, отлажено, запущено в тираж, и вдруг выясняется, что обстоятельства применения изменились, и теперь программа должна еще, кроме прочего, делать то-то и то-то в такой-то ситуации.

А заговора никакого нет! Ведь мы же одна семья, семья прикладных программистов и разработчиков. А сейчас для семейного фото – посмотрите, пожалуйста, сюда:

Не смогли найти подходящий курс?

Обращайтесь за бесплатной консультацией