![]() |
|
Как проще вывести GUID документа в виде штрихкода в печатной форме? | ☑ | ||
---|---|---|---|---|
0
Александр111
14.03.20
✎
09:42
|
Как проще вывести GUID документа в виде штрихкода в печатной форме?
1с Бухгалтерия 3.0 (БСП 3.1) |
|||
1
Галахад
гуру
14.03.20
✎
10:06
|
(0) Гм. А есть какие-то варианты.
|
|||
2
Александр111
14.03.20
✎
10:11
|
В БСП в печатной форме Накладная на перемещение есть ОбластьШтрихкода, но примера использования не нашел. Непонятно что взять за основу.
|
|||
3
shuhard
14.03.20
✎
10:26
|
(2)а константа ИспользоватьШтрихкодированиеПечатныхФормОбъектов есть ?
|
|||
4
shuhard
14.03.20
✎
10:32
|
(3) если есть, то функционал типовой:
ПараметрыШтрихкода.Вставить("Штрихкод", СокрЛП(ЧисловойКодПоСсылке(Ссылка))); Функция ЧисловойКодПоСсылке(Ссылка) Экспорт ШестнадчатиричноеЧисло = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()),"-",""); Возврат ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧисло(ШестнадчатиричноеЧисло); КонецФункции |
|||
5
Александр111
14.03.20
✎
10:37
|
В БСП 3.1 такой константы нет.
|
|||
6
shuhard
14.03.20
✎
10:39
|
(5) возьми код из УТ 11/ERP, у нас это штатный функционал
Процедура ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, Знач ОбластьМакета, Ссылка) Экспорт УстановитьПривилегированныйРежим(Истина); ВыводитьШтрихкодВОтдельнуюОбласть = Ложь; Если Не ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакета) Тогда // Картинки штрихкода в этой области макета нет. Если Макет.Области.Найти("ОбластьШтрихкода") <> Неопределено Тогда // Проверить картинку штрихкода в области "Штрихкод" ОбластьМакетаШтрихкод = Макет.ПолучитьОбласть("ОбластьШтрихкода"); Если ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакетаШтрихкод) Тогда ОбластьМакета = ОбластьМакетаШтрихкод; ВыводитьШтрихкодВОтдельнуюОбласть = Истина; Иначе Возврат; КонецЕсли; Иначе Возврат; КонецЕсли; КонецЕсли; Если Не ПолучитьФункциональнуюОпцию("ИспользоватьШтрихкодированиеПечатныхФормОбъектов") Тогда ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки.КартинкаШтрихкода); Возврат; КонецЕсли; Эталон = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("Эталон"); КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100; ПараметрыШтрихкода = Новый Структура; ПараметрыШтрихкода.Вставить("Ширина", Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Ширина / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("Высота", Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Высота / КоличествоМиллиметровВПикселе)); ПараметрыШтрихкода.Вставить("Штрихкод", СокрЛП(ЧисловойКодПоСсылке(Ссылка))); ПараметрыШтрихкода.Вставить("ТипКода", 4); // Code128 ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь); ПараметрыШтрихкода.Вставить("РазмерШрифта", 6); ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); Если ВыводитьШтрихкодВОтдельнуюОбласть Тогда ТабличныйДокумент.Вывести(ОбластьМакета); КонецЕсли; КонецПроцедуры |
|||
7
Александр111
14.03.20
✎
10:50
|
В БСП нет ряда функций для выполнения этой процедуры
ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = <<?>>МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); (Проверка: Сервер) {Документ._ДемоСписаниеТоваров.МодульМенеджера(309,13)}: Процедура или функция с указанным именем не определена (ЕстьКартинкаШтрихкодаВОбластиМакета) Если Не <<?>>ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакета) Тогда (Проверка: Сервер) {Документ._ДемоСписаниеТоваров.МодульМенеджера(318,18)}: Процедура или функция с указанным именем не определена (ЕстьКартинкаШтрихкодаВОбластиМакета) Если <<?>>ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакетаШтрихкод) Тогда (Проверка: Сервер) {Документ._ДемоСписаниеТоваров.МодульМенеджера(341,59)}: Процедура или функция с указанным именем не определена (ЧисловойКодПоСсылке) ПараметрыШтрихкода.Вставить("Штрихкод", СокрЛП(<<?>>ЧисловойКодПоСсылке(Ссылка))); (Проверка: Сервер) |
|||
8
shuhard
14.03.20
✎
10:54
|
(7) возьми код из УТ 11/ERP - какая буква не понятна ?
|
|||
9
Александр111
14.03.20
✎
10:58
|
К сожалению нет ни УТ ни ЕРП
|
|||
10
Александр111
14.03.20
✎
11:01
|
Нашел в БПО 2.1, попробую взять оттуда
|
|||
11
Конструктор1С
14.03.20
✎
13:36
|
Чтобы не снимать с поддержки объекты, можно допилить процедуру УправлениеПечатьюПереопределяемый.ПриПечати(). Кажется так называется. Туда передаются уже сформированные печатные формы. Можно программно вывести штрихкод
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |