Имя: Пароль:
1C
1С v8
СКД СоединитьСтроки
,
0 Pchelinka
 
27.03.18
13:11
День добрый)

Помогите пж побороть) не соединяются в одну ячейку данные колонки из ТЧ, выводится отдельно задваивая данные отчета(( Есть док ЧекККА, в нем несколько ТЧ мне нужно вывести данные с трех ТЧ сгуппировав по складу, ДисконтнойКарте с владельцем, а потом уж группировка по номенклатуре с детализацией разной из ТЧ Товары, с ТЧ Акции получить вид акции, тут может быть несколько строк в целом на данный док поэтому нужно сгруппировать в одно значение и выводить напротив каждой номенклатуры этого документа, пока он выводит столько раз номенклатуру сколько строк на в этой ТЧ_Акции(( Пытаюсь это решить так, на закладке ВычисляемоеПоле, добавила ПутьКДанным-МассивАкции; Выражение- Массив(Вид_Акции) и в Ресурсы:Поле- МассивАкции;выражение-СоединитьСтроки(Вид_Акции,",","") но пока без хэппиэнда..

Вот и код моего отчета если что...

ВЫБРАТЬ
    ЧекККМТовары.Номенклатура,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА ЧекККМТовары.Количество
            ИНАЧЕ -ЧекККМТовары.Количество
        КОНЕЦ) КАК Количество,
    ЧекККМТовары.Ссылка.Склад,
    ЧекККМТовары.Ссылка.Дата,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ДисконтнаяКарта ЕСТЬ NULL
            ТОГДА 0
        ИНАЧЕ ЧекККМТовары.Ссылка.ДисконтнаяКарта
    КОНЕЦ КАК ДисконтнаяКарта,
    ЧекККМТовары.ХарактеристикаНоменклатуры,
    ЧекККМТовары.Ссылка КАК Документ,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ЧекККМТовары.Ссылка.ИспользованиеБонусов) КАК ИспользованиеБонусов,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА ЧекККМТовары.Сумма
            ИНАЧЕ -ЧекККМТовары.Сумма
        КОНЕЦ) КАК Сумма,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА -ЧекККМТовары.СкидкаСуммойРучная
            ИНАЧЕ ЧекККМТовары.СкидкаСуммойРучная
        КОНЕЦ) КАК СкидкаРучнаяСуммой,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА -ЧекККМТовары.СкидкаПроцентомАвто
            ИНАЧЕ ЧекККМТовары.СкидкаПроцентомАвто
        КОНЕЦ) КАК СкидкаАвтоматическая,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА -ЧекККМТовары.СкидкаПроцентомРучная
            ИНАЧЕ ЧекККМТовары.СкидкаПроцентомРучная
        КОНЕЦ) КАК СкидкаРучнаяПроцентом,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА ЧекККМТовары.СуммаБонусы
            ИНАЧЕ -ЧекККМТовары.СуммаБонусы
        КОНЕЦ) КАК БонусыНачисленные,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА -ЧекККМТовары.СкидкаСуммойБонус
            ИНАЧЕ ЧекККМТовары.СкидкаСуммойБонус
        КОНЕЦ) КАК СкидкаИспользованыБонусы,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА -ЧекККМТовары.СуммаСертификата
            ИНАЧЕ ЧекККМТовары.СуммаСертификата
        КОНЕЦ) КАК Сертификат,
    СУММА(ЧекККМТовары.Цена * ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА ЧекККМТовары.Количество
            ИНАЧЕ -ЧекККМТовары.Количество
        КОНЕЦ) КАК СуммаБезСкидки,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА -ЧекККМТовары.СписанноБонусовВозврат
            ИНАЧЕ ЧекККМТовары.СписанноБонусовВозврат
        КОНЕЦ) КАК СписанноБонусовВозврат,
    ЧекККМТовары.СА_Продавец,
    ЧекККМТовары.ПроцентБонус,
    СУММА(ВЫБОР
            КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
                ТОГДА ЧекККМТовары.СуммаБонусы
            ИНАЧЕ -ЧекККМТовары.СуммаБонусы
        КОНЕЦ) КАК СуммаБонусовНачислено,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ВладелецДисконтнойКарты ЕСТЬ NULL
            ТОГДА 0
        ИНАЧЕ ЧекККМТовары.Ссылка.ВладелецДисконтнойКарты
    КОНЕЦ КАК ВладелецДК,
    ЧекККМТовары.Номенклатура.Артикул КАК Артикул,
    ЧекККМТовары.Ссылка.КассаККМ КАК Касса,
    ЧекККМТовары.Номенклатура.Модель КАК Модель,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
            ТОГДА ЧекККМТовары.Цена
        ИНАЧЕ -ЧекККМТовары.Цена
    КОНЕЦ КАК Цена,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
            ТОГДА ЧекККМТовары.Сумма / ЧекККМТовары.Количество
        ИНАЧЕ -(ЧекККМТовары.Сумма / ЧекККМТовары.Количество)
    КОНЕЦ КАК ЦенаСоСкидкой
