Имя: Пароль:
1C
1С v8
Чек возврата
0 alkras
 
24.07.12
07:04
Здравствуйте.
Давно не работал с торговым оборудовнием. Сейчас понадобилось  подключить и настроить ФР «Штрих-ФР-К».
Для печати чека устанавливаю параметры как в примере на ИТС. Печать чека продажи идет нормально, чек возврата не печатается, точнее вместо него также печатается чек продажи.
Подскажите как правильно сформировать данные для передачи на ФР.

Пример используемого кода:

ВходныеПараметры  = Новый Массив;
   
   НомерСекции = 1;
   
   // Подготовка таблицы товаров
   ТаблицаТоваров = Новый Массив();
   
   мСуммаДокумента = 0;
           
   Для Каждого СтрокаТЧ Из ДокументыПродажи Цикл
       Если НЕ СтрокаТЧ.Пометка Тогда
           Продолжить;
       КонецЕсли;
       мСуммаДокумента=мСуммаДокумента+СтрокаТЧ.Сумма;    
       
       СтрокаТаблицыТоваров = Новый СписокЗначений();
       СтрокаТаблицыТоваров.Добавить(СокрЛП(СтрокаТЧ.Услуга));                    //  1 - Наименование
       СтрокаТаблицыТоваров.Добавить("");                                        //  2 - Штрихкод
       СтрокаТаблицыТоваров.Добавить("");                                        //  3 - Артикул
       СтрокаТаблицыТоваров.Добавить(ПолучитьНомерСекции(СтрокаТЧ.Услуга));        //  4 - Номер отдела
       СтрокаТаблицыТоваров.Добавить(СтрокаТЧ.Сумма / СтрокаТЧ.Количество);    //  5 - Цена за позицию без скидки
       СтрокаТаблицыТоваров.Добавить(СтрокаТЧ.Количество);                        //  6 - Количество
       СтрокаТаблицыТоваров.Добавить("");                                        //  7 - Наименование скидки/наценки
       СтрокаТаблицыТоваров.Добавить(0);                                        //  8 - Сумма скидки/наценки
       СтрокаТаблицыТоваров.Добавить(0);                                        //  9 - Процент скидки/наценки
       СтрокаТаблицыТоваров.Добавить(СтрокаТЧ.Сумма);                            // 10 - Сумма позиции со скидкой
       СтрокаТаблицыТоваров.Добавить(0);                                        // 11 - Номер налога (1)
       СтрокаТаблицыТоваров.Добавить(0);                                        // 12 - Сумма налога (1)
       СтрокаТаблицыТоваров.Добавить(0);                                        // 13 - Процент налога (1)
       СтрокаТаблицыТоваров.Добавить(0);                                        // 14 - Номер налога (2)
       СтрокаТаблицыТоваров.Добавить(0);                                        // 15 - Сумма налога (2)
       СтрокаТаблицыТоваров.Добавить(0);                                        // 16 - Процент налога (2)
       СтрокаТаблицыТоваров.Добавить("");                                        // 17 - Наименование секции форматирования товарной строки
       
       ТаблицаТоваров.Добавить(СтрокаТаблицыТоваров);
       
   КонецЦикла;
   Если ТаблицаТоваров.Количество()<>0 Тогда
       
       // Подготовка таблицы оплат
       ТаблицаОплат = Новый Массив();
       // Наличные
       СтрокаОплаты = Новый СписокЗначений();
       СтрокаОплаты.Добавить(0);
       СтрокаОплаты.Добавить(мСуммаДокумента);
       СтрокаОплаты.Добавить("Наличная оплата");
       СтрокаОплаты.Добавить("");
       ТаблицаОплат.Добавить(СтрокаОплаты);
       // Безналичные
       СтрокаОплаты = Новый СписокЗначений();
       СтрокаОплаты.Добавить(1);
       СтрокаОплаты.Добавить(0);
       СтрокаОплаты.Добавить("Безналичная оплата");
       СтрокаОплаты.Добавить("");
       ТаблицаОплат.Добавить(СтрокаОплаты);
       
       // ПОДГОТОВКА ТАБЛИЦЫ ОБЩИХ ТОВАРОВ
       ОбщиеПараметры = Новый Массив();
       ОбщиеПараметры.Добавить(1); // 1 - Тип чека (0-продажа, 1-возврат)
       ОбщиеПараметры.Добавить(Истина); // 2 - Признак фискального чека
       ОбщиеПараметры.Добавить(Неопределено); // 3 - Печать на подкладном документе
       ОбщиеПараметры.Добавить(мСуммаДокумента); // 4 - Сумма по чеку без скидок/наценок
       ОбщиеПараметры.Добавить(мСуммаДокумента); // 5 - Сумма по чеку с учетом всех скидок/наценок
       ОбщиеПараметры.Добавить(""); // 6 - Номер дисконтной карты
       ОбщиеПараметры.Добавить(""); // 7 - Текст шапки
       ОбщиеПараметры.Добавить(""); // 8 - Текст подвала
       ОбщиеПараметры.Добавить(0); // 9 - Номер смены (для копии чека)
       ОбщиеПараметры.Добавить(0); // 10 - Номер чека (для копии чека)
       ОбщиеПараметры.Добавить(0); // 11 - Номер документа (для копии чека)
       ОбщиеПараметры.Добавить(0); // 12 - Дата документа (для копии чека)
       ОбщиеПараметры.Добавить(""); // 13 - Имя кассира (для копии чека)
       ОбщиеПараметры.Добавить(""); // 14 - Пароль кассира
       ОбщиеПараметры.Добавить(0); // 15 - Номер шаблона
       ОбщиеПараметры.Добавить("");  // 16 - Наименование секции форматирования шапки
       ОбщиеПараметры.Добавить(""); // 17 - Наименование секции форматирования подвала
       ВходныеПараметры.Добавить(ТаблицаТоваров);
       ВходныеПараметры.Добавить(ТаблицаОплат);
       ВходныеПараметры.Добавить(ОбщиеПараметры);
       
       Результат = МенеджерОборудованияКлиент.ВыполнитьКоманду("ПечатьЧека", ВходныеПараметры);
1 ICWiner
 
24.07.12
08:18
Нетленка?
2 ICWiner
 
24.07.12
08:20
Драйвер Атол использовать будешь? Совместимый с 1с, или обычный?
3 ICWiner
 
24.07.12
08:23
И почему бы не использовать стандартную конструкцию, типа

1)ОткрытьЧек (ИДУстройства, ФискальныйЧек, Чек-
Возврата, АннулироватьОткрытыйЧек, НомерЧека,
НомерСмены)

2)В цикле
НапечататьФискСтроку (ИДУстройства, Наимено-
вание, Количество, Цена, Сумма, Отдел, НДС)

3)ЗакрытьЧек (ИДУстройства, НаличнаяОплата,
БезналичнаяОплата)

+ проверки, типа готово ли устройство и т.д.
4 alkras
 
24.07.12
08:47
Да доделываю чью-то нетленку. Драйвер обычный.
Спасибо буду пробовать такую конструкцию.
5 ICWiner
 
24.07.12
09:02
Можно посмотреть как реализовано в любой типовой или скачать описание атоловского драйвера ккм.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn