Добрый день,
возник небольшой вопрос.
Есть 1С:Предприятие 8.3, конфигурация 1С:ERP Управление предприятием 2.
Для вида номенклатуры настроен учет по сериям, серия идентифицирует партию товаров по номерам.
И есть сканер штрих-кода в режиме эмуляции COM.
Есть ли в типовом функционале указанной конфигурации возможность генерировать и выводить в самописный печатный макет штрих-код, при считывании которого выводился бы серийный номер номенклатуры?
И, если можно, то как?)
Заранее спасибо.
возник небольшой вопрос.
Есть 1С:Предприятие 8.3, конфигурация 1С:ERP Управление предприятием 2.
Для вида номенклатуры настроен учет по сериям, серия идентифицирует партию товаров по номерам.
И есть сканер штрих-кода в режиме эмуляции COM.
Есть ли в типовом функционале указанной конфигурации возможность генерировать и выводить в самописный печатный макет штрих-код, при считывании которого выводился бы серийный номер номенклатуры?
И, если можно, то как?)
Заранее спасибо.
По теме из базы знаний
- СТАБИЛЬНАЯ Загрузка справочника номенклатуры в 1С:Управление торговлей 8 из прайс-листа в Excel (код открыт скачать можно бесплатно)
- Автоматическое создание штрих-кодов для номенклатуры для Розница 2.0
- Подбор номенклатуры из остатков на складе/в подразделении + Массовый ввод серийных номеров
- Распознавание и загрузка сканов в 1С "одним нажатием". УПД, ТОРГ-12, накладные, счета, номенклатура, заказы и т.д.
- Подсистема штрихкодирования серий номенклатуры для 1С:УТ 11.4/11.5 КА, ERP 2.4/2.5
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если описать ситуацию в целом - у меня есть некий самописный док-т, у которого есть макет печати.
Я хотел-бы, чтобы в макет печати выводился штрих-код, который бы кодировал значение поля "серия" из док-та.
Чтобы в дальнейшем с распечатанного макета я мог считать этот номер серии в любые док-ты движения ТМЦ, где необходимо проводить серийную продукцию.
Я хотел-бы, чтобы в макет печати выводился штрих-код, который бы кодировал значение поля "серия" из док-та.
Чтобы в дальнейшем с распечатанного макета я мог считать этот номер серии в любые док-ты движения ТМЦ, где необходимо проводить серийную продукцию.
Какая-то каша уже в голове.)
Вот кусок кода:
и ошибка: "{Документ.ФормаЗаказаКлиента.МодульМенеджера(778)}: Поле объекта не обнаружено (Серия)
СерийныйНомер=Выборка.Товары.Серия;"
в чём тут затык, как мне правильно сослаться на это поле??(
Вот кусок кода:
Макет = Документы.ФормаЗаказаКлиента.ПолучитьМакет("СБЛ_Nero");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФормаЗаказаКлиента.Номер,
| ФормаЗаказаКлиента.Дата,
| ФормаЗаказаКлиента.Товары.(
| Номенклатура,
| Серия,
| СтранаНазначения.ТипРозетки
| )
|ИЗ
| Документ.ФормаЗаказаКлиента КАК ФормаЗаказаКлиента
|ГДЕ
| ФормаЗаказаКлиента.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
////////////////////////////////////////////////////
ОбластьШтрихкод = Макет.ПолучитьОбласть("Штрихкод");
Пока Выборка.Следующий() Цикл
СерийныйНомер=Выборка.Товары.Серия;
ТабДок.Вывести(ОбластьШтрихкод);
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Ширина", 100);
ПараметрыШтрихкода.Вставить("Высота", 75);
ПараметрыШтрихкода.Вставить("Штрихкод", СерийныйНомер);
ПараметрыШтрихкода.Вставить("ТипКода", 4); //CODE128
ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина);
ПараметрыШтрихкода.Вставить("РазмерШрифта", 12);
ОбластьШтрихкод.Рисунки.ШК.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
КонецЦикла;
////////////////////////////////////////////////////
Показатьи ошибка: "{Документ.ФормаЗаказаКлиента.МодульМенеджера(778)}: Поле объекта не обнаружено (Серия)
СерийныйНомер=Выборка.Товары.Серия;"
в чём тут затык, как мне правильно сослаться на это поле??(
(12)
Попробовал
, в итоге:
{Документ.ФормаЗаказаКлиента.МодульМенеджера(781)}: Итератор для значения не определен
Для каждого Стр из ТЗТовары Цикл
Попробовал
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ТЗТовары=Выборка.Товары;
Для каждого Стр из ТЗТовары Цикл
СерийныйНомер=Стр.Серия;
ТабДок.Вывести(ОбластьШтрихкод);
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Ширина", 100);
ПараметрыШтрихкода.Вставить("Высота", 75);
ПараметрыШтрихкода.Вставить("Штрихкод", СерийныйНомер);
ПараметрыШтрихкода.Вставить("ТипКода", 4); //CODE128
ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина);
ПараметрыШтрихкода.Вставить("РазмерШрифта", 12);
ОбластьШтрихкод.Рисунки.ШК.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
КонецЦикла;
КонецЦикла;
Показать, в итоге:
{Документ.ФормаЗаказаКлиента.МодульМенеджера(781)}: Итератор для значения не определен
Для каждого Стр из ТЗТовары Цикл
теперь, почему-то, не выводит область штрихкода в печатный макет.(
код полностью
изначально код построен конструктором макетов, от себя вставил куски, выделенные слешами
код полностью
Процедура СБЛ_Nero(ТабДок, Ссылка) Экспорт
Макет = Документы.ФормаЗаказаКлиента.ПолучитьМакет("СБЛ_Nero");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФормаЗаказаКлиента.Номер,
| ФормаЗаказаКлиента.Дата,
| ФормаЗаказаКлиента.ДополнительнаяИнформация.(
| Примечания
| ),
| ФормаЗаказаКлиента.Товары.(
| Менеджер,
| Клиент,
| Номенклатура,
| Серия
| )
|ИЗ
| Документ.ФормаЗаказаКлиента КАК ФормаЗаказаКлиента
|ГДЕ
| ФормаЗаказаКлиента.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьДополнительнаяИнформацияШапка = Макет.ПолучитьОбласть("ДополнительнаяИнформацияШапка");
ОбластьДополнительнаяИнформация = Макет.ПолучитьОбласть("ДополнительнаяИнформация");
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
////////////////////////////////////////////////////
ОбластьШтрихкод = Макет.ПолучитьОбласть("Штрихкод");
////////////////////////////////////////////////////
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
////////////////////////////////////////////////////
Пока Выборка.Следующий() Цикл
ВыборкаТовары = Выборка.Товары.Выбрать();
Пока ВыборкаТовары.Следующий() Цикл
СерийныйНомер = ВыборкаТовары.Серия;
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Ширина", 100);
ПараметрыШтрихкода.Вставить("Высота", 75);
ПараметрыШтрихкода.Вставить("Штрихкод", СокрЛП(СерийныйНомер));
ПараметрыШтрихкода.Вставить("ТипКода", 4); //CODE128
ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина);
ПараметрыШтрихкода.Вставить("РазмерШрифта", 12);
ОбластьШтрихкод.Рисунки.ШК.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
КонецЦикла;
ТабДок.Вывести(ОбластьШтрихкод, ВыборкаТовары.Уровень());
КонецЦикла;
////////////////////////////////////////////////////
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьДополнительнаяИнформацияШапка);
ВыборкаДополнительнаяИнформация = Выборка.ДополнительнаяИнформация.Выбрать();
Пока ВыборкаДополнительнаяИнформация.Следующий() Цикл
ОбластьДополнительнаяИнформация.Параметры.Заполнить(ВыборкаДополнительнаяИнформация);
ТабДок.Вывести(ОбластьДополнительнаяИнформация, ВыборкаДополнительнаяИнформация.Уровень());
КонецЦикла;
ТабДок.Вывести(ОбластьТоварыШапка);
ВыборкаТовары = Выборка.Товары.Выбрать();
Пока ВыборкаТовары.Следующий() Цикл
ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
КонецЦикла;
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры
Показатьизначально код построен конструктором макетов, от себя вставил куски, выделенные слешами
чуть подправил,
теперь так:
теперь сам штрих код выводится, все ок.
Единственная проблема - ОбластьШтрихкод выводится только в самом первом макете и туда лупит все штрих-коды, которые есть.)
теперь так:
Процедура СБЛ_Nero(ТабДок, Ссылка) Экспорт
Макет = Документы.ФормаЗаказаКлиента.ПолучитьМакет("СБЛ_Nero");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФормаЗаказаКлиента.Номер,
| ФормаЗаказаКлиента.Дата,
| ФормаЗаказаКлиента.ДополнительнаяИнформация.(
| Примечания
| ),
| ФормаЗаказаКлиента.Товары.(
| Менеджер,
| Номенклатура,
| Серия
| )
|ИЗ
| Документ.ФормаЗаказаКлиента КАК ФормаЗаказаКлиента
|ГДЕ
| ФормаЗаказаКлиента.Ссылка В (&Ссылка)";
Запрос.Параметры.Вставить("Ссылка", Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
Шапка = Макет.ПолучитьОбласть("Шапка");
ОбластьДополнительнаяИнформацияШапка = Макет.ПолучитьОбласть("ДополнительнаяИнформацияШапка");
ОбластьДополнительнаяИнформация = Макет.ПолучитьОбласть("ДополнительнаяИнформация");
ОбластьТоварыШапка = Макет.ПолучитьОбласть("ТоварыШапка");
ОбластьТовары = Макет.ПолучитьОбласть("Товары");
////////////////////////////////////////////////////
ОбластьШтрихкод = Макет.ПолучитьОбласть("Штрихкод");
////////////////////////////////////////////////////
ТабДок.Очистить();
ВставлятьРазделительСтраниц = Ложь;
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ТабДок.Вывести(ОбластьЗаголовок);
////////////////////////////////////////////////////
ВыборкаТовары = Выборка.Товары.Выбрать();
Пока ВыборкаТовары.Следующий() Цикл
СерийныйНомер = ВыборкаТовары.Серия;
ПараметрыШтрихкода = Новый Структура;
ПараметрыШтрихкода.Вставить("Ширина", 100);
ПараметрыШтрихкода.Вставить("Высота", 75);
ПараметрыШтрихкода.Вставить("Штрихкод", Строка(СерийныйНомер));
ПараметрыШтрихкода.Вставить("ТипКода", 4); //CODE128
ПараметрыШтрихкода.Вставить("ОтображатьТекст", Истина);
ПараметрыШтрихкода.Вставить("РазмерШрифта", 12);
ОбластьШтрихкод.Рисунки.ШК.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
ТабДок.Вывести(ОбластьШтрихкод, ВыборкаТовары.Уровень());
КонецЦикла;
////////////////////////////////////////////////////
Шапка.Параметры.Заполнить(Выборка);
ТабДок.Вывести(Шапка, Выборка.Уровень());
ТабДок.Вывести(ОбластьДополнительнаяИнформацияШапка);
ВыборкаДополнительнаяИнформация = Выборка.ДополнительнаяИнформация.Выбрать();
Пока ВыборкаДополнительнаяИнформация.Следующий() Цикл
ОбластьДополнительнаяИнформация.Параметры.Заполнить(ВыборкаДополнительнаяИнформация);
ТабДок.Вывести(ОбластьДополнительнаяИнформация, ВыборкаДополнительнаяИнформация.Уровень());
КонецЦикла;
ТабДок.Вывести(ОбластьТоварыШапка);
ВыборкаТовары = Выборка.Товары.Выбрать();
Пока ВыборкаТовары.Следующий() Цикл
ОбластьТовары.Параметры.Заполнить(ВыборкаТовары);
ТабДок.Вывести(ОбластьТовары, ВыборкаТовары.Уровень());
КонецЦикла;
ВставлятьРазделительСтраниц = Истина;
КонецЦикла;
КонецПроцедуры
Показатьтеперь сам штрих код выводится, все ок.
Единственная проблема - ОбластьШтрихкод выводится только в самом первом макете и туда лупит все штрих-коды, которые есть.)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот