Ваши комментарии
Здравствуйте. Получилось реализовать механику?
Спасибо. Допилим своими силами БА. Ориентаровочно не подскажете сроки?
То, что 1С прописали мы всегда за раз перепишем и как положено, а не как они любят тяп-ляп и готово. Я думаю большинство устроило бы еслиб вы выгружали все одним списком без деления россыпь-упаковка:
1 вариант:
<Record BarCode="(01)04260142420340(21)1W2K00G4DEAG1(91)ee05(92)dGVzdIh+Kd9LwjE1JtGXCeM5ZFNCH6zoQy64UElGYb8=" BarCodeBase64="MDEwNDI2MDE0MjQyMDM0MDIxMVcySzAwRzRERUFHMTkxZWUwNTkyZEdWemRJaCtLZDlMd2pFMUp0R1hDZU01WkZOQ0g2em9ReTY0VUVsR1liOD0=" SSCC="00046800461100071343" PASS=<0/1> Name="0104260142420340211W2K00G4DEAG191ee0592dGVzdIh+Kd9LwjE1JtGXCeM5ZFNCH6zoQy64UElGYb8=" Article="" UnitOfMeasurement="" CharacteristicOfNomenclature="" SeriesOfNomenclature="" BarCodeSeriesOfNomenclature="" NumberOfBarCodes="1" Quantity="1">.
Если SSCC нет, то пустое значение или пусть вообще отсутствует все равно. PASS=<0/1> нужен если вы выгружать будите все данные скопом а не только те которые отсканированы. А в идеале чтоб при обращении RSExchange1C.DownloadTableEx(DeviceID,DownloadTable, DocumentId, <ВариантСтруктурыВыгрузки>) появился "<ВариантСтруктурыВыгрузки>" без указания он выгружает как щас выгружает и тогда не будет криков от тех кто уже работает с текущим форматом выгрузки и их все устраивает, а при указании выдает в соответствующем виде указанного варианта.
2 вариант для 1С самый идеальный даже переписывать ничегон не придется:
<?xml version="1.0" encoding="UTF-8"?>
<Table>
<Record BarCode=" (01)04260142420340(21)1W2K00G4DEAG1(91)ee05(92)dGVzdIh+Kd9LwjE1JtGXCeM5ZFNCH6zoQy64UElGYb8=" BarCodeBase64="MDEwNDI2MDE0MjQyMDM0MDIxMVcySzAwRzRERUFHMTkxZWUwNTkyZEdWemRJaCtLZDlMd2pFMUp0R1hDZU01WkZOQ0g2em9ReTY0VUVsR1liOD0=" Name="0104260142420340211W2K00G4DEAG191ee0592dGVzdIh+Kd9LwjE1JtGXCeM5ZFNCH6zoQy64UElGYb8=" Article="" UnitOfMeasurement="" CharacteristicOfNomenclature="" SeriesOfNomenclature="" BarCodeSeriesOfNomenclature="" NumberOfBarCodes="1" Quantity="1"/>
<Record BarCode="00046800461100071343" BarCodeBase64="MDAwNDY4MDA0NjExMDAwNzEzNDM=" Name="00046800461100071343" Article="" UnitOfMeasurement="" CharacteristicOfNomenclature="" SeriesOfNomenclature="" BarCodeSeriesOfNomenclature="" NumberOfBarCodes="1" Quantity="1"/>
<Record BarCode="00046800461100071367" BarCodeBase64="MDAwNDY4MDA0NjExMDAwNzEzNjc=" Name="00046800461100071367" Article="" UnitOfMeasurement="" CharacteristicOfNomenclature="" SeriesOfNomenclature="" BarCodeSeriesOfNomenclature="" NumberOfBarCodes="1" Quantity="1"/>
</Table>
Просто в выгрузку попадают все "BarCode" которые были прочитаны сканером в том числе "BarCode" трансп упаковки который был прочитан сканером и все кизы в нее входящие если пользователь сказал да все КиЗы в упаковке и не стал их сканировать или кизы которые были отсканированы и входящие в состав трансп упаковки. Если в трех словах то в выгрузке меня интересуют только те "BarCode" которые отсканированы или подтвержденные вручную в доументе контроля.
И выгружаться данные должны без группировки по упаковкам иначе такое решение продать клиенту с большим оборотом не реально.
Этой обработкой я лишь хотел показать, что так отдает данные ТСД а не 1С их криво принимает как сказано в видео. И если я предложу клиенту перд выгрузкой упаковки ее сканировать и выгр в 1С меня оч далеко пошлют и будут правы. На этом видео https://drive.google.com/file/d/1w5oeRlVE8UEGB2DQtqyXkoRA96LIXYb1/view?usp=sharing из 1С документа все в полном обьеме грузится. Почему, я догадываюсь, тк все строки в таблице и нет никаких группировок по упаковкам. Мне не понятно почему нельзя переписать выгрузку из документа контроля проблема в ней, а не в 1С или компонент AddIn.RSExchange разработан 1С?
Выгрузка из контроля поступления https://drive.google.com/file/d/1fEYM9TPP3GJxOfbImTStUNgdiapihKqh/view?usp=sharing
Это инструкция пользователя. Мне нужен документ по описанию API. Чтобы понимать для чего и как работают процедуры и функции SetParameter, Open, DownloadTableEx, GetLastError и т.д., по загрузке выгрузке данных из ТСД. Описание этой компоненты "AddIn.RSExchange.RSExchange".
Пример кода из вашей обработки:
Try
If AttachAddIn(PutToTempStorage(GetTemplateRSExchange1CAtServer()), "RSExchange", AddInType.Native) Then
RSExchange1C = New ("AddIn.RSExchange.RSExchange");
DeviceAddress = Объект.DeviceAddress;
If Not ValueIsFilled(DeviceAddress) Then
DeviceAddress = "USB";
EndIf;
RSExchange1C.SetParameter("Address", DeviceAddress);
DeviceID = "";
RSExchange1C.Open(DeviceID);
If RSExchange1C.DownloadTableEx(DeviceID,DownloadTable, DocumentId) Then
Message("Данные успешно загружены из ТСД.");
Status = True;
Else
ErrorDescription = "";
RSExchange1C.GetLastError(ErrorDescription);
If ErrorDescription = "Нет ошибок" Or ErrorDescription = "" Then
Message("При загрузке данных из ТСД произошла ошибка. Проверьте соединение с ТСД.");
Else
Message("При загрузке данных из ТСД произошла ошибка. Ответ от устройства: " + String(ErrorDescription));
EndIf;
EndIf;
RSExchange1C.Close(DeviceID);
RSExchange1C = Undefined;
Else
Message("Ошибка подключения внешней компоненты для работы с ТСД.");
EndIf;
Except
Message(ErrorDescription());
EndTry;
Хорошо. Можно получить описание API по работе с ТСД?
Дело не в 1С в моем случае. Порывшись в вашей обработке нашел функцию загрузить данные из ТСД в файл, прописал кнопку загрузил файл xml на раб. стол в xml были данные только по россыпи об упаковке речи небыло. И если я на ТСд создам 1С документ и начну в него сканировать россыпь и групповые упаковки то в 1С все приходит.
Помогло, но теперь при повторном попадании на этот же ДатаМатрикс он увиличивает факт по строке, в итоге в док стоит прпавильно а в строке нет.
Сервис поддержки клиентов работает на платформе UserEcho
Просто перешли на Атол там разработчик слушает и дорабатывает свое решение под заказчика без денег.