Как проверить заполнен ли объект в другом документе?
Есть документ Договоры у которого реквизиты Объект.Подписан и Объект.ОригиналПолучен.
Есть документ "Договоры контрагентов", нужно чтобы при выборе договоров учитывалось заполнение этих объектов, что если они не заполнены выводились сообщения
&НаСервере
Функция ОригиналПодписан()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| АРБИС_ДоговорНаКомплексноеОбслуживание.Ссылка
|ИЗ
| Документ.АРБИС_ДоговорНаКомплексноеОбслуживание КАК АРБИС_ДоговорНаКомплексноеОбслуживание
|ГДЕ
| АРБИС_ДоговорНаКомплексноеОбслуживание.ОригиналПолучен = &ОригиналПолучен";
Запрос.УстановитьПараметр("ОригиналПолучен", Истина);
ТЗ = Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из ТЗ Цикл
Если Стр.Ссылка.Альфа_Абонентский Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
//Возврат Истина;
КонецФункции
&НаСервере
Функция Подписан()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| АРБИС_ДоговорНаКомплексноеОбслуживание.Ссылка
|ИЗ
| Документ.АРБИС_ДоговорНаКомплексноеОбслуживание КАК АРБИС_ДоговорНаКомплексноеОбслуживание
|ГДЕ
| АРБИС_ДоговорНаКомплексноеОбслуживание.Подписан = &Подписан";
Запрос.УстановитьПараметр("Подписан",Истина);
ТЗ = Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из ТЗ Цикл
Если Стр.Ссылка.Альфа_Абонентский Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
//Возврат Ложь;
КонецФункции
&НаКлиенте
Процедура ДоговорКонтрагентаПриИзменении(Элемент)
Если Подписан() = Ложь Тогда
ЭтаФорма.ТолькоПросмотр = Истина;
Сообщить("Договор не подписан!");
КонецЕсли;
Если ОригиналПодписан() = Ложь Тогда
ЭтаФорма.ТолькоПросмотр = Истина;
Сообщить("Оригинал договора не получен, когда будет???");
КонецЕсли;
КонецПроцедуры
Есть документ "Договоры контрагентов", нужно чтобы при выборе договоров учитывалось заполнение этих объектов, что если они не заполнены выводились сообщения
Функция ОригиналПодписан()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| АРБИС_ДоговорНаКомплексноеОбслуживание.Ссылка
|ИЗ
| Документ.АРБИС_ДоговорНаКомплексноеОбслуживание КАК АРБИС_ДоговорНаКомплексноеОбслуживание
|ГДЕ
| АРБИС_ДоговорНаКомплексноеОбслуживание.ОригиналПолучен = &ОригиналПолучен";
Запрос.УстановитьПараметр("ОригиналПолучен", Истина);
ТЗ = Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из ТЗ Цикл
Если Стр.Ссылка.Альфа_Абонентский Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
//Возврат Истина;
КонецФункции
Функция Подписан()
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| АРБИС_ДоговорНаКомплексноеОбслуживание.Ссылка
|ИЗ
| Документ.АРБИС_ДоговорНаКомплексноеОбслуживание КАК АРБИС_ДоговорНаКомплексноеОбслуживание
|ГДЕ
| АРБИС_ДоговорНаКомплексноеОбслуживание.Подписан = &Подписан";
Запрос.УстановитьПараметр("Подписан",Истина);
ТЗ = Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из ТЗ Цикл
Если Стр.Ссылка.Альфа_Абонентский Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
//Возврат Ложь;
КонецФункции
Процедура ДоговорКонтрагентаПриИзменении(Элемент)
Если Подписан() = Ложь Тогда
ЭтаФорма.ТолькоПросмотр = Истина;
Сообщить("Договор не подписан!");
КонецЕсли;
Если ОригиналПодписан() = Ложь Тогда
ЭтаФорма.ТолькоПросмотр = Истина;
Сообщить("Оригинал договора не получен, когда будет???");
КонецЕсли;
КонецПроцедуры
По теме из базы знаний
- Загрузка данных из табличного документа в справочники, документы, планы видов характеристик, планы видов расчетов, планы счетов, бизнес-процессы, задачи, в движения документов, поточная загрузка документов (EXCEL, управляемые формы, универсальная)
- 50+ советов для успешной сдачи 1С: Специалист по платформе
- Как сдать экзамен 1С:Специалист по платформе?
- Работа с Ворд через СОМ-Объект
- Решения всех основных билетов для подготовки к Специалист ЗУП
Найденные решения
(5) так ссылка и передается и используется в функции в качестве параметра.
Я не знаю только как она там у тебя обзывается, предположил - что раз в процедуре "договорКонтрагентаПриИзменении", значит и реквизит называется "ДоговорКонтрагента"
и параметром передается
Я не знаю только как она там у тебя обзывается, предположил - что раз в процедуре "договорКонтрагентаПриИзменении", значит и реквизит называется "ДоговорКонтрагента"
и параметром передается
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3)
что-то перемудрил ты
в процедуре надо просто проверить соответствует ли выбранный договор условиям. Тут даже запрос никакой не нужен.
Делаем функцию
а в твою
что-то перемудрил ты
в процедуре надо просто проверить соответствует ли выбранный договор условиям. Тут даже запрос никакой не нужен.
Делаем функцию
&НаСервереБезКонтекста
Функция ДоговорСоответствует(ДоговорКлиента)
Если ДоговорКлиента.ОригиналПодписан и ДоговорКлиента.ОригиналПолучен тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
Показатьа в твою
Процедура ДоговорКонтрагентаПриИзменении(Элемент)
Если ДоговорСоответствует(Объект.ДоговорКонтрагента) Тогда
..делаем что надо
иначе
...информируем пользователя
КонецЕсли;
(5) так ссылка и передается и используется в функции в качестве параметра.
Я не знаю только как она там у тебя обзывается, предположил - что раз в процедуре "договорКонтрагентаПриИзменении", значит и реквизит называется "ДоговорКонтрагента"
и параметром передается
Я не знаю только как она там у тебя обзывается, предположил - что раз в процедуре "договорКонтрагентаПриИзменении", значит и реквизит называется "ДоговорКонтрагента"
и параметром передается
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот