Имя: Пароль:
1C
 
Открытие формы из поля табличной части документа с выпадающего списка
0 Syroega
 
06.12.24
09:16
УТ 10.3. Обычные формы.
У документа Реализация товаров услуг, в табличной части Товары есть не типовое поле. У этого поля есть 1 обработчик события ТоварыРазмерыПорезкиНачалоВыбораИзСписка(), где в одной из процедур заполняется СписокВыбора. Там открываются 2 значения. При выборе верхнего, первого значения, открывается форма калькулятора, рассчитанное значение строкового типа в которой потом возвращается в поле табличной части документа Товары.
Вопрос в том что не понятно каким образом открывается эта форма, если для этого нет никаких обработчиков. И в коде я ничего найти не смог.

Как определить как открывается эта форма? Что бы посмотреть в ней все пересчеты в отладчике.

Форма открывается сразу, и не понятно где можно отловить ее открытие после выбора первого пункта в списке выбора в отладчике.

Подобную форму я нашел только в режиме предприятия, в справочнике внешние обработки. И то она там открывается со скрытыми элементами. Сохранив же ее на диск, я увидел что она подобна той что открывается при выборе первого пункта списка выбора в поле табличной части товары.

Как такое может быть что нет никаких инструкций что открывается и как. Может ли это быть формой внешней обработки, из справочника внешние обработки? Если так то как все же она открывается в коде?
1 mikecool
 
06.12.24
09:20
ОткрытьЗначение() , а значение - число
мб
2 maxab72
 
06.12.24
09:23
Смотреть отладчик. Я бы проверил событие "ПриАктивизацииЯчейки" табличного поля.
3 Syroega
 
06.12.24
09:33
(1) Как понимаю это должно быть в модуле формы документа Реализация товаров услуг. Поиском я не нашел там такой инструкции. Получается не оно.

(2) Данная процедура не задействована (.

Не понимаю, что мне смотреть дальше и как найти выход, решение этого вопроса. Что бы не было ничего и открывалась какая то форма сама по себе, такого же не может быть. Тем не менее я не могу найти код, того что это открывает. Так же как и не пойму что именно за форма открывается. Если это внешняя обработка из справочника внешние обработки, как она может открываться то, из поля документа при выборе первого значения из раскрывающегося списка выбора?
4 maxab72
 
06.12.24
09:44
(3) Отладчик и стек вызовов функций/процедур.
5 Ненавижу 1С
 
06.12.24
09:46
(0) возможно программная подписка на событие поля. Посмотри какие есть события через отладчик
6 CepeLLlka
 
06.12.24
09:50
(0)ПоказатьВводЧисла()?
7 Syroega
 
06.12.24
10:07
(4) Так я все пробовал, ничего не нашел. В отладчике и смотрю. Стек вызовов наверное не затрагивал ещё.
(5) Так я это и пересмотрел все. У табличной части, и у самого поля, все события перебрал ничего не нашел.
Подписки так же смотрел, тоже ничего не нашел.
(6) Там же форма открывается, сделанная в конфигураторе. С табличными полями и надписями из номенклатуры. При заполнении строк тч, срабатывает калькулятор пересчета, и форматированное значение возвращается в поле табличной части.

Что это за форма, с которой это делается, для меня по прежнему загадка.
8 CepeLLlka
 
06.12.24
10:23
(7)Когда запущена отладка, то в режиме предприятия, в нужной вам форме справа сверху, по нажатию на 3 точки можно выбрать пункт меню - "Открыть в конфигураторе", попробуйте воспользоваться этой кнопкой.
9 Syroega
 
06.12.24
10:36
(8) Это в управляемом приложении, в управляемых формах.
УТ 10.3, это обычное приложение, обычные формы. Там нет таких возможностей.
10 maxab72
 
06.12.24
10:38
(9) искать форму можно разными способами, например по характерному тексту на форме.
11 Syroega
 
06.12.24
15:07
Выяснил. Это та обработка из справочника «Внешние обработки».
И есть, где она вызывается в коде.
Не понял с начала всё это.
Получается, чтобы ее тестировать, нужно сохранить ее как внешнюю и отлаживать по принципу отладки внешних печатных форм.
Так же? Из документа при вызове из поля строки табличной части, если я нашел, как это вызывается, тестировать ее не получится, так же? Она сохраняется куда-то во временные файлы, что ли.
12 RVN
 
06.12.24
12:26
(9)
1. Открыть документ в предприятии.
2. В отладчике запустить замер производительности
3. В предприятии, в открытом документе, открыть эту форму и потупить там минутку
4. Остановить замер производительности и посмотреть там по длительности вызова процедур.
13 RVN
 
06.12.24
12:29
(11) >Из документа, при вызове из поля строки табличной части, если я нашел как это вызывается, тестировать ее не получится, так же? Она сохраняется куда то во временные файлы что ли.

1. Сохрани ее в нужное место.
2. в коде, где обработка сохраняется во врем. файл временно пропиши открытие из нужного места п1.

и тогда вроде вполне можно нормально отлаживать