Печать наименования номенклатуры в ПКО УПП
По теме из базы знаний
- Типовая борьба - личный опыт работы с типовыми конфигурациями 1С:8
- Красивый склад
- Автоматическое распознавание сканов документов и не только. История одной жизни...
- Как кропотливая работа оказалась эффективнее энергичной атаки
- Интеграция 1С с маркетплейсами из одного окна: Озон, ВБ, Яндекс, Сбер, Али, ЛаМода - для УНФ, УТ, КА, ERP
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
А что выдает вместо наименований? "Принято от: ... Основание: ..." ? Если так, посмотрите процедуру МенеджерОборудованияВызовСервера.ЗаполнитьТоварныеПозицииВПараметрахЧека(...). Там довольно капризный алгоритм, номенклатуру выдает только, если ПКО с видом ОплатаПокупателя и при совпадении сумм платежа по ставкам в ТЧ РасшифровкаПлатежа и в реализациях, выбранных там же, а в остальных случаях выдает "обобщенное наименование" платежа. Может у вас он настроен как обычный фискальный регистратор, если вообще наименование пустое?
(16)
Удалить настройки старого ФР в обработке "Подключение и настройка торгового оборудования", добавить новый ФР в разделе "ККТ с передачей данных", указать правильные параметры(com-порт, скорость, как обычно) и в настройках "Параметры фискализации" настроить таблицу ставок НДС(порядок должен совпадать с соотв. таблицей в ФР). В нашем случае этого оказалось достаточно(касса - модернизированный Штрих-М-01-Ф).
Удалить настройки старого ФР в обработке "Подключение и настройка торгового оборудования", добавить новый ФР в разделе "ККТ с передачей данных", указать правильные параметры(com-порт, скорость, как обычно) и в настройках "Параметры фискализации" настроить таблицу ставок НДС(порядок должен совпадать с соотв. таблицей в ФР). В нашем случае этого оказалось достаточно(касса - модернизированный Штрих-М-01-Ф).
Можно накидать тестовую процедуру для проверки, если дело в алгоритме УПП (если нет возможности отлаживать на сервере), а не настройках аппарата:
ОбщиеПараметры = МенеджерОборудованияКлиентСервер.ПараметрыОперацииФискализацииЧека();
РасчетыСПокупателем = (СсылкаНаОбъект.ВидОперации = ПредопределенноеЗначение("Перечисление.ВидыОперацийПКО.ОплатаПокупателя"));
МенеджерОборудованияВызовСервера.ЗаполнитьТоварныеПозицииВПараметрахЧека(СсылкаНаОбъект, ОбщиеПараметры,
РасчетыСПокупателем, Ложь, СсылкаНаОбъект.ПринятоОт, СсылкаНаОбъект.Основание);
ПараметрыСтроки = Новый ТаблицаЗначений();
ПараметрыСтроки.Колонки.Добавить("ФискальнаяСтрока");
// Обязательные поля
ПараметрыСтроки.Колонки.Добавить("Наименование"); // Наименовнование предмета расчета
ПараметрыСтроки.Колонки.Добавить("Количество"); // Количество предмета расчета
ПараметрыСтроки.Колонки.Добавить("Цена"); // Цена без учета скидок и наценок
ПараметрыСтроки.Колонки.Добавить("Сумма"); // Cтоимость предмета расчета с учетом скидок и наценок
ПараметрыСтроки.Колонки.Добавить("НомерСекции"); // Номер cекции ФР (для совместимости)
ПараметрыСтроки.Колонки.Добавить("СтавкаНДС"); // Cтавка НДС в %
ПараметрыСтроки.Колонки.Добавить("Штрихкод"); // Штрихкод
// Дополнительные реквизиты начиная с ФФД 1.1
ПараметрыСтроки.Колонки.Добавить("КодПризнакаСпособаРасчета"); // Код признака способа расчета (Таблица 25 документа ФФД)
ПараметрыСтроки.Колонки.Добавить("КодПризнакаПредметаРасчета"); // Код признака предмета расчета (Таблица 25 документа ФФД)
ПараметрыСтроки.Колонки.Добавить("ЕдиницаИзмеренияПредметаРасчета"); // Код признака предмета расчета
ПараметрыСтроки.Колонки.Добавить("КодТоварнойНоменклатуры"); // Код товарной номенклатуры
Для Каждого СтрПозицияЧека Из ОбщиеПараметры.ПозицииЧека Цикл
НоваяСтр = ПараметрыСтроки.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтр, СтрПозицияЧека);
КонецЦикла;
ПострПечать = Новый ПостроительОтчета;
ПострПечать.ИсточникДанных = Новый ОписаниеИсточникаДанных(ПараметрыСтроки);
ПострПечать.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Интерфейс);
ПострПечать.Выполнить();
Для каждого Колонка Из ПострПечать.ВыбранныеПоля Цикл
Колонка.Представление = ПараметрыСтроки.Колонки[Колонка.Имя].Заголовок;
КонецЦикла;
ПострПечать.Вывести();
Показать
(23) Поставьте отладку в процедуре ОсновныеДействияФормыЧек модуля формы ПКО и попробуйте распечатать чек. Возможно аппарат настроен как фискальный регистратор [без ФН]. Там код такого плана:
Если ВидФУ = Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор Тогда
...
Иначе //для ККТ с передачей данных
...
ПодготовитьДанныеДляФискализацииЧекаПКО(Ссылка, ПараметрыЧека);
...
(24) странно....но у нас в модуле формы выполнялся не тот код.....я заменил его на
и все пошло....почему так было сделано я не понимаю...в модуле формы не было просто вызова на процедуру ЗаполнитьТоварныеПозицииВПараметрахЧека.
ЭтоОплатаПокупателя = (ВидОперации = ПредопределенноеЗначение("Перечисление.ВидыОперацийПКО.ОплатаПокупателя"));
МенеджерОборудованияВызовСервера.ЗаполнитьТоварныеПозицииВПараметрахЧека(Ссылка, ОбщиеПараметры,
ЭтоОплатаПокупателя, ПринятоОт, Основание);
и все пошло....почему так было сделано я не понимаю...в модуле формы не было просто вызова на процедуру ЗаполнитьТоварныеПозицииВПараметрахЧека.
(25) вот какой код модуле формы ПКО стандартной (непеределанной) УПП:
Процедура ОсновныеДействияФормыЧек(Кнопка)
/////////////////////
/////////////////////
/////////////////////
ВидФУ = ПолучитьСерверТО().ПолучитьВид(ФУ);
Если ВидФУ = Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор Тогда
////////////////////////////////////
///////////////////////////////////
///////////////////////////////////
Иначе
ОписаниеПКС = КассовыеСменыВызовСервера.ОписаниеПоследнейКассовойСмены(ФУ);
Если ОписаниеПКС = Неопределено ИЛИ ОписаниеПКС.Статус = Перечисления.СтатусыКассовойСмены.Закрыта Тогда
ОбщегоНазначения.СообщитьОбОшибке("Кассовая смена не открыта");
Возврат;
КонецЕсли;
ПараметрыЧека = Неопределено;
ПодготовитьДанныеДляФискализацииЧекаПКО(Ссылка, ПараметрыЧека);
ОбъектДрайвера = Неопределено;
ОбработкаОбслуживания = Неопределено;
ПолучитьСерверТО().ПолучитьОбъектДрайвера(ФУ, ОбработкаОбслуживания, ОбъектДрайвера);
Результат = ОбработкаОбслуживания.ФискализироватьЧек(ОбъектДрайвера, ПараметрыЧека);
Если Не ЗначениеЗаполнено(Результат) Тогда
ЭтотОбъект.НомерЧекаККМ = ОбъектДрайвера.ВыходныеПараметры[1];
Иначе
Оплачено = БылоОплачено;
ОбщегоНазначения.СообщитьОбОшибке(ОбъектДрайвера.ОписаниеОшибки);
КонецЕсли;
КонецЕсли;
Показать
был по умолчанию прописан вот этот код:
Для Каждого СтрокаПлатежа Из Ссылка.РасшифровкаПлатежа Цикл
СтрокаЧека = МенеджерОборудованияКлиентСервер.ПараметрыФискальнойСтрокиЧека();
// Обязательные поля
СтрокаЧека.Наименование = "Принято от: " + ПринятоОт + " Основание: " + Основание; // Наименовнование предмета расчета
СтрокаЧека.Количество = 1; // Количество предмета расчета
СтрокаЧека.Цена = СтрокаПлатежа.СуммаПлатежа; // Цена без учета скидок и наценок
СтрокаЧека.Сумма = СтрокаПлатежа.СуммаПлатежа; // Cтоимость предмета расчета с учетом скидок и наценок
СтрокаЧека.СтавкаНДС = ЭлектронныеДокументыПереопределяемый.ПолучитьСтавкуНДСЧислом(СтрокаПлатежа.СтавкаНДС); // Cтавка НДС в %
Если СтрокаЧека.СтавкаНДС = Неопределено Тогда
СтрокаЧека.СтавкаНДС = 0;
КонецЕсли;
// Дополнительные реквизиты начиная с ФФД 1.1
СтрокаЧека.КодПризнакаСпособаРасчета = 4; // Код признака способа расчета (Таблица 25 документа ФФД)
СтрокаЧека.КодПризнакаПредметаРасчета = 12; // Код признака предмета расчета (Таблица 25 документа ФФД)
ОбщиеПараметры.ПозицииЧека.Добавить(СтрокаЧека);
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот