Команда на выгрузку в весы в 1с Розница2.3
Всем привет. Есть задача во внешней обработке назначить кнопку выгрузки товара в весы с печатью этикетки подключённые в 1С Розница.
В модуле системы я нашел код.
, но он ссылается на выделеные строки в форме выбора устройства в подключённых офлайн устройств.
Мне же надо что бы по команде выгружались во все весы с учетом плана обмена, без дополнительного выбора реквизитов.
Через тоже не могу сообразить как это сделать.
В модуле системы я нашел код.
ПодключаемоеОборудованиеOfflineКлиент.НачатьВыгрузкуТоваровВВесы(, Элементы.Весы.ВыделенныеСтроки, Ложь);
Мне же надо что бы по команде выгружались во все весы с учетом плана обмена, без дополнительного выбора реквизитов.
Через
МенеджерОборудованияКлиент.НачатьВыгрузкуДанныеВВесыСПечатьюЭтикеток
Найденные решения
Через Общий модуль смысла нету делать выгрузку. Я сделал через запрос определения ОборудованиеВесы и скопировал отредактировав код из модуля.
&НаКлиенте
Процедура Загрузка(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ВесыТоварыОперацияЗавершение", ЭтотОбъект);
НачатьВыгрузкуТоваровВВесы(ОписаниеОповещения, ОборудованиеВесы, Ложь);
КонецПроцедуры
&НаКлиенте
Процедура ВесыТоварыОперацияЗавершение(РезультатВыполнения, Параметры) Экспорт
Состояние("Вроде все");
КонецПроцедуры
&НаКлиенте
Процедура НачатьВыгрузкуТоваровВВесыЗавершение(РезультатВыполнения, Параметры) Экспорт
ТекстСообщения = НСтр("ru = 'Устройство:'") + Символы.НПП + РезультатВыполнения.ИдентификаторУстройства + Символы.ПС;
Если РезультатВыполнения.Результат Тогда
ПодключаемоеОборудованиеOfflineВызовСервера.ПриВыгрузкеТоваровВУстройство(РезультатВыполнения.ИдентификаторУстройства, Параметры.СтруктураДанные,
Параметры.ЧастичнаяВыгрузка, РезультатВыполнения.Результат);
ТекстСообщения = ТекстСообщения + НСтр("ru = 'Товары успешно выгружены.'");
Иначе
ТекстСообщения = ТекстСообщения + НСтр("ru = 'Выгрузить товары не удалось:'") + Символы.НПП + РезультатВыполнения.ОписаниеОшибки;
КонецЕсли;
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения);
Если Параметры.ОповещениеПриВыгрузке <> Неопределено Тогда
ВыполнитьОбработкуОповещения(Параметры.ОповещениеПриВыгрузке, РезультатВыполнения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НачатьВыгрузкуТоваровВВесы(ОповещениеПриВыгрузке, МассивУстройств, ЧастичнаяВыгрузка) Экспорт
Состояние(НСтр("ru = 'Выполняется выгрузка товаров в весы с печатью этикеток...'"));
СтруктураДанные = ПодключаемоеОборудованиеOfflineВызовСервера.ДанныеДляВесов(ОборудованиеВесы, ЧастичнаяВыгрузка);
Контекст = Новый Структура("ОповещениеПриВыгрузке, СтруктураДанные, ЧастичнаяВыгрузка", ОповещениеПриВыгрузке, СтруктураДанные, ЧастичнаяВыгрузка);
Если Не ЗначениеЗаполнено(СтруктураДанные) Или СтруктураДанные.Данные.Количество() = 0 Тогда
Если Не ЗначениеЗаполнено(СтруктураДанные) Тогда
ОписаниеОшибки = НСтр("ru = 'План обмена не установлен.'");
ИначеЕсли СтруктураДанные.КоличествоНеВыгруженныхСтрокСОшибками = 0 Тогда
ОписаниеОшибки = НСтр("ru = 'Нет данных для выгрузки.'");
Иначе
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Данные не выгружены. Обнаружено ошибок:%1'"), СтруктураДанные.КоличествоНеВыгруженныхСтрокСОшибками);
КонецЕсли;
РезультатВыполнения = Новый Структура("Результат, ОписаниеОшибки, ИдентификаторУстройства", Ложь, ОписаниеОшибки, ОборудованиеВесы);
НачатьВыгрузкуТоваровВВесыЗавершение(РезультатВыполнения, Контекст);
Иначе
ИдентификаторКлиента = Новый УникальныйИдентификатор;
ОписаниеОповещения = Новый ОписаниеОповещения("НачатьВыгрузкуТоваровВВесыЗавершение", ЭтотОбъект, Контекст);
МенеджерОборудованияКлиент.НачатьВыгрузкуДанныеВВесыСПечатьюЭтикеток(ОписаниеОповещения,
ИдентификаторКлиента, СтруктураДанные.Данные, ОборудованиеВесы, СтруктураДанные.ЧастичнаяВыгрузка)
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Через Общий модуль смысла нету делать выгрузку. Я сделал через запрос определения ОборудованиеВесы и скопировал отредактировав код из модуля.
&НаКлиенте
Процедура Загрузка(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ВесыТоварыОперацияЗавершение", ЭтотОбъект);
НачатьВыгрузкуТоваровВВесы(ОписаниеОповещения, ОборудованиеВесы, Ложь);
КонецПроцедуры
&НаКлиенте
Процедура ВесыТоварыОперацияЗавершение(РезультатВыполнения, Параметры) Экспорт
Состояние("Вроде все");
КонецПроцедуры
&НаКлиенте
Процедура НачатьВыгрузкуТоваровВВесыЗавершение(РезультатВыполнения, Параметры) Экспорт
ТекстСообщения = НСтр("ru = 'Устройство:'") + Символы.НПП + РезультатВыполнения.ИдентификаторУстройства + Символы.ПС;
Если РезультатВыполнения.Результат Тогда
ПодключаемоеОборудованиеOfflineВызовСервера.ПриВыгрузкеТоваровВУстройство(РезультатВыполнения.ИдентификаторУстройства, Параметры.СтруктураДанные,
Параметры.ЧастичнаяВыгрузка, РезультатВыполнения.Результат);
ТекстСообщения = ТекстСообщения + НСтр("ru = 'Товары успешно выгружены.'");
Иначе
ТекстСообщения = ТекстСообщения + НСтр("ru = 'Выгрузить товары не удалось:'") + Символы.НПП + РезультатВыполнения.ОписаниеОшибки;
КонецЕсли;
ОбщегоНазначенияКлиент.СообщитьПользователю(ТекстСообщения);
Если Параметры.ОповещениеПриВыгрузке <> Неопределено Тогда
ВыполнитьОбработкуОповещения(Параметры.ОповещениеПриВыгрузке, РезультатВыполнения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура НачатьВыгрузкуТоваровВВесы(ОповещениеПриВыгрузке, МассивУстройств, ЧастичнаяВыгрузка) Экспорт
Состояние(НСтр("ru = 'Выполняется выгрузка товаров в весы с печатью этикеток...'"));
СтруктураДанные = ПодключаемоеОборудованиеOfflineВызовСервера.ДанныеДляВесов(ОборудованиеВесы, ЧастичнаяВыгрузка);
Контекст = Новый Структура("ОповещениеПриВыгрузке, СтруктураДанные, ЧастичнаяВыгрузка", ОповещениеПриВыгрузке, СтруктураДанные, ЧастичнаяВыгрузка);
Если Не ЗначениеЗаполнено(СтруктураДанные) Или СтруктураДанные.Данные.Количество() = 0 Тогда
Если Не ЗначениеЗаполнено(СтруктураДанные) Тогда
ОписаниеОшибки = НСтр("ru = 'План обмена не установлен.'");
ИначеЕсли СтруктураДанные.КоличествоНеВыгруженныхСтрокСОшибками = 0 Тогда
ОписаниеОшибки = НСтр("ru = 'Нет данных для выгрузки.'");
Иначе
ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Данные не выгружены. Обнаружено ошибок:%1'"), СтруктураДанные.КоличествоНеВыгруженныхСтрокСОшибками);
КонецЕсли;
РезультатВыполнения = Новый Структура("Результат, ОписаниеОшибки, ИдентификаторУстройства", Ложь, ОписаниеОшибки, ОборудованиеВесы);
НачатьВыгрузкуТоваровВВесыЗавершение(РезультатВыполнения, Контекст);
Иначе
ИдентификаторКлиента = Новый УникальныйИдентификатор;
ОписаниеОповещения = Новый ОписаниеОповещения("НачатьВыгрузкуТоваровВВесыЗавершение", ЭтотОбъект, Контекст);
МенеджерОборудованияКлиент.НачатьВыгрузкуДанныеВВесыСПечатьюЭтикеток(ОписаниеОповещения,
ИдентификаторКлиента, СтруктураДанные.Данные, ОборудованиеВесы, СтруктураДанные.ЧастичнаяВыгрузка)
КонецЕсли;
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот