Имя: Пароль:
1C
 
Одно значение в результате запроса
0 myr4ik07
 
03.11.14
16:45
Добрый день. При выполнении кода получаю в печатной форме и для товара в которого нет серийных и для в которого есть все серийные номера которые есть в документе

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

хотел бы условие добавить, что мол где нет серийного то должно быть пусто или пропущенно выполнение кода
Подскажите пожалуйста как такое сделать?
1 zulu_mix
 
03.11.14
17:17
если серийныйномер = "" тогда продолжить конецесли;
2 КонецЦикла
 
03.11.14
17:41
В запросе нельзя этого сделать?
Вместе с ВыборкаДетальныеЗаписи.СерийныйНомер.Владелец = ВыборкаДетальныеЗаписи.Номенклатура ?
Нафига вам дали подобие SQL-синтаксиса, восьмерочники?
3 Enders
 
03.11.14
18:10
(0) 1. Соединение по ссылке добавь
    2. ВыборкаДетальныеЗаписи.СерийныйНомер.Владелец = ВыборкаДетальныеЗаписи.Номенклатура Тоже в соединения и убрать из цикла
    3. Где  ПеремещениеТоваровСерийныеНомера.СерийныйНомер <> ""
4 Reaper_1c
 
03.11.14
20:16
(3) Умри в муках:
1. За корректностью указания серийного номера следят механизмы ввода информации, в табличной части не может быть чужих серийных номеров. Зная это городить соединение через 2 точки - особенное извращение.
2. Сравнивать нужно с Null, а за сравнение с пустой строкой  - пожизненный эцих с гвоздями. И да, сравнение осуществляется при помощи оператора "Есть null".

(2) Да все у нас нормально, не переживай. Самая большая проблема восьмерки - разработку на ней пытается вести кто попало...
5 Enders
 
04.11.14
13:22
(4) Только вместе с Вами)
1. Не работаю с серийниками;
2. Откуда там Null при внутреннем соединении?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший