Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Загрузка кассы ккм offline во фронтол

Загрузка кассы ккм offline во фронтол
Я
   Rerere200
 
16.04.21 - 13:47
Добрый день.
Сменили платформу 8.3.16, обновили 1с "Управление торговлей", редакция 10.3 (10.3.68.1). И выгрузка изменилась. в файле выгрузки txt не указывается тип печати /ошибка если загрузить во фронтол. Это 22 строка получается. Товар не акцизный- раньше проставлялся и группа печати шла патент и усн. Сейчас это тоже не проставляется.
Хотя там ньяанс если какое то поле указано то автоматом 22 проставляется вроде.
Нужно изменить и добавить, не знаю как сделать. Из старой платформы- копировали модуль загрузкиккмОфлайн, но там печатается все товары с 2(как патент) и ндс как 3(хотя по новому каталогу 3- это с ндс, а 4 без ндс)
1;;Антифриз Феликс зеленый 5л (800руб);Антифриз Феликс зеленый 5л (800руб);800;34;;0,1,1,1,1,1,0,1,1,0,1;800;;;;1;1;;1444547776;1;2;;;;;3;;;;;;;;;;;;;;;;2;  - 3-без ндс раньше был признак и предпоследняя 2- патент или 1-усн ставился. Кто нибудь может подсказать? или предложить помощь свою
Это частично что было изменено в старой:
мСписокККМ = РаботаСТорговымОборудованием.ПолучитьСписокУстройствТОДляВыбора(МассивККМ);

    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    СпрСклады.Ссылка        КАК Склад,
    |    СпрСклады.Представление КАК ПредставлениеСклада
    |ИЗ
    |    Справочник.Склады КАК СпрСклады
    |ГДЕ
    |    СпрСклады.ВидСклада <> &ВидСклада");
    Запрос.УстановитьПараметр("ВидСклада", Перечисления.ВидыСкладов.НТТ);
    РезультатЗапроса = Запрос.Выполнить();
    Если РезультатЗапроса.Пустой() Тогда
        Предупреждение("Нет складов, не соответствующих НТТ.");
        Отказ = Истина;
        Возврат;
    КонецЕсли;

    мСписокСкладов   = Новый СписокЗначений();
    Выборка          = РезультатЗапроса.Выбрать();
    Пока Выборка.Следующий() Цикл
        мСписокСкладов.Добавить(Выборка.Склад, Выборка.ПредставлениеСклада);
    КонецЦикла;

КонецПроцедуры // ПередОткрытием()

// Процедура - обработчик события "При открытии" формы
//
// Параметры
//  Нет
//
Процедура ПриОткрытии()

    ЭлементыФормы.ККМOffline.СписокВыбора   = мСписокККМ;
    ЭлементыФормы.ТекущийСклад.СписокВыбора = мСписокСкладов;

    ВосстановитьНастройки();
    ОбновитьПараметрыККМ();

КонецПроцедуры // ПриОткрытии()

// Процедура - обработчик события нажатия на кнопку "Заполнить" командной панели
// "ДействияФормы".
//
// Параметры
//  Кнопка - <КнопкаКоманднойПанели>
//         - Кнопка ("Заполнить") командной панели "ДействияФормы", с которой
//           связано данное событие.
//
Процедура ДействияФормыЗаполнить(Кнопка)

    Если НЕ ЗначениеЗаполнено(ТекущийСклад) Тогда
        Предупреждение("Не выбран склад.");
        Возврат;
    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ККМOffline) Тогда
        Предупреждение("Не выбрана ККМ.");
        Возврат;
    КонецЕсли;

    Если НЕ ЗначениеЗаполнено(ТипЦен) Тогда
        Предупреждение("Не выбран тип цен.");
        Возврат;
    КонецЕсли;

    Запрос = Новый Запрос(
    "ВЫБРАТЬ
    |    ПзТовары.КодТовара                        КАК ПЛУ,
    |    ПзТовары.Номенклатура                     КАК Номенклатура,
    |    ПзТовары.ВесовойТовар                     КАК ВесовойТовар,
    |    ПзТовары.ЕдиницаИзмерения                 КАК ЕдиницаИзмерения,
    |    ПзТовары.ХарактеристикаНоменклатуры       КАК ХарактеристикаНоменклатуры,
    |    ПзТовары.СерияНоменклатуры                КАК Серия,
    |    111111111111111.11                        КАК Цена,
    |    ЕСТЬNULL(ПзКодыТоваров.Штрихкод, """")    КАК КодТовара,
    |    ЕСТЬNULL(РегОстатки.КоличествоОстаток, 0) КАК Остаток
    |ИЗ
    |    (ВЫБРАТЬ
    |         РегТовары.Код                         КАК КодТовара,
    |         РегТовары.Номенклатура                КАК Номенклатура,
    |         РегТовары.Номенклатура.Весовой        КАК ВесовойТовар,
    |         РегТовары.ЕдиницаИзмерения            КАК ЕдиницаИзмерения,
    |         РегТовары.ХарактеристикаНоменклатуры  КАК ХарактеристикаНоменклатуры,
    |         РегТовары.СерияНоменклатуры           КАК СерияНоменклатуры
    |     ИЗ
    |         РегистрСведений.ТоварыНаККМ           КАК РегТовары
    |     ГДЕ
    |         РегТовары.КассаККМ = &КассаККМ
    |         " + ?(мПоддерживаетсяВесовойТовар, "", "И НЕ РегТовары.Номенклатура.Весовой") + "
    |    ) КАК ПзТовары
    |    " + ?(мНеобходимШтрихкод, "ВНУТРЕННЕЕ", "ЛЕВОЕ") + " СОЕДИНЕНИЕ
    |        (ВЫБРАТЬ
    |             РегШК.Штрихкод                   КАК Штрихкод,
    |             РегШК.ЕдиницаИзмерения           КАК ЕдиницаИзмерения,
    |             РегШК.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |             РегШК.СерияНоменклатуры          КАК СерияНоменклатуры
    |         ИЗ
    |             РегистрСведений.Штрихкоды КАК РегШК
    |         ГДЕ
    |             РегШК.Владелец ССЫЛКА Справочник.Номенклатура
    |             И РегШК.ТипШтрихкода В (&ТипыШтрихкодов)
    |" + ?(мПоддерживаетсяВесовойТовар, "
    |         ОБЪЕДИНИТЬ ВСЕ
    |         ВЫБРАТЬ
    |             РегКоды.Код                                  КАК Штрихкод,
    |             РегКоды.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
    |             РегКоды.ХарактеристикаНоменклатуры           КАК ХарактеристикаНоменклатуры,
    |             РегКоды.СерияНоменклатуры                    КАК СерияНоменклатуры
    |         ИЗ
    |             РегистрСведений.КодыВесовогоТовара КАК РегКоды
    |", "
    |") + "
    |        ) КАК ПзКодыТоваров
    |    ПО   ПзТовары.ЕдиницаИзмерения           = ПзКодыТоваров.ЕдиницаИзмерения
    |       И ПзТовары.ХарактеристикаНоменклатуры = ПзКодыТоваров.ХарактеристикаНоменклатуры
    |       И ПзТовары.СерияНоменклатуры          = ПзКодыТоваров.СерияНоменклатуры
    |ЛЕВОЕ СОЕДИНЕНИЕ
    |    (ВЫБРАТЬ
    |        РегОстатки.Номенклатура КАК Номенклатура,
    |        РегОстатки.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |        РегОстатки.СерияНоменклатуры КАК СерияНоменклатуры,
    |        СУММА(РегОстатки.КоличествоОстаток) КАК КоличествоОстаток
    |    ИЗ
    |        (ВЫБРАТЬ
    |            РегТоварыНаСкладах.Номенклатура КАК Номенклатура,
    |            РегТоварыНаСкладах.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |            РегТоварыНаСкладах.СерияНоменклатуры КАК СерияНоменклатуры,
    |            РегТоварыНаСкладах.КоличествоОстаток КАК КоличествоОстаток
    |        ИЗ
    |            РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад
    |               И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)) КАК РегТоварыНаСкладах
    |        ОБЪЕДИНИТЬ ВСЕ
    |        ВЫБРАТЬ
    |            РегТоварыВРознице.Номенклатура КАК Номенклатура,
    |            РегТоварыВРознице.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры,
    |            РегТоварыВРознице.СерияНоменклатуры КАК СерияНоменклатуры,
    |            РегТоварыВРознице.КоличествоОстаток КАК КоличествоОстаток
    |        ИЗ
    |            РегистрНакопления.ТоварыВРознице.Остатки(, Склад = &Склад
    |               И Качество = ЗНАЧЕНИЕ(Справочник.Качество.Новый)) КАК РегТоварыВРознице
    |        ) КАК РегОстатки
    |    СГРУППИРОВАТЬ ПО
    |        РегОстатки.Номенклатура,
    |        РегОстатки.ХарактеристикаНоменклатуры,
    |        РегОстатки.СерияНоменклатуры
    |    ) КАК РегОстатки
    |ПО
    |    РегОстатки.Номенклатура                 = ПзТовары.Номенклатура
    |    И РегОстатки.ХарактеристикаНоменклатуры = ПзТовары.ХарактеристикаНоменклатуры
    |    И РегОстатки.СерияНоменклатуры          = ПзТовары.СерияНоменклатуры
    |" + ?(ИмеющиесяНаСкладе, "
    |ГДЕ
    |    ЕСТЬNULL(РегОстатки.КоличествоОстаток, 0) > 0 ИЛИ ПзТовары.Номенклатура.Услуга",
    ""));
    Запрос.УстановитьПараметр("КассаККМ",       мКассаККМ);
    Запрос.УстановитьПараметр("ТипыШтрихкодов", мТипыШтрихкодов);
    Запрос.УстановитьПараметр("Склад",          ТекущийСклад);
    Товары = Запрос.Выполнить().Выгрузить();

    Товар = Неопределено;
    Для Каждого Товар Из Товары Цикл
        Товар.Цена = Ценообразование.ПолучитьЦенуНоменклатуры(Товар.Номенклатура,
                                              Товар.ХарактеристикаНоменклатуры,
                                              ТипЦен,
                                              Неопределено,
                                              Товар.ЕдиницаИзмерения);
    КонецЦикла;

КонецПроцедуры // ДействияФормыЗаполнить()

// Процедура - обработчик события нажатия на кнопку "Загрузить" командной панели
// "ДействияФормы".
//
// Параметры
//  Кнопка - <КнопкаКоманднойПанели>
//         - Кнопка ("Загрузить") командной панели "ДействияФормы", с которой
//           связано данное событие.
//
Процедура ДействияФормыЗагрузить(Кнопка)

    Если Товары.Количество() = 0 Тогда
        Предупреждение("Список товаров пуст.");
        Возврат;
    КонецЕсли;

    Результат = ПолучитьСерверТО().ВыгрузитьТоварыККМ(ККМOffline, Товары);
    Если НЕ ЗначениеЗаполнено(Результат) Тогда
        ОписаниеРезультата = "Выгрузка завершена успешно.
                             |Выгружено " + СокрЛП(Товары.Количество()) + " строк.";
    Иначе
        ОписаниеРезультата = ПолучитьСерверТО().ПолучитьТекстОшибкиККМOfflineТО(Результат);
    КонецЕсли;

    Предупреждение(ОписаниеРезультата);

КонецПроцедуры // ДействияФормыЗагрузить()
   d4rkmesa
 
1 - 16.04.21 - 13:58
(0) Попробуйте в обработке обслуживания оффлайн-оборудования поменять.
   Гений 1С
 
2 - 16.04.21 - 14:20
не понял в чем проблема, постановка ужасная. в чем вопрос та?
   Гений 1С
 
3 - 16.04.21 - 14:20
сравните старую выгрузку и новую, старый файл и новый и поправьте
   Rerere200
 
4 - 16.04.21 - 15:53
Генний1С, меняла, да печатает то что патент, но печатает у всех товаров эту 2, но что то по другому выходит. поэтому лучше просто как то дописать эту 2/1..

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.