|
Не могу загрузить отчет о закрытии смены из Frontola 5 в 1С Розница 2.2.7.42. | ☑ | ||
---|---|---|---|---|
0
JonSilver
12.04.18
✎
14:47
|
Доброго всем времени суток!
Не могу загрузить отчет о закрытии смены из Frontola 5 в 1С Розница 2.2.7.42. Вылетает сообщение об ошибке: "Поле объекта не обнаружено(Тип)". Есть 2 предположения: 1. неправильно настроен обмен с Frontol 5 2. ошибка релиза Если у кого данная связка уже работала до последнего релиза, подскажите, где искать причину ошибки? |
|||
1
Cool_Profi
12.04.18
✎
14:52
|
В отладчик заглянуть - не предлагать?
|
|||
2
JonSilver
12.04.18
✎
15:06
|
В отладчике: Поле объекта не обнаружено (Тип).
// Раскладываем транзакцию на поля. Если ЗаполнитьТранзакцию(СтрЗаменить(Строка, ";", Символы.ПС), Транзакция, ФорматОбмена, ТекстОшибки) Тогда Если Транзакция.Тип = 2 ИЛИ Транзакция.Тип = 12 Тогда |
|||
3
JonSilver
12.04.18
✎
15:25
|
Вот кусок обработчика вызываемой функции:
// Тип транзакции. Транзакция.Вставить("Тип", Число(СтрПолучитьСтроку(Строка, 4))); Выражение: Число(СтрПолучитьСтроку(Строка, 4)) Значение: {(1)}: Преобразование значения к типу Число не может быть выполнено Обрабатываемая строка выгрузки (sales.txt): 134;4/11/2018;5:12:10 PM;64;1;22;1;;1;158;0;158;9;2;0;0;0;;;158;;0;8;0;0;14/21/1;1;;;;;;;0;0 - Ошибок нет,0 - Ошибок нет,0 - Ошибок нет;;;;;;;;; |
|||
4
JonSilver
12.04.18
✎
15:28
|
Должна-ли быть такая строка в выгрузке:
134;4/11/2018;5:12:10 PM;64;1;22;1;;1;158;0;158;9;2;0;0;0;;;158;;0;8;0;0;14/21/1;1;;;;;;;0;0 - Ошибок нет,0 - Ошибок нет,0 - Ошибок нет;;;;;;;;; Такое впечатление, что в нужной позиции не то значение для обработки. |
|||
5
Shrike
12.04.18
✎
15:39
|
Проверь в настройках торгового оборудования модель или протокол, не помню точно.
|
|||
6
Shrike
12.04.18
✎
15:42
|
(4) Пытается преобразовать пустое значение между ;; в число
|
|||
7
JonSilver
12.04.18
✎
15:57
|
Тип оборудования: ККМ Offline
Драйвер оборудования: АТОЛ:ККМ Offline Формат обмена: Frontol 5 |
|||
8
JonSilver
12.04.18
✎
16:00
|
Версия с релизом не подтвердилась(((. В 2.2.5.27 та же история.
|
|||
9
Shrike
12.04.18
✎
16:02
|
А касса в каком формате выгружает?
|
|||
10
JonSilver
12.04.18
✎
16:17
|
(9) Текстовый. (6) Вычисляет позиции строки 4 и 6. "64" и "22" соответственно.
В отладчике начал рассчитывать значения (может не умею пользоваться). Но в приемнике (2) "Транзакция.Тип" не видит(((. |
|||
11
Йохохо
12.04.18
✎
16:25
|
(10) так какая ошибка? не видит тип или ошибка в (3)? 22 это вроде возврат
|
|||
12
Shrike
12.04.18
✎
16:25
|
(9) Понятно, что текстовый. Здесь, скорее всего, несоответствие форматов обмена. Т.е. касса выгружает, например по штриховскому протоколу, а 1С пытается загрузить по атоловскому.
|
|||
13
JonSilver
12.04.18
✎
16:34
|
(11) Вот сообщение об ошибке:
{ОбщийМодуль.ПодключаемоеОборудованиеАтолККМOfflineКлиент.Модуль(1410)}: Поле объекта не обнаружено (Тип) Если Транзакция.Тип = 2 ИЛИ Транзакция.Тип = 12 Тогда. (12) Опыта нет определить формат. Подключал другой спец, номенклатуру в кассу загрузил, смену открыл, чеки пробил и закрыл смену. Выгрузил и......а тут сам разбирайся со своей 1С, чо она у тобе отчет не грузит))). |
|||
14
JonSilver
12.04.18
✎
16:37
|
Фронтол 5.22.1 от 7.03.2018 года
|
|||
15
Сияющий в темноте
12.04.18
✎
19:45
|
А дата время в таком убогом формате и должны быть,у атола в примере дд.мм.гггг и чч:мм:сс,без всяких добавок,вполне возможно,что собака в этом
|
|||
16
JonSilver
13.04.18
✎
11:31
|
(15) Спасибо за вариант, будем пытать
|
|||
17
JonSilver
13.04.18
✎
11:46
|
В отладчике посмотрю значение на выходе.
Но жалуется 1С почему-то на 4 позицию (;64;), вернее отсутствие в массиве поля содержащее данное значение. И вот, в модуле такой тип транзакции (64) не описан. |
|||
18
JonSilver
15.04.18
✎
14:53
|
Всем спасибо за помощь, разобрался. (15) Действительно, обработка при получении значения и строки натыкалась на неизвестный символ и происходил возврат в процедуру (ошибка обработки). Именно на дате и времени, а "Транзакция.Тип" идет следующим полем. Вот оно и не попадало в массив.
|
|||
19
JonSilver
15.04.18
✎
15:55
|
Вот кусок переписанного кода, если кому понадобится. Функция ЗаполнитьТранзакцию:
// Номер транзакции. Транзакция.Вставить("Номер", Число(СтрПолучитьСтроку(Строка, 1))); ПолеОшибки = НСтр("ru='Дата и время транзакции (2,3)'"); ДатаТр = СтрПолучитьСтроку(Строка, 2); ВремяТр = СтрПолучитьСтроку(Строка, 3); Если СтрНайти(ДатаТр,"/")>0 Тогда ДатаТранзакции = СтрЗаменить(ДатаТр, "/", Символы.ПС); ИначеЕсли СтрНайти(ДатаТр,"/")>0 Тогда ДатаТранзакции = СтрЗаменить(ДатаТр, ".", Символы.ПС); КонецЕсли; ПервРазд = СтрНайти(ВремяТр, ":"); Если СтрНайти(ВремяТр, " PM")>0 Тогда ВремяТр = Строка(Число(Лев(ВремяТР,ПервРазд-1))+12)+ Прав(ВремяТр,9); ВремяТР = СтрЗаменить(ВремяТр," PM",""); ИначеЕсли СтрНайти(ВремяТр, " AM")>0 Тогда ВремяТР = СтрЗаменить(ВремяТр," AM",""); КонецЕсли; ВремяТранзакции = СтрЗаменить(ВремяТр, ":", Символы.ПС); // Дата и время транзакции. |
|||
20
JonSilver
15.04.18
✎
15:57
|
Только обратил внимание, возникла другая проблема: отчет грузится 2 раза. Думаю что моя переписка не должна была повлиять))).
|
|||
21
JonSilver
15.04.18
✎
16:10
|
(20) Решено
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |