Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пропуск пустых значений
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
XacTLa
1С:Предприятие 8.3 (8.3.6.2237)
1С:ERP Управление предприятием 2.0 (2.0.9.66)

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

        
        ТабличныйДокумент.Вывести(ОбластьСтроки);
        КонецЦикла;

Проблема вся в том что, если нет номера заказа в документе перемещения, выдает ошибку. как сделать так что бы оставлять пустые строки где нет номера а где есть заполнять ?
Vofka
Где ошибку выдает, какую?
XacTLa
Vofka @ Сегодня, 12:04 необходимо зарегистрироваться для просмотра ссылки ,
ОбластьСтроки.Параметры.ЗаказКлиента = ТекущаяСтрока.ЗаказНаПеремещение.ДокументОснование.Номер;
XacTLa
XacTLa @ Вчера, 13:51 необходимо зарегистрироваться для просмотра ссылки ,
{ВнешняяОбработка.Перемещение.МодульОбъекта(78)}: Поле объекта не обнаружено (ЗаказКлиента)
ОбластьСтроки.Параметры.ЗаказКлиента = ТекущаяСтрока.ЗаказНаПеремещение.ДокументОснование.Номер;
Vofka
XacTLa @ Сегодня, 9:21 необходимо зарегистрироваться для просмотра ссылки ,
у вас в области макета ОбластьСтроки нету параметра с именем ЗаказКлиента.
XacTLa
Vofka @ Сегодня, 9:36 необходимо зарегистрироваться для просмотра ссылки ,
Есть
РоманМин
возможно надо использовать ЕСТЬNULL



-------------------------------------------------------------------------------------------------------
не судите, я только учусь, прочитал половину Практического пособия разработчика
awp
Попробуйте заполнение ячейки "ЗаказКлиента" сделать текст. сохранить, сделать параметр. сохранить.
XacTLa
awp @ Вчера, 19:56 необходимо зарегистрироваться для просмотра ссылки ,
Не работает
denis84
XacTLa @ 13.10.21, 18:41 необходимо зарегистрироваться для просмотра ссылки ,

У Вас получается в не которых документах заказ на перемещение пустой ДокументОснование?

а в запросе Вы что сравниваете "номер" с ссылкой? Вот ту мне не очень понятно

|ГДЕ
|    ЗаказНаПеремещение.ДокументОснование.Номер = &ПустаяСсылка";
XacTLa
denis84 @ Сегодня, 11:10 необходимо зарегистрироваться для просмотра ссылки ,
Я пробовал, написал так с пустой ссылкой, Да у меня в перемещении есть без номера заказа пустой строкой

ОбластьСтроки.Параметры.ЗаказНаПеремещение = ТекущаяСтрока.ЗаказНаПеремещение.Номер;
        Запрос = Новый Запрос;
        Запрос.Текст ="ВЫБРАТЬ
                      |    ЗаказНаПеремещение.Номер
                      |ИЗ
                      |    Документ.ЗаказНаПеремещение КАК ЗаказНаПеремещение";
                      Запрос = Новый Запрос;
        Запрос.Текст ="ВЫБРАТЬ
                      |    ЗаказНаПеремещение.ДокументОснование.Номер
                      |ИЗ
                      |    Документ.ЗаказНаПеремещение КАК ЗаказНаПеремещение";

Сейчас так и это не работает
denis84
XacTLa @ Сегодня, 11:18 необходимо зарегистрироваться для просмотра ссылки ,
Хорошо, вот Вы написали строку:

ОбластьСтроки.Параметры.ЗаказКлиента = ТекущаяСтрока.ЗаказНаПеремещение.ДокументОснование.Номер;


а потом идет запрос, что Вы хотите получить в запросе? Из запроса получаем выборку и потом там можно работать с данными

а если так написать:

ОбластьСтроки.Параметры.ЗаказКлиента = ?(ТекущаяСтрока.ЗаказНаПеремещение.ДокументОснование.ПустаяСсылка(),"",ТекущаяСтрока.ЗаказНаПеремещение.ДокументОснование.Номер;
XacTLa
denis84 @ Сегодня, 14:11 необходимо зарегистрироваться для просмотра ссылки ,
Из запроса я получаю распоряжение это реализация, а с реализации документ основания я получаю номер Заказа Клиента
XacTLa
Запрос.Текст =
          "ВЫБРАТЬ
          |    ВЫБОР
          |        КОГДА ЗаказНаПеремещение.ДокументОснование <> ЗНАЧЕНИЕ(Документ.заказКлиента.ПустаяСсылка)
          |            ТОГДА ЗаказНаПеремещение.ДокументОснование.Номер
          |        ИНАЧЕ "" ""
          |    КОНЕЦ КАК Номер
          |ИЗ
          |    Документ.ЗаказНаПеремещение КАК ЗаказНаПеремещение
          |ГДЕ
          |    ЗаказНаПеремещение.Ссылка = &Ссылка";
          
          Запрос.УстановитьПараметр("ссылка", СсылкаНаОбъект);
        
         Результат = Запрос.Выполнить();
        
     Если не Результат.Пустой() ТОгда
    Выборка = Результат.Выбрать();
    
    Выборка.Следующий();
        ОбластьСтроки.Параметры.ЗаказКлиента =  Выборка.ДокументОснование.Номер;
    КонецЕсли;

Пока дошел до этого, но теперь при этом коде не выводит номер заказа
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.