![]() |
![]() |
![]() |
|
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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |