Имя: Пароль:
1C
1С v8
1С Розница. Оплата платежной картой и кредитом
0 Emotion
 
01.06.12
09:32
Хочу поднять тему v8: Оплата разными типами полат Fprint-03 1С Розница.
Проблема аналогичная.
Пробиваем оплаты и картами, и кредитами,  в Z-отчете все они суммируются   в "кредиты". Как оплаты банковскими картами вынести отдельно в "Плат. картами".

ККМ - Штрих-ФР-К. 1С Розница 1.0 (1.0.17.1). 1С:Предприятие 8.1 (8.1.15.14)

К сожалению, в той теме Tarif913926 не отписался о решении.
1 Emotion
 
01.06.12
12:51
В общем, отладчиком я дошла вот до чего.
Все типы оплат сворачиваются к двум (СуммаНаличные и Сумма Безнал)

// Расчитваем значения сумм оплат по чеку
   СуммаДокумента = Объект.Товары.Итог("Сумма");
   СуммаНаличные  = ТаблицаПоОплатам.Скопировать(Новый Структура("ТипОплаты", Перечисления.ТипыОплатЧекаККМ.Наличные)).Итог("Сумма");
   СуммаБезнал    = МИН(СуммаДокумента, ТаблицаПоОплатам.Итог("Сумма")-СуммаНаличные);

Далее эти параметры передаются во внешнюю обработку ShtrihMFiscalPrinters_v2, где происходит следующее:

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

Но в Объект.Драйвер.ЗакрытьЧек отладчик не идет :(
Где мне найти тело функции ЗакрытьЧек, чтобы я могла передать туда три параметра (СуммаНал, СуммаБезнал и СуммаКредит, например) и там написать примерно следующее
Объект.Summ1 = СуммаНал;
Объект.Summ2 = СуммКредит;
Объект.Summ4 = СуммБезнал;
?
2 Агент Инфостарта
 
01.06.12
12:56
(1) Драйвер.ЗакрытьЧек() это внутренняя процедура самого драйвера фискальника. Отладчиком 1С в неё никак не зайти. Читатайте документацию на драйвер, может там есть описание методов.
3 Агент Инфостарта
 
01.06.12
13:03
(1) Судя по всему, ваша версия драйвера фискальника не позволяет учитывать оплаты банковскими картами. В некоторых других версиях возможно.

Объект.Драйвер.Сумма1 = СуммаНал;
Объект.Драйвер.Сумма2 = СуммаБезнал;
Объект.Драйвер.Сумма4 = СуммаПоПлКарте;
Объект.Драйвер.СтрокаДляПечати = "======";
Объект.Драйвер.ЗакрытьЧек();
4 Emotion
 
01.06.12
13:09
(3) но, насколько я понимаю, обработка ShtrihMFiscalPrinters_v2 написана спецом под этот драйвер, с которым я работаю (даже при подключении фР была ссылка на сайт и именно на этот драйвер). Если я возьму другой драйвер, то мне придется и обработку под него изменять. А это может быть не просто. Но можно попробовать
5 Emotion
 
01.06.12
13:12
(3) А из какой версии драйвера вы взяли?
6 Агент Инфостарта
 
01.06.12
13:13
(4) Посмотрите описание методов вашей версии драйвера, может есть такая возможность.
7 Emotion
 
01.06.12
13:22
(6) Спасибо! Есть такая возможность! И как я не догадалась.
У Функции ЗакрытьЧек последний параметр 0. Вот туда и надо передавать сумму ОплатаКредитом.
Сейчас попробую, надеюсь получится!
8 Агент Инфостарта
 
01.06.12
13:28
(5) Вроде как ШТРИХ-ФР-К. Версия драйвера 4.9.0.149
Закон Брукера: Даже маленькая практика стоит большой теории.