|
При локальном подключении работает изьятие денег, а через rdp - нет. Почему? | ☑ | ||
---|---|---|---|---|
0
evorle145
18.10.19
✎
12:59
|
Напишите плиз хотя бы идею, в какую сторону можно копать.
Проблема такая. Была файловая база розница, к ней подключена касса ККМ онлайн АТОЛ 50Ф, и все отлично работало, в том числе когда нажимали кнопку "Изъять деньги из кассы" - они изымались. Изымались за счет того что вызывалась функция из обработки торгового оборудования Функция Сумма(Объект, Пароль=30, Сумма) Экспорт (сумма была отрицательной). И все работало корректно! Потом базу переместили на сервер, сделали rdp доступ, пробросили com порт - и все заработало, кроме изъятия денег. Онлайн чеки пробиваются и отправляются. А изъятие нажимаем и получаем ошибку в этой самой функции вот на этой строке Объект.Драйвер.setParam(Объект.Драйвер.LIBFPTR_PARAM_SUM, Сумма); // {ВнешняяОбработка.АТОЛФискальныеРегистраторы.МодульОбъекта(5004)}: Ошибка при вызове метода контекста (setParam) Объект.Драйвер.setParam(Объект.Драйвер.LIBFPTR_PARAM_SUM, Сумма); по причине: Произошла исключительная ситуация (0x80070057) // на всякий случай прикладываю саму функцию Функция Сумма(Объект, Пароль=30, Сумма) Экспорт Результат = мНетОшибки; ЗанятьПорт(Объект); ИспользуемыйДрайверККМ = КАС_ПолучитьЗначениеПараметра(Объект.Параметры,"ИспользуемыйДрайверККМ"); Если ИспользуемыйДрайверККМ = Неопределено Тогда ИспользуемыйДрайверККМ = 1; КонецЕсли; Если ИспользуемыйДрайверККМ = 1 Тогда Объект.Драйвер.Password = ?(Пароль=0,Объект.Параметры.ПарольПользователя,Пароль); Объект.Драйвер.Mode = 1; Объект.Драйвер.SetMode(); //устанавливаем пользователя/кассира КАС_УстановитьКассираДляОперации(Объект,Пароль); Если Сумма > 0 Тогда Объект.Драйвер.Summ = Сумма; Если Объект.Драйвер.CashIncome() <> 0 Тогда Объект.ОписаниеОшибки = "Ошибка операции внесения"; ПолучитьОписаниеОшибки(Объект, Истина); Возврат мОшибкаНеизвестно; КонецЕсли; ИначеЕсли Сумма < 0 Тогда МодульСумма=Макс(Сумма,-Сумма); Объект.Драйвер.Summ = МодульСумма; Если Объект.Драйвер.CashOutcome() <> 0 Тогда Объект.ОписаниеОшибки = "Ошибка операции выплаты"; ПолучитьОписаниеОшибки(Объект, Истина); Возврат мОшибкаНеизвестно; КонецЕсли; КонецЕсли; ИначеЕсли ИспользуемыйДрайверККМ = 2 Тогда //устанавливаем пользователя/кассира КАС_УстановитьКассираДляОперации(Объект,Пароль); Если Сумма > 0 Тогда Объект.Драйвер.setParam(Объект.Драйвер.LIBFPTR_PARAM_SUM, Сумма); Объект.Драйвер.cashIncome(); ИначеЕсли Сумма < 0 Тогда Объект.Драйвер.setParam(Объект.Драйвер.LIBFPTR_PARAM_SUM, Сумма); ///////////////////////////////////////////////////////вот тут валится с ошибкой!!!!!!!! Объект.Драйвер.cashOutcome(); КонецЕсли; Если Объект.Драйвер.errorCode() <> 0 Тогда Объект.ОписаниеОшибки = "Ошибка операции " + ?(Сумма > 0, "внесения", ?(Сумма < 0, "выплаты", "внесения/выплаты")); ПолучитьОписаниеОшибки(Объект, Истина); Возврат мОшибкаНеизвестно; КонецЕсли; КонецЕсли; Отключить(Объект); Возврат Результат; КонецФункции // Сумма() То есть главная зацепка что эта онлайн касса делала изъятия когда было локальное подключение к базе, и перестала делать когда подключили к RDP. Что может быть? какие идеи? |
|||
1
evorle145
18.10.19
✎
13:38
|
Если захожу на сервер с этого компа, где касса подключена через rdp и там запускаю драйвер атол 10.4 и в нем нажимаю кнопки внести или выдать какую либо сумму, то чек на эту сумму вылазит...
|
|||
2
tty12
18.10.19
✎
13:40
|
(1) А сервер случайно не на английской винде?
И работает ли внесение денег? |
|||
3
tty12
18.10.19
✎
13:42
|
(2) + внесение денег через 1С соответственно...
|
|||
4
evorle145
18.10.19
✎
13:48
|
(2) (3) операционная система win server 2012 r2 на русском языке
если нажимаю кнопку внести деньги, то вызывается все та же обработка, все та же функция сумма(), только параметр Сумма в ней уже положительный,и да, внесение денег происходит! чек печатается все как надо... Что это значит? |
|||
5
evorle145
18.10.19
✎
13:49
|
в настройках драйвера "Учет наличности" отключил
|
|||
6
evorle145
18.10.19
✎
13:51
|
даже если подумать, что причина в нехватке денег, то перед тем как выдать 8 рублей, я сначала вношу 8 рублей. Вносится без ошибок. Но стоит попытаться из изъять как сразу валится вот это
{ВнешняяОбработка.АТОЛФискальныеРегистраторы.МодульОбъекта(5006)}: Ошибка при вызове метода контекста (setParam) Объект.Драйвер.setParam(Объект.Драйвер.LIBFPTR_PARAM_SUM, Сумма); по причине: Произошла исключительная ситуация (0x80070057) |
|||
7
Kigo_Kigo
18.10.19
✎
13:55
|
(6) может не надо ему отрицательную сумму подсовывать, ККТ то сама разбирается в командах
Объект.Драйвер.cashIncome(); и Объект.Драйвер.cashOutcome(); |
|||
8
tty12
18.10.19
✎
13:56
|
(6) а сумму не надо положительной делать?
|
|||
9
tty12
18.10.19
✎
13:56
|
версии дров на фр и обработок 1с-ных одинаковые?
|
|||
10
evorle145
18.10.19
✎
14:01
|
(7) (8) ек макарек... парни, внатуре.. Эта обработка откуда то с инфостарта была куплена и походу в этом куске косяк. Реально стал подсовывать туда значение по модулю и все заработало!! (7) там же реально написано cashOutcome(); и cashIncome(); ...
Парни, кидайте мне на мыло номера карты сбера, закину на пиво) Просто реально выручили! без вас я бы так и не допер походу( |
|||
11
tty12
18.10.19
✎
14:14
|
(10) да ладно. делов на 5 минут с перекурами.
|
|||
12
evorle145
18.10.19
✎
14:16
|
(11) поменять сумму на сумму по модулю - да 5 минут. А вот внимательно разобраться и понять что косяк именно в этом - вот это уже оказалось для меня сложным, и вы в (8) и (7) мне дали на это намек, за что я безгранично вам благодарен!
|
|||
13
Мимохожий Однако
18.10.19
✎
14:22
|
Сегодня - хороший день! ))
|
|||
14
Kigo_Kigo
18.10.19
✎
14:53
|
(10) Да лан забей, обращайся если шо(с) :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |