Имя: Пароль:
1C
1С v8
Неправильный вывод Номенклатуры
0 RomakON
 
13.06.17
14:27
Добрый День!
Подскажите пожалуйста, почему может зацикливаться Номенклатура, которая не имеет уникального имени?

Если беру данные о "Количестве" из "ПартииТоваровНаСкладах.Количество" то,
В документе 13 номенклатур, (1+1+1+1+1+1+1+1+1+1+1+2 = 13)
А в печатной форме (13+13+13+13+13+13+13+13+13+13+13+13=156)
http://forum.infostart.ru/upload/forum/upload/6ec/6ec86e0417b5d3f203afed7d3c3598c2

Если беру данные о "Количестве" из "ОтчетОРозничныхПродажахТовары.Количество" то,
в печатной форме "Канцтовары" отображаются правильно, но неправильно отображается разделение (Комиссионный/ не комиссионный)
http://forum.infostart.ru/upload/forum/upload/bb0/bb0fc4522a4615614caac7e093a8ef6b

Связь;
http://forum.infostart.ru/upload/forum/upload/d69/d69ba0b67f2956381226b210b33c1bf5

Код;
Функция Печать() Экспорт
    
        ТабДокумент = Новый ТабличныйДокумент;
        ТзИнгридиенты = Новый ТаблицаЗначений();
        ТабДокумент = Новый ТабличныйДокумент;
        Макет = ПолучитьМакет("Макет");
        
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ОтчетОРозничныхПродажахТовары.Цена КАК Цена,
    |    ОтчетОРозничныхПродажахТовары.Номенклатура.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    |    ОтчетОРозничныхПродажахТовары.Номенклатура.Ссылка КАК Номенклатура,
    |    ПартииТоваровНаСкладах.СтатусПартии КАК СтатусПартии,
    |    ЕСТЬNULL(ПартииТоваровНаСкладах.Количество, 0) КАК Количество1,
    |    ОтчетОРозничныхПродажахТовары.Количество КАК Количество,
    |    ОтчетОРозничныхПродажахТовары.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    |    ОтчетОРозничныхПродажахТовары.Сумма КАК Сумма
    |ИЗ
    |    Документ.ОтчетОРозничныхПродажах.Товары КАК ОтчетОРозничныхПродажахТовары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах
    |        ПО ОтчетОРозничныхПродажахТовары.Ссылка = ПартииТоваровНаСкладах.Регистратор
    |            И ОтчетОРозничныхПродажахТовары.Номенклатура = ПартииТоваровНаСкладах.Номенклатура
    |ГДЕ
    |    ОтчетОРозничныхПродажахТовары.Ссылка = &Ссылка
    |    И ПартииТоваровНаСкладах.Регистратор = &Ссылка
    |ИТОГИ
    |    СУММА(Количество1),
    |    СУММА((Цена - Цена * ПроцентСкидкиНаценки / 100) * Количество1) КАК Сумма
    |ПО
    |    СтатусПартии,
    |    НоменклатурнаяГруппа";
            
     Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);  
РезультатЗапроса = Запрос.Выполнить();
//Шапка
    ВыборкаСтатус = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "СтатусПартии");
    Пока ВыборкаСтатус.Следующий() Цикл
        ОбластьДанные1 = Макет.ПолучитьОбласть("Шапка");
        ВыСтСтПа = ВыборкаСтатус.СтатусПартии;
        ОбластьДанные1.Параметры.СтатусПартии =
        ?(ВыСтСтПа = "Купленный", "Продажи фирмы",
        ?(ВыСтСтПа = "На комиссию", "Комиссионные продажи" ,ВыСтСтПа));
        ТабДокумент.Вывести(ОбластьДанные1);    
//Группа
    ВыборкаГруппа = ВыборкаСтатус.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, "НоменклатурнаяГруппа");    
    Пока ВыборкаГруппа.Следующий() Цикл
        ОбластьДанные2 = Макет.ПолучитьОбласть("Группа");
        ОбластьДанные2.Параметры.НоменклатурнаяГруппа = ВыборкаГруппа.НоменклатурнаяГруппа;
    //Итог
        ОбластьДанные2.Параметры.КолИтог = ВыборкаГруппа.Количество1;
        ОбластьДанные2.Параметры.СуммаИтог = ВыборкаГруппа.Сумма;
        ТабДокумент.Вывести(ОбластьДанные2);                                                
//Данные
    ВыборкаДетальныеЗаписи = ВыборкаГруппа.Выбрать();
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    
        ОбластьДанные3 = Макет.ПолучитьОбласть("Данные");
        ОбластьДанные3.Параметры.Номенклатура =  ВыборкаДетальныеЗаписи.Номенклатура;
        ОбластьДанные3.Параметры.Колво  =  ВыборкаДетальныеЗаписи.Количество1;
        ЦенаСоСкидкой =  ВыборкаДетальныеЗаписи.Цена * ВыборкаДетальныеЗаписи.ПроцентСкидкиНаценки/100;
        ОбластьДанные3.Параметры.Цена = ВыборкаДетальныеЗаписи.Цена;
        ОбластьДанные3.Параметры.Сумма = (ОбластьДанные3.Параметры.Цена - ЦенаСоСкидкой)*ВыборкаДетальныеЗаписи.Количество1;
        ТабДокумент.Вывести(ОбластьДанные3);
     Конеццикла;  
     КонецЦикла;
     КонецЦикла;
    Возврат ТабДокумент;
КонецФункции

Фото документа
http://forum.infostart.ru/upload/forum/upload/44d/44d69519ab0e27f4552ac6cf351c7c0a
1 mexanik_96
 
13.06.17
14:37
итоги?
2 RomakON
 
13.06.17
14:40
(1) Подскажите пожалуйста, что нужно добавить в итоги? "НомерСтроки" не помог
3 h-sp
 
13.06.17
14:50
(2) сверни партии прежде чем связывать.
4 mexanik_96
 
13.06.17
14:52
(3) вангую - "дак свернул же(итоги же!)" итоги!=сгруппировать, хотя хз какая там задача у автора
5 RomakON
 
13.06.17
14:54
(3) Прошу прощения за глупый вопрос, но что значит "Сверни Партии"...;)
Ошибка? Это не ошибка, это системная функция.