Имя: Пароль:
1C
1С v8
Вылетает при массовой фискализации на ККТ
0 Gedimen
 
27.08.19
18:29
Доброго времени суток, дорогие форумчане! Прошу помощи!
Суть в следующем: Есть конфига, на 99% - стандартная 1С: Библиотека подключаемого оборудования (версия 2.1.1.26). Добавлял только кое-какие справочники и реквизиты, обработки заполнения и т.д. Сделана для массовой фискализации оплат по квартплате.
Оставил в ней только то, что касается фискальных регистраторов и ККТ с передачей данных.
На рабочем месте стоит Атол 25Ф.
В ручном режиме все работает, чеки пробиваются. В массовом режиме 1с валится. (Использую команду "ФискализироватьВсеЧекиНаККТ" из стандартной поставке в форме регистра сведений "Очередь чеков ККТ").
Принес конфигу домой, поставил эмулятор ККТ от 1С. Начал тестить...
1С-ка стабильно валится с дампом после пробития 84 чека. Ровно 84! В любом порядке. 84 и на следующем вылет.
Подскажите, пожалуйста, в чем может быть проблема.

P.S. Win10 Pro x64, 8GB ОЗУ на работе, 16 - дома. Платформа 1С - x86, драйвера Атол тоже.
1 Gedimen
 
27.08.19
18:34
Версия Платформы 1С - 8.3.13.1690
2 isa2net
 
27.08.19
18:59
тестить в данном случае лучше на реальных дровах, а не эмуле.  Хотя если и в том случае валится платформа надо дампы изучать, должна быть зацепка.
3 Gedimen
 
27.08.19
19:03
(2) Чеков много было. На реальных дровах все и делалось. Сначала подумал, что по времени вылетает (минута-две и вылет). Уже дома подсчитал.
4 isa2net
 
27.08.19
19:11
включайте техжурнал и смотрите. на реальных дровах предпочтительней.
5 Gedimen
 
28.08.19
11:59
(4) Ошибка из журнала: 53:11.049018-0,EXCP,3,process=1CV8C,OSThread=616,OSException=1cv8c_8.3.13.1809_1ae49f79_20190827215311_9248 enabled,Context=ОбщийМодуль.Вызов : ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль.ОбработатьДанныеФискализацииЧека
53:11.049019-0,EXCPCNTX,0,ClientComputerName=,ServerComputerName=,UserName=,ConnectString=,Context=ОбщийМодуль.Вызов : ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль.ОбработатьДанныеФискализацииЧека
53:11.049020-3,EXCPCNTX,2,SrcName=SDBL,process=1CV8C,OSThread=616,Trans=1,Func=insertRecords,tableName=InfoRg181,Context=ОбщийМодуль.Вызов : ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль.ОбработатьДанныеФискализацииЧека
53:11.049021-16,EXCPCNTX,1,SrcName=SDBL,process=1CV8C,OSThread=616,Trans=0,Func=Transaction,Context=ОбщийМодуль.Вызов : ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль.ОбработатьДанныеФискализацииЧека
53:11.049022-18,EXCPCNTX,0,SrcName=SDBL,process=1CV8C,OSThread=616,Trans=0,Func=HoldConnection,Context=ОбщийМодуль.Вызов : ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль.ОбработатьДанныеФискализацииЧека
53:11.268000-0,EXCP,3,process=1CV8C,OSThread=616,DumpError=Created dump file: C:\Users\Maks\AppData\Local\1C\1cv8\dumps\1cv8c_8.3.13.1809_1ae49f79_20190827215311_9248.mdmp,Context=ОбщийМодуль.Вызов : ОбщийМодуль.МенеджерОборудованияВызовСервера.Модуль.ОбработатьДанныеФискализацииЧека

Из МенеджерОборудованияВызовСервера.Модуль.ОбработатьДанныеФискализацииЧека через "попытку" процедура метод этого же модуля "ЗаписатьФискальнуюОперацию(ПараметрыФискализации)". Пишет данные в регистр сведений "ФискальныеОперации" (непереодический, независимый". Вываливается в конце процедуры при "НаборЗаписей.Записать();"

Входящие параметры ("ПараметрыФискализации") сравнивал: у последнего успешного и у того, при котором вываливается. Там нормально все.

В чем может быть причина вылета при записи в регистр сведений?
6 karpik666
 
28.08.19
12:08
(5)  закомментируйте, данные из регистра используются для учета взаиморасчетов и проверки ввода новых чеков, если у вас нетиповая, то вам данный функционал и не нужен
7 Gedimen
 
28.08.19
12:20
(6) Теперь валится при записи изменений в регистре сведений "Очередь чеков ККТ" (ставится признак "Фискализирован". Именно на 85-ом. Может с блокировками что-то не то?
8 isa2net
 
28.08.19
12:23
(7) на 64 битной платформе попробовать?
9 karpik666
 
28.08.19
12:23
(7) платформы пробовали менять.
10 Gedimen
 
28.08.19
12:27
(8) 64 битную не ставил. Обновил 86-ю только до 8.3.13.1809. Сейчас попробую 8.3.14 и 64 битную.
11 Gedimen
 
28.08.19
13:07
(8) На 64 битной вываливается на 45-том. Решил обойти сей неприятный момент пробитием чеков партиями по 84.
12 ProxyInspector
 
28.08.19
14:13
Надо посмотреть сколько памяти занимает клиент в момент пробития чеков. Если в районе 1 Гб, тогда это "утечки памяти". А  точнее - кривая реализация механизмов кеширования в 1С.
  Единственно, что радует - это повторяемость результатов даже на эмуляторе.
13 Gedimen
 
28.08.19
14:30
(12) Тоже на утечки грешу.
Пока решил так:

    КоличествоЧеков = КоличествоЧековДляФискализации();
    Если КоличествоЧеков=0 Тогда
        Возврат;
    КонецЕсли;
    
    ВсегоПроходов = Окр((КоличествоЧеков/84)+0.5,0,1);
    
    Для Сч=1 По ВсегоПроходов Цикл
    
        ЧекиДляФискализации = ВсеЧекиДляФискализации();
    
        ВыбратьФискальноеУстройство();
    КонецЦикла;

Так работает.