Имя: Пароль:
1C
 
Как отключить объединение одинаковых позиций в обработке табличной части?
🠗 (Волшебник 09.02.2017 15:55)
0 BayJay
 
09.02.17
15:55
Всем привет! Возникла такая проблема, обьясню все по порядку.
Создаем новый отчет о розничных продажах, нажимаем "Изменить" -> "Добавить из документа" -> "Отчеты о розничных продажах", выбираем нужный отчет и нажимаем "Выполнить".. Обработка автоматически складывает одинаковые позиции в одну, хотя нам нужно чтобы они были отдельно. Что нужно закомментить и где?)
1 Волшебник
 
модератор
09.02.17
15:55
мдя...
2 Волшебник
 
модератор
09.02.17
15:55
3 1Снеговик
 
гуру
09.02.17
15:56
Группировку закомментить в запросе)
4 BayJay
 
10.02.17
07:43
В конфигураторе нашел вот это. Что нужно закомментировать?

[quote]
    Если СтрокаТабличнойЧасти <> Неопределено Тогда

            Если СтрокаТабличнойЧасти.Пометка Тогда
                // Нашли, увеличиваем количество в первой найденной строке.
                СтрокаТабличнойЧасти.Количество = СтрокаТабличнойЧасти.Количество + Количество;

                // Рассчитать реквизиты табличной части.
                ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
                Если ЭлементыФормы.Товары.Колонки.СуммаНДС.Видимость Тогда
                    ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
                КонецЕсли;
                Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("КоличествоМест", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                    ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
                КонецЕсли;
            КонецЕсли;

        Иначе

            // Не нашли - добавляем новую строку.
            СтрокаТабличнойЧасти = ТабличнаяЧасть.Добавить();
            СтрокаТабличнойЧасти.Пометка              = Истина;
            СтрокаТабличнойЧасти.Номенклатура         = Номенклатура;
            СтрокаТабличнойЧасти.Количество           = Количество;
            СтрокаТабличнойЧасти.ЕдиницаИзмерения     = ЕдиницаИзмерения;
            СтрокаТабличнойЧасти.ЕдиницаИзмеренияМест = ЕдиницаИзмеренияМест;
            СтрокаТабличнойЧасти.Коэффициент          = СтрокаТабличнойЧасти.ЕдиницаИзмерения.Коэффициент;

            СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Характеристика;
            СтрокаТабличнойЧасти.СерияНоменклатуры          = Серия;

            СтрокаТабличнойЧасти.Качество = Качество;
            СтрокаТабличнойЧасти.Цена     = ЦенаВВалютеДокумента;

            Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентСкидкиНаценки", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                СтрокаТабличнойЧасти.ПроцентСкидкиНаценки= СтрокаТаблицы.ПроцентСкидкиНаценки;
            КонецЕсли;

            Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ОграничениеСкидкиНаценки", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                СтрокаТабличнойЧасти.ОграничениеСкидкиНаценки = ОграничениеСкидкиНаценки;
            КонецЕсли;

            Если мЕстьСклад
               И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("Склад", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                СтрокаТабличнойЧасти.Склад = Склад;
            КонецЕсли;

            ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);

            // Рассчитываем реквизиты табличной части.
            ОбработкаТабличныхЧастей.ЗаполнитьПроцентРозничнойНаценкиТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);

            Если ОбщегоНазначения.ЕстьРеквизитДокумента("ПроцентРозничнойНаценки", мМетаданныеДокумента) Тогда
                ОбработкаТабличныхЧастей.РассчитатьРозничнуюЦенуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, мВалютаРегламентированногоУчета);
            КонецЕсли;

            ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);

            Если ЭлементыФормы.Товары.Колонки.СуммаНДС.Видимость Тогда
                ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
            КонецЕсли;

            Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("КоличествоМест", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
            КонецЕсли;

        КонецЕсли; // СтрокаТабличнойЧасти <> Неопределено
    КонецЦикла;

    ПересчитатьАвтоматическиеСкидки();
[/quote]
5 BayJay
 
10.02.17
07:47
чуть больше скопировал с конфигуратора

[quote]
// Ищем выбранную позицию в таблице подобранной номенклатуры.
        //  Если найдем - увеличим количество; не найдем - добавим новую строку.
        СтруктураОтбора = Новый Структура();
        СтруктураОтбора.Вставить("Номенклатура", Номенклатура);

        Если Характеристика <> Неопределено
             И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ХарактеристикаНоменклатуры", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("ХарактеристикаНоменклатуры", Характеристика);
        КонецЕсли;

        Если Серия <> Неопределено
             И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("СерияНоменклатуры", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("СерияНоменклатуры", Серия);
        КонецЕсли;

        Если ЕдиницаИзмерения <> Неопределено
             И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ЕдиницаИзмерения", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("ЕдиницаИзмерения", ЕдиницаИзмерения);
        КонецЕсли;

        Если ЕдиницаИзмеренияМест <> Неопределено
             И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ЕдиницаИзмеренияМест", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("ЕдиницаИзмеренияМест", СтрокаТаблицы.ЕдиницаИзмеренияМест);
        КонецЕсли;

        Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("Цена", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("Цена", Окр(ЦенаВВалютеДокумента, 2));
        КонецЕсли;

        Если ПроцентСкидкиНаценки <> Неопределено
            И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентСкидкиНаценки", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("ПроцентСкидкиНаценки", ПроцентСкидкиНаценки);
        КонецЕсли;

        Если ОграничениеСкидкиНаценки <> Неопределено
            И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ОграничениеСкидкиНаценки", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("ОграничениеСкидкиНаценки", ОграничениеСкидкиНаценки);
        КонецЕсли;

        Если мЕстьСклад
           И Склад <> Неопределено
           И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("Склад", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("Склад", Склад);
        КонецЕсли;

        Если Качество <> Неопределено
           И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("Качество", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
            СтруктураОтбора.Вставить("Качество", Качество);
        КонецЕсли;

        СтрокаТабличнойЧасти = ОбработкаТабличныхЧастей.НайтиСтрокуТабЧасти(ТабличнаяЧасть, СтруктураОтбора);

        Если СтрокаТабличнойЧасти <> Неопределено Тогда

            Если СтрокаТабличнойЧасти.Пометка Тогда
                // Нашли, увеличиваем количество в первой найденной строке.
                СтрокаТабличнойЧасти.Количество = СтрокаТабличнойЧасти.Количество + Количество;

                // Рассчитать реквизиты табличной части.
                ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
                Если ЭлементыФормы.Товары.Колонки.СуммаНДС.Видимость Тогда
                    ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
                КонецЕсли;
                Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("КоличествоМест", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                    ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
                КонецЕсли;
            КонецЕсли;

        Иначе

            // Не нашли - добавляем новую строку.
            СтрокаТабличнойЧасти = ТабличнаяЧасть.Добавить();
            СтрокаТабличнойЧасти.Пометка              = Истина;
            СтрокаТабличнойЧасти.Номенклатура         = Номенклатура;
            СтрокаТабличнойЧасти.Количество           = Количество;
            СтрокаТабличнойЧасти.ЕдиницаИзмерения     = ЕдиницаИзмерения;
            СтрокаТабличнойЧасти.ЕдиницаИзмеренияМест = ЕдиницаИзмеренияМест;
            СтрокаТабличнойЧасти.Коэффициент          = СтрокаТабличнойЧасти.ЕдиницаИзмерения.Коэффициент;

            СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Характеристика;
            СтрокаТабличнойЧасти.СерияНоменклатуры          = Серия;

            СтрокаТабличнойЧасти.Качество = Качество;
            СтрокаТабличнойЧасти.Цена     = ЦенаВВалютеДокумента;

            Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ПроцентСкидкиНаценки", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                СтрокаТабличнойЧасти.ПроцентСкидкиНаценки= СтрокаТаблицы.ПроцентСкидкиНаценки;
            КонецЕсли;

            Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("ОграничениеСкидкиНаценки", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                СтрокаТабличнойЧасти.ОграничениеСкидкиНаценки = ОграничениеСкидкиНаценки;
            КонецЕсли;

            Если мЕстьСклад
               И ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("Склад", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                СтрокаТабличнойЧасти.Склад = Склад;
            КонецЕсли;

            ОбработкаТабличныхЧастей.ЗаполнитьСтавкуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);

            // Рассчитываем реквизиты табличной части.
            ОбработкаТабличныхЧастей.ЗаполнитьПроцентРозничнойНаценкиТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);

            Если ОбщегоНазначения.ЕстьРеквизитДокумента("ПроцентРозничнойНаценки", мМетаданныеДокумента) Тогда
                ОбработкаТабличныхЧастей.РассчитатьРозничнуюЦенуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект, мВалютаРегламентированногоУчета);
            КонецЕсли;

            ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);

            Если ЭлементыФормы.Товары.Колонки.СуммаНДС.Видимость Тогда
                ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
            КонецЕсли;

            Если ОбщегоНазначения.ЕстьРеквизитТабЧастиДокумента("КоличествоМест", мМетаданныеДокумента, мИмяТабличнойЧастиДокумента) Тогда
                ОбработкаТабличныхЧастей.РассчитатьКоличествоМестТабЧасти(СтрокаТабличнойЧасти, ДокументОбъект);
            КонецЕсли;

        КонецЕсли; // СтрокаТабличнойЧасти <> Неопределено
    КонецЦикла;

[/quote]