ПОМЕСТИТЬ ТаблицаЧеков
ИЗ
    Документ.ЧекККМ.Товары КАК ЧекККМТовары
ГДЕ
    ЧекККМТовары.Ссылка.Проведен = ИСТИНА
    И ЧекККМТовары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2

СГРУППИРОВАТЬ ПО
    ЧекККМТовары.Номенклатура,
    ЧекККМТовары.Ссылка.Склад,
    ЧекККМТовары.Ссылка.Дата,
    ЧекККМТовары.ХарактеристикаНоменклатуры,
    ЧекККМТовары.Ссылка,
    ЧекККМТовары.СА_Продавец,
    ЧекККМТовары.ПроцентБонус,
    ЧекККМТовары.Номенклатура.Артикул,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ДисконтнаяКарта ЕСТЬ NULL
            ТОГДА 0
        ИНАЧЕ ЧекККМТовары.Ссылка.ДисконтнаяКарта
    КОНЕЦ,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ВладелецДисконтнойКарты ЕСТЬ NULL
            ТОГДА 0
        ИНАЧЕ ЧекККМТовары.Ссылка.ВладелецДисконтнойКарты
    КОНЕЦ,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
            ТОГДА ЧекККМТовары.Цена
        ИНАЧЕ -ЧекККМТовары.Цена
    КОНЕЦ,
    ЧекККМТовары.Ссылка.КассаККМ,
    ЧекККМТовары.Номенклатура.Модель,
    ВЫБОР
        КОГДА ЧекККМТовары.Ссылка.ВидОперации <> &Возврат
            ТОГДА ЧекККМТовары.Сумма / ЧекККМТовары.Количество
        ИНАЧЕ -(ЧекККМТовары.Сумма / ЧекККМТовары.Количество)
    КОНЕЦ
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЧекККМАкции.Ссылка КАК Ссылка,
    ЧекККМАкции.ВидАкции КАК ВидАкции,
    ЧекККМАкции.ТипАкции КАК ТипАкции,
    ЧекККМАкции.Ссылка.Дата,
    ЧекККМАкции.Ссылка.Склад,
    ЧекККМАкции.Ссылка.КассаККМ,
    ЧекККМАкции.Ссылка.ДисконтнаяКарта,
    ЧекККМАкции.Ссылка.ВладелецДисконтнойКарты,
    ЧекККМАкции.Номенклатура,
    ЧекККМАкции.ХарактеристикаНоменклатуры
ПОМЕСТИТЬ Акция
{ВЫБРАТЬ
    ВидАкции.*,
    ТипАкции.*}
ИЗ
    Документ.ЧекККМ.Акции КАК ЧекККМАкции
ГДЕ
    ЧекККМАкции.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    И ЧекККМАкции.Ссылка.Проведен

СГРУППИРОВАТЬ ПО
    ЧекККМАкции.Ссылка,
    ЧекККМАкции.ВидАкции,
    ЧекККМАкции.ТипАкции,
    ЧекККМАкции.Ссылка.Дата,
    ЧекККМАкции.Ссылка.Склад,
    ЧекККМАкции.Ссылка.КассаККМ,
    ЧекККМАкции.Ссылка.ДисконтнаяКарта,
    ЧекККМАкции.Ссылка.ВладелецДисконтнойКарты,
    ЧекККМАкции.Номенклатура,
    ЧекККМАкции.ХарактеристикаНоменклатуры

