Добрый день !
Не совсем корректно срабатывает событие ПриВыбореЗакладки.
Имеется форма элемента справочника с закладками.
На первой закладке есть поле, которое должно быть заполнено.
При открытии формы должно выдаваться сообщение если поле пустое.
При открытии формы элемента справочника соответственно открывается вкладка №1
и условие проверки поля не срабатывает. А когда в открытой форме бегаешь по вкладкам ,то все работает.
Как это лечить? Сэмулировать как-то выбор закладки при открытии ?
andrew76 @ Сегодня, 9:30
,
Вірно.
В кінці процедури ПриОткрытии() викличте
ПриВыбореЗакладки(1,"ВашаНазваЗакладки");
Конечно не рекурсия. Действительно, откуда ?
В конце процедуры ПриОткрытии срабатывает вариант конечно,
но мне надо чтобы срабатывало когда форма уже открыта с закладками-т.е.при выборе закладки.
а чтобы мне ее выбрать надо покликать по закладкам.
добавьте формекс - там есть событие послеОткрытия.
или приОткрытии выполнить с задержкой свою процедуру
andrew76 @ Сегодня, 11:40
,
А так:
ПриВыбореЗакладки(2,"ВтораяЗакладка");
ПриВыбореЗакладки(1,"ПерваяЗакладка");
Sharzem @ Сегодня, 15:41
,
А так тоже самое. Сообщение выдается во время открытия формы.
Когда открывается форма с закладками, пока не кликнешь принудительно по вкладке ,
то и сообщение не выводится.
andrew76 @ Сегодня, 13:39
,
Ну тогда, как вариант, уберите свое "детище" на другую закладку да и не мучайтесь.
Перем ФормаОткрылась
Процедура ПриВыбореЗакладки(Номер,Закладка)
Если ФормаОткрылась = 1 Тогда
//Вот здесь понимаем что это ПриОткрытии() и сразу ж показываем, что далее она уже открыта
ФормаОткрылась = 0;
Иначе
//Тут, я так понимаю, должно сидеть Ваше Предупреждение
КонецЕсли;
КонецПроцедуры
Процедура ПриОткрытии()
ФормаОткрылась = 1;
ПриВыбореЗакладки(1,"ПерваяЗакладка");
КонецПроцедуры
Если НомерЗакладки = "Открытие" Тогда
//Вот только что открылась форма
Иначе
//Тут, опять сидит Ваше Предупреждение
КонецЕсли;
andrew76 @ 25.01.22, 16:25
,
Ииии?
Победили или забили ?
Расскажите о результатах...
andrew76 @ 25.01.22, 9:30
,
У меня была такая задача. Надо было проверить заполнение одного реквизита при изменении другого (заполнена ли статья расходов при изменении суммы), статья расходов на второй вкладки, а сумма на первой вкладке. При изменении суммы осуществляется переход на вторую вкладку
Вот такой код был при изменении суммы:
//=============================
Процедура ИзмСумму()
Если ПустоеЗначение(СтатьяРасходов) = 1 Тогда
Форма.ИспользоватьСлой("Дополнительно",2);
Форма.Закладки.ТекущаяСтрока(2);
Сообщить("Выберите 'Статью","!");
Возврат;
КонецЕсли;
КонецПроцедуры
Процедура ПриОткрытии()
Форма.ИспользоватьСлой("Основные",1);
Форма.Закладки.ТекущаяСтрока(1);
КонецПроцедуры
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua