Завершен

1С, Mobile Smarts ЕГАИС, выгрузка номенклатуры на ТСД

Nikolas Ivanovskiy 8 лет назад обновлен Сергей (Специалист) 8 лет назад 6

Сделал свою обработку по выгрузке одной позиции номенклатуры на ТСД по документу "Инструкция для интеграции с 1С v8"
1. Описанный в инструкции способ метод "ДобавитьВВыгрузкуТоваров" возвращает Ложь.
мДрайверТСД.ПолучитьОшибку("Описание ошибки") возвращает 1

2. выгрузка через таблицу значений.
Метод ВыгрузитьТаблицу() возвращает Истина. Поля COM объекта мДрайверТСД.loadedproducts.products.item(0) заполняются.
метод ЗавершитьВыгрузкуТоваров() возвращает Ложь . Ошибка 1

3. выгрузка через строки
все методы НачатьВыгрузку(), ВыгрузитьСтроку(), ЗавершитьВыгрузку() возвращают Истина, но ни на терминале ни в базе, указанной в строке подключения, выгружаемая позиция не появляется.


Вопросы:

1. Где можно посмотреть расшифровку кодов ошибок

2. Что я делаю не так, что ни один из методов не возволяет выгрузить номенклатуру?

С описанным в инструкции способом разобрался. в массив место строки передавалось число.
Теперь ошибок не возникает, но номенклатура никуда не выгружается.

Как Вы определили, что номенклатура не выгружается? Посмотрите через Панель управления, а также файл Cleverence.Warehouse.ProductsBook.xml в папке <папка базы Mobile Smarts>\Documents


Получить описание ошибки можно так:

Описание = "";
мДрайверТСД.ПолучитьОшибку(Описание);
Сообщить("Ошибка: " + Описание);


Перед выгрузкой происходит подключение к базе Mobile SMARTS?

Подключение и выгрузка:


ПодключитьВнешнююКомпоненту("AddIn.Cl.TerminalConnector");
мДрайверТСД= Новый ("AddIn.Cl.TerminalConnector");
СписБаз = Новый Массив;
СписБаз.Добавить(<Строка с Ид базы Mobile SMARTS>);
мДрайверТСД.Подключить(СписБаз,"");


мДанные = Новый Массив(15); // например, 15 полей


мДанные.Установить( 0, "Product.Ид" );
мДанные.Установить( 1, "Product.Marking" );
мДанные.Установить( 2, "Product.Barcode" );

....

мДанные.Установить( 14, "Packing.price" );


Если Не мДрайверТСД.НачатьВыгрузкуТоваров(мДанные) Тогда // Начинаем выгрузку установив список полей

ОписаниеОшибки = "";
мДрайверТСД.ПолучитьОшибку(ОписаниеОшибки);

...
КонецЕсли;


Для Каждого СтрокаТовара Из МассивВыгрузки Цикл

...

мДанные.Установить( 0, ИдТовара ); // Заполняем массив значениями полей
мДанные.Установить( 1, Артикул );
мДанные.Установить( 2, Код );

....

мДанные.Установить( 14, Цена );


Если Не мДрайверТСД.ДобавитьВВыгрузкуТоваров(мДанные) Тогда // Добавляем в выгрузку порцию данных

мДрайверТСД.ПолучитьОшибку(ОписаниеОшибки);

...

КонецЕсли;

КонецЦикла;


Если Не мДрайверТСД.ЗавершитьВыгрузкуТоваров() Тогда //завершаем выгрузку

мДрайверТСД.ПолучитьОшибку(ОписаниеОшибки);

...

КонецЕсли;

Определил так что ни на ТСД, ни в панели управления->Номенклатура, ни в файле Cleverence.Warehouse.ProductsBook.xml

тех данных что я выгружаю нет.
С Описанием ошибки уже тоже разобрался.


Приведенный пример кода (с доп полями для ЕГАИС) отрабатывает сейчас без ошибок.
Выгружаемые мной данные обнаружились в файле Cleverence.Warehouse.ProductsBook.xml в каталоге C:\ProgramData\Cleverence\Driver1C\Documents, тогда как строку подключения указываю для базы каталог которой "C:\ProgramData\Cleverence\Базы Mobile SMARTS\Mobile SMARTS ЕГАИС"

Начат

Зарегистрируйте терминал коннектор от Егаиса, видимо еще и батч драйвер установили.

Запустите с правами АДМИНИСТРАТОРА файл "Зарегистрировать COM.bat" из папки C:\Program Files (x86)\Cleverence Soft\Mobile SMARTS\Connectivity

Сервис поддержки клиентов работает на платформе UserEcho