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

Получить программно значение реквизита документа "Заказ Покупателя" в УТ

Автор Alter, 02 мая 2018, 14:59

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

Alter

Добрый день, форумчане,

Может, кто сможет подсказать пользователю, только начавшему постигать азы программирования, как поступить. Нужно, чтобы при открытии документа "Заказ клиента", проверялся статус "вариант обеспечения" по товарам в табличной части и, если он установлен как "Отгрузить", выдавалось определенное сообщение, например, "Товары готовы к отгрузке". В форме документа реквизит "ТоварыВариантОбеспечения" прописан, в свойствах указан путь к данным "Объект.Товары.ВариантОбеспечения". В модуле формы в процедуре ПриОкрытии я пишу

Если Найти(Объект.Товары.ВариантОбеспечения,"Отгрузить")=1 Тогда
Сообщить...

Но при проверке в пользовательском режиме при попытке открыть заказ получаю сообщение, что Поле Объекта не обнаружено(Вариант Обеспечения).

Понимаю, что, возможно,делаю что-то совсем неправильное. Прошу подсказать, в каком направлении двигаться, чтобы такую проверку все же получить.

 

alex0402

Цитата: Alter от 02 мая 2018, 14:59Если Найти(Объект.Товары.ВариантОбеспечения,"Отгрузить")=1 Тогда
Сообщить...

1) необходимо обращение к базе данных - на сервере
2) необходимо только для существующих объектов.
вывод данные проверять
в процедуре ПриЧтенииНаСервере.
Спасибо за Сказать спасибо

Alter

Цитата: alex0402 от 02 мая 2018, 15:17
Цитата: Alter от 02 мая 2018, 14:59Если Найти(Объект.Товары.ВариантОбеспечения,"Отгрузить")=1 Тогда
Сообщить...

1) необходимо обращение к базе данных - на сервере
2) необходимо только для существующих объектов.
вывод данные проверять
в процедуре ПриЧтенииНаСервере.

Спасибо!
Но на сервере нельзя вывести сообщения пользователю.
И еще у меня проверяются два условия для вывода сообщения:
1) Наличие статуса "Отгрузить" - собственно, мой вопрос
2) Наличии определенного Соглашения.

Второе условие проверяется на клиенте без проблем Если Найти(Объект.Соглашение,"Типовое соглашение")=1
В вот первое..

Можно ли как-то результат проверки на сервере связать с процедурой ПриОткрытии на клиенте?

alex0402

Цитата: Alter от 02 мая 2018, 15:46Но на сервере нельзя вывести сообщения пользователю.

кто сказал?

СообщениеПользователю

Цитировать

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).


Спасибо за Сказать спасибо

Alter

Цитата: alex0402 от 02 мая 2018, 16:35
Цитата: Alter от 02 мая 2018, 15:46Но на сервере нельзя вывести сообщения пользователю.

кто сказал?

СообщениеПользователю

Цитировать

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).


Спасибо.. Все перенесла в процедуру ПриЧтенииНаСервере. Но при открытии Заказа по-прежнему:
Поле Объекта не обнаружено(Вариант Обеспечения)

alexandr_ll

Возможно отсутствует цикл по  табличной части "Товары"

alex0402

Цитата: Alter от 02 мая 2018, 18:38Но при открытии Заказа по-прежнему:

Цитата: Alter от 02 мая 2018, 14:59Объект.Товары.ВариантОбеспечения

Это нужно получать запросом.

Запрос = Новый Запрос(
    ВЫБРАТЬ ВариантОбеспечения ИЗ
        Документ.ИмяДокумента.Товары КАК Товары
    ГДЕ
        Товары.Ссылка = &Ссылка
    И Товары.ВариантОбеспечения = &Вариант

);
Запрос.УстановитьПараметр("Ссылка",Объект.Ссылка);
Запрос.УстановитьПараметр("Вариант",НужныйВариант);

Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Сообщение
КонецЕсли;
Спасибо за Сказать спасибо

Alter


Теги:

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

Рейтинг@Mail.ru

Поиск