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

Условие на выполнение

Автор Jack_78, 10 дек 2015, 08:35

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

Jack_78

Здравствуйте!
Несложный вопрос, но не могу правильно записать Должно выполняться условие по Клинту:

          Если 
Объект.Клиент = ??? // Должно выполняться условие Клиент - на Предоплате.
// В правочнике клиенты каждому клиенту задано предопределенное значение: Предоплата или ПоФакту 
И Объект.МакетСогласовал <> Дата(1, 1, 1)
И Объект.СчетКлиентуОплачен = Ложь Тогда
Сообщить ("Вы не можете отдавать этот ЗАКАЗ В РАБОТУ, так как клиент " + Объект.Клиент + " должен предварительно ПРОИЗВЕСТИ ОПЛАТУ"); 
Отказ = Истина;
КонецЕсли;

ls600

Предоплата и По Факту это объект Перечисление? если да то можно так сделать
Если Объект.Клиент = Перечисления.НазваниеОбъектаПеречисления.Предоплата(или ПоФакту) Тогда
....
КонецЕсли;


Jack_78

Цитата: ls600 от 10 дек 2015, 08:42
Предоплата и По Факту это объект Перечисление? если да то можно так сделать
Если Объект.Клиент = Перечисления.НазваниеОбъектаПеречисления.Предоплата(или ПоФакту) Тогда
....
КонецЕсли;

Поясню - работаю в модуле формы документа.
Сам Объект.Клиент это ссылка на конкретного Клиента из справочника Клиенты (Справочник.Клиенты) а у Клиента есть предопределенное свойство Предоплата или ПоФакту.
То есть в поле на форме у меня, например, отображается:
Клиент: ООО "Предприятие"
А исходя из предложенного Вами варианта в поле формы документа должно было отображаться собственно значение Предоплата или ПоФакту.

Добавлено: 10 дек 2015, 11:23


Попробовал так:
Добавил на форму Поле, Задал ему ссылочный тип. В свойствах 1с указывает ПутьКобъекту: Объект.Клиент.ВариантРаботыСКлиентом.Ссылка
Использовал это в коде.


                Если
                Объект.Клиент.ВариантРаботыСКлиентом.Ссылка = ПредопределенноеЗначение("Перечисление.ВариантРаботыСКлиентом.Предоплата")
И Объект.МакетСогласовал <> Дата(1, 1, 1)
И Объект.СчетКлиентуОплачен = Ложь Тогда
Сообщить ("Вы не можете отдавать этот ЗАКАЗ В РАБОТУ, так как клиент " + Объект.Клиент + " должен предварительно ПРОИЗВЕСТИ ОПЛАТУ"); 
Отказ = Истина;
КонецЕсли;


По синтаксису проходит. Но при обработке события в отладке пишет:
Документ.ПечатныеФормыИзготовление.Форма.ФормаДокумента.Форма(39)}: Поле объекта не обнаружено (ВариантРаботыСКлиентом)
      Если Объект.Клиент.ВариантРаботыСКлиентом.Ссылка = ПредопределенноеЗначение("Перечисление.ВариантРаботыСКлиентом.Предоплата")
Предполагаю, что связано возможно с вариантами (клиент или сервер) исполнения процедуры.
Прав?

Теги:

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

Рейтинг@Mail.ru

Поиск