Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
13 дек 2024, 18:31

Помогите обработать пару системных сообщений от 1С

Автор Сергей Поляков, 16 апр 2020, 16:34

0 Пользователей и 1 гость просматривают эту тему.

Сергей Поляков

Всем здравствуйте.
Немного под себя делаем УТ 11.4
а именно:
На форме документа добавили 2 реквизита: Продавец, Ремонтник (оба имеют тип. спр. физ лица)

Нужно чтобы при создании нового документа "Реализация товаров и услуг" сначала появлялась формаВыбора справочника "Физ лица", а далее мы это физ лицо выбираем и оно заполняется в поле "Продавец".

В модуле формы документа в процедуре "ПриОткрытии" написал код:
Перем Значение;
Если Объект.Продавец.Пустая() Тогда
Массив = Новый Массив;
Массив.добавить(Тип("СправочникСсылка.ФизическиеЛица"));
ОписаниеТипов = Новый ОписаниеТипов(Массив);
Результат = ВвестиЗначение(Значение, "Подсказка", ОписаниеТипов);
Если Результат Тогда
Объект.Продавец = Значение;
КонецЕсли;
КонецЕсли;
Элементы.Продавец.ТолькоПросмотр = Истина;

Все нормально отрабатывает, но в момент открытия формы выбора постоянно выходит сообщение:
"Использование модальных окон в данном режиме запрещено".
Хотелось бы как то его отключить.

А второе:
Делаю проверку на поле "Ремонтник":
Если Объект.Ремонтник = Справочники.ФизическиеЛица.ПустаяСсылка() И ВыборкаРезультата.Ремонт Тогда //Если есть ремонт и ремонтник не указан, то не проводим
Отказ = Истина;
Сообщить("В документе есть ремонт, обязательно нужно указать ремонтника, или убрать услуги по ремонту");
Возврат;         
КонецЕсли;
Данный код тоже отрабатывает, но сначала выходит системное окно 1С "Не удалось провести документ" и кнопки "ОК" и "Подробнее" - которая открывает конфигуратор.
Как то можно сделать так, чтобы сообщение просто показывала кнопку ок и все?
спасибо ))



LexaK

вот это можно проще сделать
Если Объект.Продавец.Пустая() Тогда
Массив = Новый Массив;
Массив.добавить(Тип("СправочникСсылка.ФизическиеЛица"));
ОписаниеТипов = Новый ОписаниеТипов(Массив);
Результат = ВвестиЗначение(Значение, "Подсказка", ОписаниеТипов);
Если Результат Тогда
Объект.Продавец = Значение;
КонецЕсли;
КонецЕсли;


попробуйте так

Если Объект.Продавец.Пустая() Тогда
Пока Не ВвестиЗначение(Объект.Продавец,"Выберите продавца.") Цикл
КонецЦикла;
КонецЕсли;

гораздо короче
Что бы не появлялось предупреждение о модальности, просто отключите его!
Конфигуратор, свойства корня системы, закладка Совместимость, реквизит Режим использования модальности см.рис. Сделайте = Использовать

Цитировать
второе:
Делаю проверку на поле "Ремонтник":
Если Объект.Ремонтник = Справочники.ФизическиеЛица.ПустаяСсылка() И ВыборкаРезультата.Ремонт Тогда //Если есть ремонт и ремонтник не указан, то не проводим
Отказ = Истина;
Сообщить("В документе есть ремонт, обязательно нужно указать ремонтника, или убрать услуги по ремонту");
Возврат;         
КонецЕсли;
Данный код тоже отрабатывает, но сначала выходит системное окно 1С "Не удалось провести документ" и кнопки "ОК" и "Подробнее" - которая открывает конфигуратор.
Как то можно сделать так, чтобы сообщение просто показывала кнопку ок и все?
спасибо ))

а вы проверку где делаете? в ОбработкаПроведения?
попробуйте перенести в событие ПередЗаписью

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
ВыборкаРезультата = ... //что у вас тут?
Если Ремонтник.Пустая()
И ВыборкаРезультата.Ремонт
И РежимЗаписи = РежимЗаписиДокумента.Проведение
Тогда //Если есть ремонт и ремонтник не указан, то не проводим
РежимЗаписи = РежимЗаписиДокумента.Запись;//просто Меняем проведение на запись
Сообщить("В документе есть ремонт, обязательно нужно указать ремонтника, или убрать услуги по ремонту");
КонецЕсли;

КонецПроцедуры
если помогло нажмите: Спасибо!

Сергей Поляков

(LexaK) спасибо за ответы.
я создал общий модуль "МойМодуль" и подписку на событие "ОбработкаПроведения"
в ней и делаю проверку.
Добавлено: 17 апр 2020, 06:26


Да, я изменил событие "ПередЗаписью" сделал так как написали, все получилось.
видать выражение "Отказ = Истина" вызывало стандартное сообщение 1С.
спасибо.

Теги: сообщения 

Похожие темы (5)

Рейтинг@Mail.ru

Поиск