ИНДЕКСИРОВАТЬ ПО
    Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
    АктивацияДисконтныхКартДисконтныеКарты.Ссылка КАК ДокАктивацииДК,
    АктивацияДисконтныхКартДисконтныеКарты.ДисконтнаяКарта,
    АктивацияДисконтныхКартДисконтныеКарты.Телефон,
    АктивацияДисконтныхКартДисконтныеКарты.Пол,
    АктивацияДисконтныхКартДисконтныеКарты.КодСтраны,
    АктивацияДисконтныхКартДисконтныеКарты.КодОператора,
    АктивацияДисконтныхКартДисконтныеКарты.ДатаРождения,
    АктивацияДисконтныхКартДисконтныеКарты.ЭлектронныйАдрес
ИЗ
    Документ.АктивацияДисконтныхКарт.ДисконтныеКарты КАК АктивацияДисконтныхКартДисконтныеКарты
ГДЕ
    АктивацияДисконтныхКартДисконтныеКарты.Ссылка.Дата <= &Дата2
    И АктивацияДисконтныхКартДисконтныеКарты.Ссылка.Проведен = ИСТИНА
    И АктивацияДисконтныхКартДисконтныеКарты.Ссылка.ПометкаУдаления = ЛОЖЬ

УПОРЯДОЧИТЬ ПО
    АктивацияДисконтныхКартДисконтныеКарты.Ссылка.Дата
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТаблицаЧеков.Номенклатура КАК Номенклатура,
    ЗначенияСвойствДлина.Значение КАК Длина,
    ЗначенияСвойствРазмер.Значение КАК Размер,
    ЗначенияСвойствСезон.Значение КАК Сезон,
    ТаблицаЧеков.Склад КАК Склад,
    ТаблицаЧеков.Дата КАК Дата,
    ВЫБОР
        КОГДА АктивацияДисконтныхКартДисконтныеКарты.Телефон ЕСТЬ NULL
            ТОГДА 0
        ИНАЧЕ АктивацияДисконтныхКартДисконтныеКарты.Телефон
    КОНЕЦ КАК Телефон,
    ВЫБОР
        КОГДА АктивацияДисконтныхКартДисконтныеКарты.КодСтраны ЕСТЬ NULL
            ТОГДА 0
        ИНАЧЕ АктивацияДисконтныхКартДисконтныеКарты.КодСтраны
    КОНЕЦ КАК КодСтраны,
    ВЫБОР
        КОГДА АктивацияДисконтныхКартДисконтныеКарты.КодОператора ЕСТЬ NULL
            ТОГДА 0
        ИНАЧЕ АктивацияДисконтныхКартДисконтныеКарты.КодОператора
    КОНЕЦ КАК КодОператора,
    ТаблицаЧеков.ИспользованиеБонусов КАК ИспользованиеБонусов,
    ТаблицаЧеков.Документ КАК Документ,
    ТаблицаЧеков.СуммаБезСкидки КАК СуммаБезСкидки,
    ТаблицаЧеков.ПроцентБонус КАК ПроцентБонус,
    ТаблицаЧеков.Количество КАК Количество,
    ТаблицаЧеков.Сумма КАК Сумма,
    ТаблицаЧеков.Сертификат КАК Сертификат,
    ТаблицаЧеков.СкидкаИспользованыБонусы КАК СкидкаИспользованыБонусы,
    ТаблицаЧеков.БонусыНачисленные КАК БонусыНачисленные,
    ТаблицаЧеков.СкидкаРучнаяПроцентом КАК СкидкаРучнаяПроцентом,
    ТаблицаЧеков.СкидкаАвтоматическая КАК СкидкаАвтоматическая,
    ТаблицаЧеков.СкидкаРучнаяСуммой КАК СкидкаРучнаяСуммой,
    ТаблицаЧеков.СписанноБонусовВозврат КАК СписанноБонусовВозврат,
    ТаблицаЧеков.СуммаБонусовНачислено КАК СуммаБонусовНачислено,
    ТаблицаЧеков.ВладелецДК КАК ВладелецДК,
    ТаблицаЧеков.Артикул КАК Артикул,
    ТаблицаЧеков.ДисконтнаяКарта КАК ДисконтнаяКарта,
    АктивацияДисконтныхКартДисконтныеКарты.Ссылка.Ссылка КАК ДокАктивацииДК,
    АктивацияДисконтныхКартДисконтныеКарты.Пол КАК ВладелецДКПол,
    ТаблицаЧеков.Документ.Ссылка КАК ДокументЧек,
    ТаблицаЧеков.Модель КАК Модель,
    ТаблицаЧеков.Касса КАК Касса,
    ТаблицаЧеков.Цена КАК Цена,
    ТаблицаЧеков.Номенклатура.ТорговыйБренд КАК Бренд,
    ТаблицаЧеков.Номенклатура.ТорговаяЛиния КАК ТорговаяЛиния,
    ТаблицаЧеков.Номенклатура.Пол КАК Пол,
    ТаблицаЧеков.ЦенаСоСкидкой КАК ЦенаСоСкидкой,
    Акция.ВидАкции КАК Вид_Акции,
    Акция.ТипАкции КАК Тип_Акции
{ВЫБРАТЬ
    Склад.*,
    ВладелецДК.*,
    Документ,
    Номенклатура.*,
    Длина.*,
    Размер.*,
    Сезон.*,
    Дата,
    Телефон,
    КодСтраны,
    КодОператора,
    ИспользованиеБонусов,
    СуммаБезСкидки,
    ПроцентБонус,
    Количество,
    Сумма,
    СкидкаРучнаяСуммой,
    СкидкаАвтоматическая,
    СкидкаРучнаяПроцентом,
    БонусыНачисленные,
    СуммаБонусовНачислено,
    СкидкаИспользованыБонусы,
    Сертификат,
    СписанноБонусовВозврат,
    Артикул,
    Модель,
    Касса.*,
    Цена,
    Бренд.*,
    ТорговаяЛиния.*,
    Пол.*,
    ЦенаСоСкидкой,
    Вид_Акции.*,
    Тип_Акции.*,
    ДокументЧек.*,
    ДисконтнаяКарта.*}
