Формирование печати чека ККМ и Z — отчета по нескольким отделам магазина одновременно

Статья на тему: как сделать так, чтобы из 1С Розницы (Розница Магазин Автозапчастей, Розница Магазин обуви и одежды)  можно было распечатать ЧекККМ на несколько отделов.

Данная потребность возникла у одного из моих клиентов при внедрении «1С:Розница магазин автозапчастей 8.1» — клиент захотел увидеть, сколько выручки проходит по каждому из отделов магазина (в магазине было 7 отделов).

А теперь, собственно, что необходимо сделать:

  1. Необходимо добавить числовой реквизит (я его назвал номер секции) в справочнике «Склады», и вывести его на форму элемента справочника. После заполнить данный реквизит уже на стороне 1С:Предприятие числовыми данными от 0…. до N (по числу складов).
  2. Необходимо в настройках кассы через тест драйвера ФР (у каждой кассы индивидуально, см. документацию по кассе) добавить отделы, в том же порядке, что вводили предыдущем пункте, то есть, номер секции склада должен совпасть с номером отдела, который добавляем в тесте драйвера.
  3. В модуле объекта ЧекаККМ необходимо найти функцию

Функция ПровестиИРаспечататьЧек(Ответ, Отказ, ФормаДокумента, ПечатьПакетаДокументовВозврат = Ложь, РучнойРежимПечати = Ложь) Экспорт

// Необходимо сразу перейти к строке 1236, после условии «иначе» должна идти текст запроса,  его комментируем

        //Запрос = Новый Запрос(
        //»ВЫБРАТЬ
        //|    ТчТовары.Номенклатура.Представление КАК Номенклатура,
        //|    ТчТовары.ХарактеристикаНоменклатуры.Представление КАК ХарактеристикаНоменклатуры,
        //|    ТчТовары.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
        //|    ТчТовары.Цена КАК Цена,
        //|    ТчТовары.Количество КАК Количество,
        //|    ВЫБОР
        //|        КОГДА ТчТовары.Цена * ТчТовары.Количество = 0
        //|            ТОГДА 0
        //|        ИНАЧЕ (1 — ТчТовары.Сумма / (ТчТовары.Цена * ТчТовары.Количество)) * 100
        //|    КОНЕЦ КАК ПроцентСкидкиНаценки,
        //|    ТчТовары.СтавкаНДС,
        //|    ТчТовары.СуммаНДС
        //|ИЗ
        //|    Документ.ЧекККМ.Товары КАК ТчТовары
        //|ГДЕ
        //|    ТчТовары.Ссылка = &Ссылка»);

// Вместо данного запроса добавляем новый запрос

        Запрос = Новый Запрос(
        «ВЫБРАТЬ
        |    ТчТовары.Номенклатура.Представление КАК Номенклатура,
        |    ТчТовары.ХарактеристикаНоменклатуры.Представление КАК ХарактеристикаНоменклатуры,
        |    ТчТовары.ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения,
        |    ТчТовары.Цена КАК Цена,
        |    ТчТовары.Количество КАК Количество,
        |    ВЫБОР
        |        КОГДА ТчТовары.Цена * ТчТовары.Количество = 0
        |            ТОГДА 0
        |        ИНАЧЕ (1 — ТчТовары.Сумма / (ТчТовары.Цена * ТчТовары.Количество)) * 100
        |    КОНЕЦ КАК ПроцентСкидкиНаценки,
        |    ТчТовары.СтавкаНДС,
        |    ТчТовары.СуммаНДС,
        |    ТчТовары.Склад.НомерСекции КАК НомерСекции
        |ИЗ
        |    Документ.ЧекККМ.Товары КАК ТчТовары
        |ГДЕ
        |    ТчТовары.Ссылка = &Ссылка»);

 

И все! В принципе, если все правильно сделали, то тогда все должно работать.

Желаю всем удачи! Буду рад, если моя статья кому-то поможет.

2 Comments

  1. amadeus2011

    Насколько я понял номер секции в складе указывается только если устанавливаете конфигурацию в точках розничной продажи?

    Reply
  2. rsvp201

    Да все правильно вы думайте

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *