Имя: Пароль:
1C
Админ
v7: ФР Феликс. Вопрос по Функция Отключить(Объект)
0 mexanik_96
 
25.11.11
12:43
тис 7.7.ФР Феликс р-к.дрова атол.typeclose() "залипает до перезапуска 1с". Функция Отключить(Объект) фр не отключает. Кто-нибудь сталкивался?
1 mexanik_96
 
25.11.11
12:44
если пред. чек был с типом оплаты (безнал), то следующий то же идет в тип оплаты безнал, хотя по отладчику по налу.
2 mexanik_96
 
25.11.11
15:17
Никто не сталкивался?
3 miki
 
25.11.11
15:22
>>хотя по отладчику по налу
в каком месте?
4 mexanik_96
 
25.11.11
15:48
запускаю 1с.
бью чеккм 1 по НАЛУ, бьется тип оплаты наличка со сдачей.
бью чекккм2 поБЕЗНАЛУ, бьется тип оплаты тарой.
бью чеккм3 по налу, бьется но тип оплаты стоит тарой, в отладчике в обр. обсл. все идет нормально (как нал).
пытаюсь сделать следующее: после отбития чеккм отключать фискальник Функция Отключить(Объект), но что то не получается. пишет ошибка 11 нет связи...
5 mexanik_96
 
25.11.11
15:54
Если (Получено > 0)  и (призбезнал =2) тогда
       если (Получено = СуммаЧека) Тогда
           Объект.Summ = Окр(Получено, 2, 1);
           Объект.TypeClose = 1;
           
           Объект.ЗакрытьЧек();
           
       иначе
       конецесли;
   КонецЕсли;
   
   если (Получено > СуммаЧека) и (призБезнал=1)    тогда
       Объект.Summ = Окр(Получено, 2, 1);
       
       Объект.ОплатаСоСдачей();
       Объект.ЗакрытьЧек();
       
   иначеесли (Получено = СуммаЧека) и (призБезнал=1) тогда
       Объект.Summ = Окр(Получено, 2, 1);  
       Объект.TypeClose = 0;
       
       
       
   конецесли;
6 mexanik_96
 
25.11.11
15:55
, где призбезнал - перем
0 - тип оплаты не выбран,
1- тип оплаты наличка,
2- тип оплаты по безналу,
7 miki
 
25.11.11
16:03
вырывать фразы из контекста, в т. ч. и из кода - моветон. Да и ясности не добавляет.

Позовите программиста...

В этом месте:
Если (Получено > 0)  и (призбезнал =2) тогда
       если (Получено = СуммаЧека) Тогда
           Объект.Summ = Окр(Получено, 2, 1);
           Объект.TypeClose = 1;

Вот это:
>>Объект.TypeClose = 1;
Как ты думаешь, для чего, если условие истинно для призбезнал =2?
8 miki
 
25.11.11
16:04
Тут:
   если (Получено > СуммаЧека) и (призБезнал=1)    тогда
       Объект.Summ = Окр(Получено, 2, 1);
       
       Объект.ОплатаСоСдачей();
       Объект.ЗакрытьЧек();

вообще не указан признак (тип) оплаты. Скорее всего берет тип оплаты с предыдущей операции.
9 mexanik_96
 
25.11.11
16:04
я думаю это для того что бы явно ФР  указать в какой тип оплаты ему бить чеки, я не прав?
10 miki
 
25.11.11
16:06
(9)да.
У тебя
TypeClose = призБезнал-1;
?
11 mexanik_96
 
25.11.11
16:13
и еще выдержка из руководство программиста  «АТОЛ:
Драйвер ККМ»: "ОплатаСоСдачей()
Закрытие чека продажи с оплатой наличными и подсчетом суммы сдачи." "Сдачу при оплате можно сдавать только наличными, следовательно для всех
моделей ФР единственным допустимым значением свойства TypeClose являет-
ся значение, равное 0." - тогда какой смысл ее указывать вообще при оплате со сдачей?
12 mexanik_96
 
25.11.11
16:14
еще варианты есть?
13 miki
 
25.11.11
16:17
(11)я читал мануал...
там ещё такие строки есть:
ОплатаСоСдачей()
Закрытие чека продажи с оплатой наличными и подсчетом суммы сдачи.
Сумма, вносимая покупателем – в свойстве Summ. Предполагается оплата налич-
ными без обращения к свойству TypeClose.


(12)Что мешает просто выставить TypeClose  в 0 и пробить чек, посмотреть на результат?

И ещё. Возможно ты зря решил заюзать для б/нала TypeClose =1. Посмотри в настройках ККМ какие типы прописаны для TypeClose 2 и 3...
Зачем тебе потОм каждый раз объяснять, почему клиент расчитался тарой?..
14 miki
 
25.11.11
16:18
+ и куда ты попадаешь, если призБезнал=0?
15 MikeFromAtol
 
25.11.11
16:22
(13) +1.
Надо настраивать типы оплат в ФР-е.
По умолчанию они вроде как идут как то так:
0 - Наличные
1 - Тара
2 - Кредит
3 - что то еще

ну или наподобие
16 mexanik_96
 
25.11.11
16:26
призбезнал = 0 я остаюсь в форме документа,
17 miki
 
25.11.11
16:29
и тут:
  иначеесли (Получено = СуммаЧека) и (призБезнал=1) тогда
       Объект.Summ = Окр(Получено, 2, 1);  
       Объект.TypeClose = 0;
       
       
       
   конецесли;

Чек не закрываешь?
18 mexanik_96
 
25.11.11
16:29
дак причем тут тип оплаты-то. пусть типзакрытия =1 будет "тара", не принципиально, вопрос то в другом. Почему после пробития чека с  типзакрытия = 1, в следующем чеке отладчик показывает оплатасосдачей() , а пробивается с типзакрытия =1?
19 MikeFromAtol
 
25.11.11
16:30
в логе драйвера что пишется? можно прям сюда кусок лога вставить, соответствующий пробитиям этих двух чеков
20 mexanik_96
 
25.11.11
16:30
Объект.TypeClose = 0; - и есть закрытие чека вроде как.
21 miki
 
25.11.11
16:32
(20)Это свойство, а не метод.
(18)Всё-таки попробуй вытавлять явно тип оплаты, или трудно?
22 mexanik_96
 
25.11.11
16:39
указал, не помогло.
23 miki
 
25.11.11
16:41
сделай (19), можешь весь лог кинуть на файлопомойку
24 miki
 
25.11.11
16:43
И тут:
       если (Получено = СуммаЧека) Тогда
           Объект.Summ = Окр(Получено, 2, 1);
           Объект.TypeClose = 1;
           
           Объект.ЗакрытьЧек();
           
       иначе
       конецесли;

Если попадешь в "иначе" то чек останется незакрытым.
25 mexanik_96
 
25.11.11
16:44
дак а там в иначе то никак не попасть))