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

Как получить ссылку документа основание

Автор User22112002333, 17 окт 2024, 15:20

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

User22112002333

Необходимо обратиться к документу основания, был написан данный путь

 ЗаказПокупателя = Источник.Ссылка.ЗаказПоставщику.ДокументОснование;
 
но при отладки кода не находит заказ поставщику

Поле объекта не обнаружено (ЗаказПоставщику)
{ОбщийМодуль.ОП_ОповещениеПользователейСервер.Модуль(4)}:        ЗаказПокупателя = Источник.Ссылка.ЗаказПоставщику.ДокументОснование;

Можно ли так получить ссылку или нужно писать запрос? Заранее благодарю за помощь

alexandr_ll

User22112002333, Что такое Источник? Прведите весь код

User22112002333

alexandr_ll,
Процедура ОП_ОповещениеПользователейОбработкаПроведения(Источник, Отказ, РежимПроведения) Экспорт
  ИспользоватьОповещение = Константы.ОП_ОповещениеПользователей.Получить();   
    Если ИспользоватьОповещение Тогда
            ЗаказПокупателя = Источник.Ссылка.ЗаказПоставщику.ДокументОснование;
            Если ЗначениеЗаполнено(ЗаказПокупателя) Тогда
            Пользователь = Источник.Ссылка.ДокументСсылка.ЗаказПоставщику.ДокументОснование.Ответственный;   
            Запрос = Новый Запрос;
            Запрос.УстановитьПараметр("Пользователь",Пользователь);
            Запрос.Текст =      "ВЫБРАТЬ
            |    ОП_ДублированиеОповещенийПользователям.Ссылка КАК Ссылка
            |ИЗ
            |    Справочник.ОП_ДублированиеОповещенийПользователям КАК ОП_ДублированиеОповещенийПользователям
            |ГДЕ
            |    ОП_ДублированиеОповещенийПользователям.Пользователь = &Пользователь
            |    И ОП_ДублированиеОповещенийПользователям.Ссылка.ПометкаУдаления = ЛОЖЬ";
           
            Результат = Запрос.Выполнить().Выбрать();
           
           
            Пока Результат.Следующий() Цикл
               
                НаборЗаписей = РегистрыСведений.ОП_ОповещениеПользователей.СоздатьНаборЗаписей();
               
                НаборЗаписей.Отбор.ДокументСобытие.Установить(Источник.Ссылка);
                НаборЗаписей.Прочитать();
                НаборЗаписей.Очистить();
               
                Если Результат.Ссылка.ДублироватьОповещения = Ложь Тогда 
                   
                    НоваяЗапись = НаборЗаписей.Добавить();
                    НоваяЗапись. ДокументСобытие = Источник.Ссылка;     
                    НоваяЗапись.ДополнительныйДокумент = ЗаказПокупателя;
                    НоваяЗапись.Период = Источник.Ссылка.Дата;
                    НоваяЗапись.Пользователь = Пользователь;
                    НоваяЗапись.ТекстСообщения = "Поступил товар по заказу клиента № " + ЗаказПокупателя.Номер + " , от "+ ЗаказПокупателя.Дата +    " . "+ Источник.Ссылка;
                    НаборЗаписей.Записать();
                   
                Иначе                     
                   
                    Для Каждого Строка Из Результат.Ссылка.ТабличнаяЧасть Цикл
                       
                        НоваяЗапись = НаборЗаписей.Добавить();
                        НоваяЗапись. ДокументСобытие = Источник.Ссылка;     
                        НоваяЗапись.ДополнительныйДокумент = ЗаказПокупателя;
                        НоваяЗапись.Период = Источник.Ссылка.Дата;
                        НоваяЗапись.Пользователь = Строка.ПользовательДляДублирования;
                        НоваяЗапись.ТекстСообщения = "Поступил товар по заказу клиента № " + ЗаказПокупателя.Номер + " , от "+ ЗаказПокупателя.Дата +    " . "+ Источник.Ссылка;
                       
                        НаборЗаписей.Записать();       
                       
                    КонецЦикла;
                КонецЕсли;   
            КонецЦикла;
        КонецЕсли;   
    КонецЕсли;
      КонецПроцедуры

Каримдат

Что в Источник прилетает при вызове процедуры?
И не забудьте параметр Пользователь установить в запрос.

User22112002333


antoneus

У нее есть реквизит ЗаказПоставщику? Или он все-таки называется ДокументОснование и там в том числе может находиться документ с типом ЗаказПоставщику?

User22112002333

antoneus, у нее есть реквизит документ основания, и там заказ поставщика Снимок2.PNG Снимок3.PNG 

antoneus

Поэтому надо писать так:

ЗаказПокупателя = Источник.ДокументОснование;
Всё.

antoneus

И дальше

Пользователь = ЗаказПокупателя.Ответственный;

User22112002333


Теги: УНФ 

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

Рейтинг@Mail.ru

Поиск