8.х ККМ ШТРИХ

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем rerewe, 24 дек 2012.

  1. TopicStarter Overlay
    rerewe
    Offline

    rerewe

    Регистрация:
    23 ноя 2012
    Сообщения:
    49
    Симпатии:
    0
    Баллы:
    1
    Привет,

    Возможно ли печатать на ФР "ККМ ШТРИХ-М-ФР-К" чек из ПКО не по одной позиции, а по нескольким?
    В данный момент печать идет по одной позиции.
  2. Полиграф
    Offline

    Полиграф Опытный в 1С

    Регистрация:
    5 дек 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Фискальнику всеравно что печатать была бы команда...
  3. TopicStarter Overlay
    rerewe
    Offline

    rerewe

    Регистрация:
    23 ноя 2012
    Сообщения:
    49
    Симпатии:
    0
    Баллы:
    1
    Вот такой вот код :

    Код:
    // Функция осуществляет печать чека для приходного и расходного кассового ордера.
    //
    // Параметры:
    //  Идентификатор				  - <Строка>
    //								 - Идентификатор фискального регистратора.
    //
    //  ЭтоРКО						 - <Булево>
    //								 - Осуществляется печать чека из РКО.
    //
    //  Пароль						 - <Число>
    //								 - Пароль фискального регистратора.
    //
    //  НомерЧека					  - <Число>
    //								 - Выходной параметр; номер чека.
    //
    //  НомерСмены					 - <Число>
    //								 - Выходной параметр; номер смены.
    //
    //  ОписаниеПлатежа			    - <ТаблицаЗначений>
    //								 - Описание платежа. Таблица имеет следующие колонки:
    //									 Заголовок - <Строка>
    //											   - Описание позиции платежа.
    //									 Сумма	 - <Число>
    //											   - Сумма позиции платежа.
    //									 НДС	   - <Число>
    //											   - Ставка НДС в %.
    //
    //  СуммаНал					   - <Число>
    //								 - Сумма наличными (принятая, или выданная).
    //
    //  СуммаБезнал				    - <Число>
    //								 - Сумма безналичными (принятая, или выданная).
    //
    // Возвращаемое значение:
    //  <ПеречислениеСсылка.ТООшибки*> - Результат работы функции
    //
    Функция ПечатьЧекаПКОРКО(Идентификатор, ЭтоРКО, Пароль, НомерЧека, НомерСмены,
    ОписаниеПлатежа, СуммаНал, СуммаБезнал)
    Обработка = Неопределено;
    Объект    = Неопределено;
    ВремНомерЧека = 0;
    Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект);
    Если НЕ ЗначениеЗаполнено(Результат) Тогда
    НомерОтдела = Неопределено;
    Результат   = Обработка.ПолучитьПараметрыНаличнойОплаты(Объект, НомерОтдела);
    Если НЕ ЗначениеЗаполнено(Результат) Тогда
    Если НЕ ЗначениеЗаполнено(Результат) Тогда
    Позиция = Неопределено;
    Для Каждого Позиция Из ОписаниеПлатежа Цикл
    Если Не Позиция.Сумма = 0 ТОгда														  
    Результат = Обработка.ОткрытьЧек(Объект, Пароль, ЭтоРКО, ВремНомерЧека, НомерСмены, Истина);   
    Результат = Обработка.ПечататьСтроку(Объект,
    Позиция.Заголовок,
    1,
    Позиция.Сумма,
    0,
    НомерОтдела,
    Позиция.НДС);
    Результат = Обработка.ЗакрытьЧек(Объект, Позиция.Сумма, СуммаБезнал);   
    Позиция.Сумма = 0;													  
    КонецЕсли;															   
    
    Если ЗначениеЗаполнено(Результат) Тогда
    Прервать;
    КонецЕсли;
    КонецЦикла;
    Если НЕ ЗначениеЗаполнено(Результат) Тогда
    Результат = Обработка.ЗакрытьЧек(Объект, СуммаНал, СуммаБезнал);
    КонецЕсли;
    КонецЕсли;
    КонецЕсли;
    мОписаниеОшибки = Объект.ОписаниеОшибки;
    Иначе
    мОписаниеОшибки = ПолучитьТекстОшибкиПодключенияТО("ФР");
    КонецЕсли;
    Если НЕ ЗначениеЗаполнено(Результат) Тогда
    НомерЧека = ВремНомерЧека
    КонецЕсли;
    
    Возврат Результат;
    КонецФункции // ПечатьЧекаПКО()
    
    В чеке одна позиция.

    Плюс вопрос об макете, как я понял его только программируя сам ФР можно настроить да?

    В это цикле осуществляется печать каждой позиции, но не отрабатывает.

    В таблице значений "ОписаниеПлатежа" находятся данные из ПКО

    Код:
    Для Каждого Позиция Из ОписаниеПлатежа Цикл
    Если Не Позиция.Сумма = 0 ТОгда			   
    Результат = Обработка.ОткрытьЧек(Объект, Пароль, ЭтоРКО, ВремНомерЧека, НомерСмены, Истина);  
    Результат = Обработка.ПечататьСтроку(Объект,
    Позиция.Заголовок,
    1,
    Позиция.Сумма,
    0,
    НомерОтдела,
    Позиция.НДС);
    Результат = Обработка.ЗакрытьЧек(Объект, Позиция.Сумма, СуммаБезнал);  
    Позиция.Сумма = 0;			  
    КонецЕсли;				 
    
    Если ЗначениеЗаполнено(Результат) Тогда
    Прервать;
    КонецЕсли;
    КонецЦикла;
    Склонен к мысли, что код:

    Код:
    Результат = Обработка.ЗакрытьЧек(Объект, Позиция.Сумма, СуммаБезнал);   
    Позиция.Сумма = 0;
    должен находится вне цикла, но проверить не могу т.к. ФР у кассира и чтобы его снять целый гемор
  4. Полиграф
    Offline

    Полиграф Опытный в 1С

    Регистрация:
    5 дек 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Смотрим свойства и методы драйвера :ftp://ftp.shtrih-m.ru/download/FR/shtrih-fr-k/doc/Driver4_6.pdf
    ФР не нужно настраивать.
  5. TopicStarter Overlay
    rerewe
    Offline

    rerewe

    Регистрация:
    23 ноя 2012
    Сообщения:
    49
    Симпатии:
    0
    Баллы:
    1
    Это о макете я так понял, а о кол-ве позиций в чеке, то в 1С программить?
  6. Полиграф
    Offline

    Полиграф Опытный в 1С

    Регистрация:
    5 дек 2011
    Сообщения:
    144
    Симпатии:
    0
    Баллы:
    26
    Да конечно
  7. TopicStarter Overlay
    rerewe
    Offline

    rerewe

    Регистрация:
    23 ноя 2012
    Сообщения:
    49
    Симпатии:
    0
    Баллы:
    1
    Спасибо

Поделиться этой страницей