|   |   | 
| 
 | Не могу загрузить отчет о закрытии смены из 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) Решено     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |