0
На рассмотрении

1С Мобильная торговля

aurit016 1 месяц назад в UROVO обновлен Михаил Феоктистов 4 дня назад 21

Здравствуйте.


Скачал все обработки и софт с сайта: https://www.rightscan.ru/solutions/rs-mobile-acs/


Работы ведутся в: Медицина. Больничная аптека, редакция 2.1 (2.1.5.14), на 1С:Предприятие 8.3 (8.3.18.1208).


Загрузка данных в ТСД производилась обработкой "1c8.3_ba_uas_zagruzkavygruzkadannykhtsd_v2.1.epf".


Терминал: urovo DT50 приобретался у вас.


Для тестов на ТСД устанавливал "1С Мобильная торговля 3.63_8.3.13.63", "1С Мобильная торговля 3.63_8.3.13.65", "1С Мобильная торговля 3.63_8.3.13.67" поведение и проблема повторяется в на всех релизах.


Проблемы:


1. В документ 1С начинаем сканировать Датаматрикс лекарства при повторном сканировании Датаматрикс происходит отбор строки, хотя в настройках "Настройка\Настройки сканирования\Отбор текущей строки при сканировании" выключена.


2. При выгрузке документа "Уведомление о приемке лекарственных препаратов" в документ "Контроль поступления" все выгружается в файле выгрузке есть данные о SGTIN и SSCC все в док. нормально выгружается. Начинаем сканировать россыпь (КиЗы без транспортной упаковки) все норм., сканируем SSCC упаковку находит и предлагает от сканировать содержимое или подтвердить, что упаковка принимается целиком, мы говорим да подтвердить, тк сканировать 200 вакцин зависимых от температуры и хранящихся при температуре -20 не реально, программа верно заносит количество из упаковки в факт. Проблема начинается при загрузке данных из документа в документ "Уведомление о приемке лекарственных препаратов" в проверку КиЗов, россыпь грузится нормально а SSCC подтвержденная руками нет, ничего не ставит даже отсканированный SSCC. Проверял выгрузку из ТСД, ТСД отдает файл xml но в нём нет данных по SSCC и его содержании, только данные по не вложенным КиЗам (россыпь).

Прошу также предоставить описание работы с ТСД по API для ускорения разработки, внедрения ТСД клиентам и упрощения разработки уникальных пожеланий клиента.

Благодарю за помощь.


ООО " Компас-С Екатеринбург" ИНН/КПП  6658429953/665801001

Сураченков Александр (программист), тел./whatsapp +7-922-135-87-53.


Приложил видео и фото:

ош. № 1 -

https://drive.google.com/file/d/1qX8WUJ7_4yde5RspudCTk0F0_eU6T-x4/view?usp=sharing

ош. № 2 -

https://drive.google.com/file/d/18C4wYarjAJy7d-sihgP9OIXJJP8i2VjP/view?usp=sharing

+1
На рассмотрении

Добрый день.

1. Отключите Настройки -> Учет -> Использовать серии. Данная настройка используется тогда, когда в документ 1С выгружаются с ПК товары с сериями и нужно отобрать нужную строку сканированием штрихкода серии.

Помогло, но теперь при повторном попадании на этот же ДатаМатрикс он увиличивает факт по строке, в итоге в док стоит прпавильно а в строке нет.

+1

Если убрать галочку Настройки - Настройки сканирования - Режим "Суммирования" при сканировании, факт увеличиваться не будет.

2. ТСД выгружает все данные, которые есть в документе "Контроль поступления",  1С Больничная аптека не понимает несколько упаковок. Мы можем выгружать данные в любой последовательности, уже снимали Видео по этой проблеме. Лучше у 1С уточнить этот вопрос, раньше они рекомендовали для каждой упаковки делать отдельный документ в 1С.

Дело не в 1С в моем случае. Порывшись в вашей обработке нашел функцию загрузить данные из ТСД в файл, прописал кнопку загрузил файл xml на раб. стол в xml были данные только по россыпи об упаковке речи небыло. И если я на ТСд создам 1С документ и начну в него сканировать россыпь и групповые упаковки то в 1С все приходит.

Можете записать видео по загрузке данных из документа 1с с загрузкой из разных упаковок. Можете также прислать dt файл вашей тестовой конфигурации.

Хорошо. Можно получить описание API по работе с ТСД?

Данная обработка предназначена только для выгрузки маркированной продукции, загружать обратно можно лишь данные из документа 1С в табличную часть товары. Для обратной загрузки кодов маркировки из документа "Контроль поступления" используйте стандартную кнопку "Загрузить из ТСД" на форме проверки и подбора маркированной продукции. Я уже сбрасывал Видео по загрузке данных из контроля поступления.

Этой обработкой я лишь хотел показать, что так отдает данные ТСД а не 1С их криво принимает как сказано в видео. И если я предложу клиенту перд выгрузкой упаковки ее сканировать и выгр в 1С меня оч далеко пошлют и будут правы. На этом видео https://drive.google.com/file/d/1w5oeRlVE8UEGB2DQtqyXkoRA96LIXYb1/view?usp=sharing из 1С документа все в полном обьеме грузится. Почему, я догадываюсь, тк все строки в таблице и нет никаких группировок по упаковкам. Мне не понятно почему нельзя переписать выгрузку из документа контроля проблема в ней, а не в 1С или компонент AddIn.RSExchange разработан 1С?

В форму контроля поступления эти данные из документа 1С не загрузятся. 

Обработка не предназначена для загрузки данных из документа контроль поступления. 

Данные из документа Контроль поступления грузятся в форме проверки маркированной продукции если установить отбор по упаковке. Документом контроль поступления пользуются и загружают из него данные, как нужно его переписать? Если вы еще раз пересмотрите наше видео, увидите, что несколько упаковок принять нельзя, это прописано в коде Больничной аптеки.

То, что 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" которые отсканированы или подтвержденные вручную в доументе контроля.

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

Пообщался с коллегами, вам придется так же дорабатывать Больничную аптеку что бы у вас корректно грузилось. Можем предложить доработать приложение для вас ориентировочная стоимость 40 тысяч рублей. 

Спасибо. Допилим своими силами БА. Ориентаровочно не подскажете сроки?

Здравствуйте. Получилось реализовать механику?

Здравствуйте, дорабатывать будем после того как согласуем ТЗ и будет произведена оплата с вашей стороны. 

Это инструкция пользователя. Мне нужен документ по описанию 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;

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