Имя: Пароль:
1C
1С v8
Медленный обмен Розница (2.2.6.33, 54-ФЗ) - Бухгалтерия
0 Shrike
 
23.10.17
00:23
После обновления розницы на 2.2.6.33, при выгрузке отчетов о розничных продажах падает скорость обмена (10 объектов за 3 минуты, на домашнем компе и 40 минут на клиентском, из 280). Посмотрел в правилах обмена, перед выгрузкой, изменился запрос, под 54-ФЗ, добавили соединений с чеками и все это дело дико тормозит. Кто-нибудь сталкивался? Что там такого нужно бухгалтерии из чеков?
1 lenochka-semicova
 
23.10.17
11:56
(0) Суть в том, что в рознице появились чеки на отгрузку без оплаты и оплату без отгрузки, но с товарами.
Это все хитро сводится в отчет о розничных продажах, но в бухе отчет о розничных продажах этого всего не переварит - он тупо на все сделает обычную отгрузку с оплатой.
Поэтому в буху вместо ОРП грузяться чеки - часть так, часть сяк, и часть создает ОРП, а часть всякие ПКО, реализации и т.д.

Чтобы не тормозило нужно 2 запроса поменять
|ИЗ
|    Документ.ЧекККМ.Товары КАК АгентскиеУслуги
|        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыПлатежныхАгентов КАК ДоговорыПлатежныхАгентов
|        ПО АгентскиеУслуги.Номенклатура.ДоговорПлатежногоАгента = ДоговорыПлатежныхАгентов.Ссылка

и следующий за ним
|ИЗ
|    Документ.ЧекККМ.Товары КАК Товары

Заменить примерно так
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ТоварыЧека.Номенклатура КАК Номенклатура,
    ТоварыЧека.Характеристика КАК Характеристика,
    ТоварыЧека.Количество КАК Количество,
    ВЫБОР
        КОГДА ТоварыЧека.Количество = 0
            ТОГДА 0
        ИНАЧЕ ВЫРАЗИТЬ(ТоварыЧека.Сумма / ТоварыЧека.Количество КАК ЧИСЛО (15, 2))
    КОНЕЦ КАК Цена,
    ТоварыЧека.Сумма КАК Сумма,
    ТоварыЧека.СтавкаНДС КАК СтавкаНДС,
    ТоварыЧека.СуммаНДС КАК СуммаНДС,
    ВЫБОР
        КОГДА ДоговорыПлатежныхАгентов.ТипДоговора = ЗНАЧЕНИЕ(Перечисление.ТипыДоговоровПлатежныхАгентов.Прямой)
            ТОГДА ДоговорыПлатежныхАгентов.ПоставщикУслуг
        ИНАЧЕ ДоговорыПлатежныхАгентов.Посредник
    КОНЕЦ КАК Контрагент,
    ДоговорыПлатежныхАгентов.Ссылка КАК ДоговорКонтрагента,
    ВЫБОР
        КОГДА &ПередаватьЦеныХарактеристик
            ТОГДА ВЫБОР
                    КОГДА ТоварыЧека.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
                        ТОГДА ЛОЖЬ
                    ИНАЧЕ ИСТИНА
                КОНЕЦ
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ПередатьИсходящиеДанные
ИЗ
    Документ.ЧекККМ КАК ЧекККМ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ТоварыЧека
        ПО ЧекККМ.Ссылка = ТоварыЧека.Ссылка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
        ПО (ТоварыЧека.Номенклатура = СправочникНоменклатура.Ссылка)
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ДоговорыПлатежныхАгентов КАК ДоговорыПлатежныхАгентов
        ПО СправочникНоменклатура.ДоговорПлатежногоАгента = ДоговорыПлатежныхАгентов.Ссылка
ГДЕ
    ЧекККМ.ОтчетОРозничныхПродажах = &Ссылка
    И ДоговорыПлатежныхАгентов.Ссылка <> ЗНАЧЕНИЕ(Справочник.ДоговорыПлатежныхАгентов.ПустаяСсылка)
    И НЕ ЧекККМ.Ссылка В
                (ВЫБРАТЬ
                    ЧЕКИ54ФЗ.Ссылка КАК Ссылка
                ИЗ
                    ЧЕКИ54ФЗ КАК ЧЕКИ54ФЗ)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(ТоварыЧека.Сумма) КАК Сумма,
    ВЫБОР
        КОГДА СправочникНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
            ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыОплатЧекаККМ.ОплатаПодарочнымСертификатом)
    КОНЕЦ КАК ВидОплаты
ИЗ
    Документ.ЧекККМ КАК ЧекККМ
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ЧекККМ.Товары КАК ТоварыЧека
        ПО ЧекККМ.Ссылка = ТоварыЧека.Ссылка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК СправочникНоменклатура
        ПО (ТоварыЧека.Номенклатура = СправочникНоменклатура.Ссылка)
        И СправочникНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
ГДЕ
    ЧекККМ.ОтчетОРозничныхПродажах = &Ссылка

СГРУППИРОВАТЬ ПО
    ВЫБОР
        КОГДА СправочникНоменклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.ПодарочныйСертификат)
            ТОГДА ЗНАЧЕНИЕ(Справочник.ВидыОплатЧекаККМ.ОплатаПодарочнымСертификатом)
    КОНЕЦ
;
2 lenochka-semicova
 
23.10.17
11:58
Капец, мисте сто лет в обед, а она вставки кода не умеет корректно форматировать.
3 Shrike
 
23.10.17
19:22
Спасибо!