Здравствуйте. Конфигурация ПУБ 7.70.47. Процедура ОбработкаПодбора(Выб) не вызывается, если вызывать ОткрытьПодбор("Справочник.ТМЦ","ДляПодбора",Контекст,0,ТМЦ); из процедуры ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр). Если вызов ОткрытьПодбор("Справочник.ТМЦ","ДляПодбора",Контекст,0,ТМЦ) привязать к кнопке "Подбор" - то все Ок. Почему?
хм, дійсно не заходить в ОбработкаПодбора у відлагоджувачі, певно це один із нюансів (де їх потрібно використовувати або де вони не працюють) як із процедурою Активизировать, який не описаний в документації
Цитата(mister-x @ 09.04.14, 10:11)
в типових конфах таке зустрічається
поспішив із відповіддю, не знайшов такого використання
Сообщение отредактировал mister-x - 09.04.14, 16:33
Решил проблему. 1С строго следует вызовам пар процедур: ПриНачалеВыбораЗначения(..) -> ОбработкаВыбораЗначения(..) и ОткрытьПодбор(..) -> ОбработкаПодбора(..). При вызове из ПриНачалеВыбораЗначения(..) процедуры ОткрытьПодбор(..) вызывается ОбработкаВыбораЗначения(..), а не ОбработкаПодбора(..).
В продолжение темы подбора. Нужно, чтобы при выборе в форме подбора (выбора) элемента ТМЦ делался анализ на правильность выбора. Например, выбрали ТМЦ вида Услуга, а нужно вида Товар. Нужно выполнять проверку именно в форме подбора, а не в документе. Чтобы лишний раз не открывать форму подбора. Как понимаю, стандартных средств нет?
Группа: Местный
Сообщений: 224
Из: не ту страну назвали Гондурасом
Спасибо сказали: 83 раз
Рейтинг: 0
все формы, которые открываются из ПриНачалеВыбораЗначения - открываются в режиме выбора значения. на этом основан финт "подмена формы выбора" - обнуление в ПриНачалеВыбора ФСО и "ОткрытьФорму" чего надо (если надо - с получением контекста открытой формы сразу после этого оператора и изменением через контекст чего угодно в открытой для выбора форме). при этом выбор в открытой форме значения передает управление на ОбработкуВыбораЗначения.
передача из подбора в ОбработкаПодбора может быть реализована программным отказом от выбора (в ПриНачалеВыбораЗначения обнулить ФСО) плюс (там же) "Форма.ОбработкаОжидания("ОткрытьКакойНадоПодбор",1), и в модуль добавить процедуру "ОткрытьКакойНадоПодбор", в которой ОткрытьПодбор как надо (не забыв с самого начала "Форма.ОбработкаОжидания("",0)" ). в этом случае подбор откроется через секунду и отработает стандартно с передачей управления в ОбработкаПодбора. прим.: хотя на моей памяти и попадались "шустрики", опережавшие секундное ожидание - это лечилось предупреждением(таймаут=1сек) о переходе к подбору. но это было необходимо на практике очень редко.
Сообщение отредактировал Cthulhu - 03.05.14, 22:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!