ИЗ
    ТаблицаЧеков КАК ТаблицаЧеков
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствРазмер
        ПО ТаблицаЧеков.ХарактеристикаНоменклатуры = ЗначенияСвойствРазмер.Объект
            И (ЗначенияСвойствРазмер.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.Размер))
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствДлина
        ПО ТаблицаЧеков.ХарактеристикаНоменклатуры = ЗначенияСвойствДлина.Объект
            И (ЗначенияСвойствДлина.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.Длина))
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствСезон
        ПО ТаблицаЧеков.ХарактеристикаНоменклатуры = ЗначенияСвойствСезон.Объект
            И (ЗначенияСвойствСезон.Свойство = ЗНАЧЕНИЕ(ПланВидовХарактеристик.СвойстваОбъектов.Сезон))
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.АктивацияДисконтныхКарт.ДисконтныеКарты КАК АктивацияДисконтныхКартДисконтныеКарты
        ПО ТаблицаЧеков.ДисконтнаяКарта = АктивацияДисконтныхКартДисконтныеКарты.ДисконтнаяКарта
            И ТаблицаЧеков.ВладелецДК = АктивацияДисконтныхКартДисконтныеКарты.ФизическоеЛицо
        ЛЕВОЕ СОЕДИНЕНИЕ Акция КАК Акция
        ПО ТаблицаЧеков.Документ = Акция.Ссылка
ГДЕ
    ТаблицаЧеков.Дата МЕЖДУ &Дата1 И &Дата2
{ГДЕ
    ТаблицаЧеков.Склад.*,
    ТаблицаЧеков.ВладелецДК.*,
    ТаблицаЧеков.Номенклатура.*}

УПОРЯДОЧИТЬ ПО
    Дата
1 Pchelinka
 
27.03.18
13:17
СоединитьСтроки(Массив(Вид_Акции),",","") такой вариант тоже пробовала, не взлетает((
2 Pchelinka
 
27.03.18
13:35
может пойти путем создания доп набора данных на ТЧ дока с последующим Объединением?...
3 Pchelinka
 
27.03.18
17:01
Все получилось)) пошла путем второго набора данного для ТЧ Акции и соединением с первым набором по документу, кроме того чтоб не было дублей названия акции, применила выражение: Массив(Различные ВидАкции)и в ресурсе: СоединитьСтроки(Массив(Различные ВидАкции),",") и красота))