Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Кассир в чеке прихода распечатывается GUID в 1С УПП 1.3

Кассир в чеке прихода распечатывается GUID в 1С УПП 1.3
Я
   skupidom
 
10.10.18 - 23:08
В 1С УПП (1.3.110.1) доработали печать чека с использованием драйвера ККТ передачи данных 9.12.2 Атол из платежного поручения входящего.
В чеке прихода кассир отображается вместо наименования GUID.  
Хотя в чеках открытия, расхода (ППИ) и закрытия кассовой смены кассир печатается наименование корректно.
Процедура печати чека из ППВ:
Перем ФУ;
    
    Если НомерЧекаККМ <> 0 Тогда
        Предупреждение("Чек уже пробит на фискальном устройстве!", 60);
        Возврат;
    КонецЕсли;
    МассивФР  = ПолучитьСерверТО().ПолучитьСписокУстройств(
                        Перечисления.ВидыТорговогоОборудования.ФискальныйРегистратор,
                        Организация);
    МассивККТ = ПолучитьСерверТО().ПолучитьСписокУстройств(
                        Перечисления.ВидыТорговогоОборудования.ККТ,
                        Организация);                        
    МассивФУ = Новый Массив();
    ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивФУ, МассивФР);
    ОбщегоНазначенияКлиентСервер.ДополнитьМассив(МассивФУ, МассивККТ);    
    ФУ            = Неопределено;
    СписокФУ      = Новый СписокЗначений();
    Вид           = Неопределено;
    Представление = Неопределено;
    Для Каждого ФУ Из МассивФУ Цикл        ПолучитьСерверТО().ПолучитьПредставлениеУстройства(ФУ, Вид, Представление);
        СписокФУ.Добавить(ФУ, Представление);
    КонецЦикла;

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

            Оплачено = Истина;
            ПриЗаписиПерепроводить = Ложь;            ЗаписатьВФорме(РежимЗаписиДокумента.Запись);
            ПриЗаписиПерепроводить = Истина;
        Иначе            ОбщегоНазначения.СообщитьОбОшибке(ОбъектДрайвера.ОписаниеОшибки);
            Возврат;
        КонецЕсли;
    КонецЕсли;
 
 
   DmVl76
 
1 - 11.10.18 - 05:02
Скорее всего нужно смотреть в МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека, там формируется xml для передачи обработке обслуживания, хотя мельком глянул
ОбщиеПараметры.Кассир = Ссылка.Ответственный.Наименование;
не зависимо от документа, лучше всего отладчиком погонять и словить конечный xml, что в нем, может где-то еще кассира заполняете.
   DmVl76
 
2 - 11.10.18 - 05:03
И скорее всего присваиваете просто ссылку на физ. лицо
   AneJIbcuH
 
3 - 11.10.18 - 05:41
(1) Пишут, что доработали и скорее всего воткнули типа этого:
xmlСтрока(Ссылка.Ответственный) , а тут как раз вернёт GUID
   DrZombi
 
4 - 11.10.18 - 06:07
(0) Вот тут смотри:

МенеджерОборудованияВызовСервера.ПодготовитьДанныеДляФискализацииЧека(Ссылка, ПараметрыЧека, ВерсияФормата, 
            ПолучитьСерверТО().ПолучитьМодель(ФУ), СокрЛП(Контрагент), НазначениеПлатежа);

...
И еще, используйте команду "Строка()" :)
   DrZombi
 
5 - 11.10.18 - 06:08
(3) +100500 :)
   DrZombi
 
6 - 11.10.18 - 06:09
+ Обычно еще просто пишут напрямую.

ФизЛицо.Наименование, чтобы наверняка :)

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