Полная версия этой страницы:
Подбор значения
Здравствуйте. Конфигурация ПУБ 7.70.47.
Процедура ОбработкаПодбора(Выб) не вызывается, если вызывать ОткрытьПодбор("Справочник.ТМЦ","ДляПодбора",Контекст,0,ТМЦ); из процедуры ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр).
Если вызов ОткрытьПодбор("Справочник.ТМЦ","ДляПодбора",Контекст,0,ТМЦ) привязать к кнопке "Подбор" - то все Ок.
Почему?
alex040269
09.04.14, 9:46
Цитата(vadim007 @ 09.04.14, 10:35) необходимо зарегистрироваться для просмотра ссылки
ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр).
Скорее всего потому, что ПриНачалеВыбораЗначения вызывается, когда нужно выбрать только одно значение, а подбор - несколько!
потрібно перепризначити стандартну обробку системної процедури, ось так
ПриНачалеВыбораЗначения(Рекв,ФлагСтандОбр)
ФлагСтандОбр = 0;
ОткрытьПодбор
...
в типових конфах таке зустрічається
Именно так и делаю. Процедура ОбработкаПодбора(..) не вызывается
хм, дійсно не заходить в
ОбработкаПодбора у відлагоджувачі, певно це один із нюансів (де їх потрібно використовувати або де вони не працюють) як із процедурою
Активизировать, який не описаний в документації
Цитата(mister-x @ 09.04.14, 10:11) необходимо зарегистрироваться для просмотра ссылки
в типових конфах таке зустрічається
поспішив із відповіддю, не знайшов такого використання
Цитата(mister-x @ 09.04.14, 17:34) необходимо зарегистрироваться для просмотра ссылки
поспішив із відповіддю, не знайшов такого використання
МодернизацияНеоборотныхАктивов - работает
Решил проблему. 1С строго следует вызовам пар процедур: ПриНачалеВыбораЗначения(..) -> ОбработкаВыбораЗначения(..) и ОткрытьПодбор(..) -> ОбработкаПодбора(..).
При вызове из ПриНачалеВыбораЗначения(..) процедуры ОткрытьПодбор(..) вызывается ОбработкаВыбораЗначения(..), а не ОбработкаПодбора(..).
Цитата(sava1 @ 09.04.14, 18:00) необходимо зарегистрироваться для просмотра ссылки
МодернизацияНеоборотныхАктивов - работает
немає там підбору, там є пара ПриНачалеВыбораЗначения(..) -> ОбработкаВыбораЗначения(..)
ЗІ. але так як автор теми знайшов спосіб для вирішення питання, то далі вже лірика
В продолжение темы подбора.
Нужно, чтобы при выборе в форме подбора (выбора) элемента ТМЦ делался анализ на правильность выбора. Например, выбрали ТМЦ вида Услуга, а нужно вида Товар.
Нужно выполнять проверку именно в форме подбора, а не в документе. Чтобы лишний раз не открывать форму подбора.
Как понимаю, стандартных средств нет?
alex040269
23.04.14, 14:46
делать проверку в ОбработкаПодбора(..).
При этом форма подбора, вызываемая из ОткрытьПодбор(...), закроется. А мне это не нужно, если выбранное значение не удовлетворяет условию.
а ПриВыбореСтроки - не проходит?
Вот сейчас отлаживаю. В форме подбора в ПриВыбореСтроки() процесс не заходит. Не могу понять почему?
Нашел ошибку - вызывал не ту форму подбора. Блиииин!
все формы, которые открываются из ПриНачалеВыбораЗначения - открываются в режиме выбора значения. на этом основан финт "подмена формы выбора" - обнуление в ПриНачалеВыбора ФСО и "ОткрытьФорму" чего надо (если надо - с получением контекста открытой формы сразу после этого оператора и изменением через контекст чего угодно в открытой для выбора форме). при этом выбор в открытой форме значения передает управление на ОбработкуВыбораЗначения.
передача из подбора в ОбработкаПодбора может быть реализована программным отказом от выбора (в ПриНачалеВыбораЗначения обнулить ФСО) плюс (там же) "Форма.ОбработкаОжидания("ОткрытьКакойНадоПодбор",1), и в модуль добавить процедуру "ОткрытьКакойНадоПодбор", в которой ОткрытьПодбор как надо (не забыв с самого начала "Форма.ОбработкаОжидания("",0)" ). в этом случае подбор откроется через секунду и отработает стандартно с передачей управления в ОбработкаПодбора.
прим.: хотя на моей памяти и попадались "шустрики", опережавшие секундное ожидание - это лечилось предупреждением(таймаут=1сек) о переходе к подбору. но это было необходимо на практике очень редко.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.