Здравствуйте!
Мне никак не удается активизировать строку выбора из справочника Симптомы в созданном мною документе АктПриема. Привожу кусок кода
Процедура ПоискС()
Заявка=СоздатьОбъект("Справочник.Симптомы");
Поиск=Заявка.НайтиПоНаименованию(Заявлено);
Если Поиск = 1 Тогда
Симптомы = Заявка.ТекущийЭлемент();
Симпт=1;
Иначе Симпт=0;
КонецЕсли;
Активизировать("Симптомы");
КонецПроцедуры
Активизировать работает только в штатних процедурах 1С (типу ПриОткрытии, ПриЗакрытии....
Поэтому нужно инициировать так-называемое ложное закрытие формы чтобы в нем отработало Активизировать.
Вот что нужно дописать
Перем МожноЗакрыть;
Процедура ПриОткрытии()
МожноЗакрыть = 1;
КонецПроцедуры
Процедура ПриЗакрытии()
Если МожноЗакрыть = 0 Тогда
МожноЗакрыть = 1;
Активизировать("Контрагенты1", 0);
СтатусВозврата(0);
Возврат;
КонецЕсли;
КонецПроцедуры
Процедура Поиск()
Заявка=СоздатьОбъект("Справочник.Контрагенты");
Поиск=Заявка.НайтиПоНаименованию(СокрЛП(Заявлено),0);
Если Поиск = 1 Тогда
Контрагенты1 = Заявка.ТекущийЭлемент();
Симпт=1;
Иначе Симпт=0;
КонецЕсли;
МожноЗакрыть = 0;
Форма.Закрыть(0);
КонецПроцедуры
volodya1122 @ 04.03.20, 12:56
,
Не согласен. В документе РасходнаяНакладная я прописал Активизировать не в "штатной" процедуре, и все работает. Поэтому, думаю, проблема в чем-то другом.
Процедура Виконав()
Если ((ПустаяСтрока(Причина)=1)и(СтатусЗаказа<>Перечисление.Статусы.Акс)) Тогда
Предупреждение("Вкажіть ПРИЧИНУ!");
СтатусВозврата(1);
Активизировать("Причина");
Возврат;
КонецЕсли;
Если ((ПустаяСтрока(КН)=1)и(СтатусЗаказа<>Перечисление.Статусы.Акс)и(ПустаяСтрока(НомерМодели)=0)) Тогда
Предупреждение("Вкажіть КОД НЕСПРАВНОСТІ!");
СтатусВозврата(0);
Активизировать("КН");
Возврат;
Иначе Форма.КН.Доступность(0);
КонецЕсли;
// и т.д.....................................................................
ZUBR @ Вчера, 23:40
,
Действительно. Проверил. Активизировать() с кнопки работает, а с "поля ввода" нет. Поєтому тут выход или так как я написал, или в порядке обхода поставить "Симптомы" сразу после реквизита "Заявлено".
Может попробовать АктивизироватьОбъект() ? Это ж у вас список справочника? А то что вы пробуете - для других мест.
АктивизироватьОбъект(<?>);
Синтаксис:
АктивизироватьОбъект(<Объект>)
Назначение:
Активизировать объект в форме списка.
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua