Вход | Регистрация
 

Как проще вывести GUID документа в виде штрихкода в печатной форме?

Как проще вывести GUID документа в виде штрихкода в печатной форме?
Я
   Александр111
 
14.03.20 - 09:42
Как проще вывести GUID документа в виде штрихкода в печатной форме?
1с Бухгалтерия 3.0 (БСП 3.1)
   Галахад
 
1 - 14.03.20 - 10:06
(0) Гм. А есть какие-то варианты.
   Александр111
 
2 - 14.03.20 - 10:11
В БСП в печатной форме Накладная на перемещение есть ОбластьШтрихкода, но примера использования не нашел. Непонятно что взять за основу.
   shuhard
 
3 - 14.03.20 - 10:26
(2)а константа ИспользоватьШтрихкодированиеПечатныхФормОбъектов есть ?
   shuhard
 
4 - 14.03.20 - 10:32
(3) если есть, то функционал типовой:

ПараметрыШтрихкода.Вставить("Штрихкод",        СокрЛП(ЧисловойКодПоСсылке(Ссылка)));

Функция ЧисловойКодПоСсылке(Ссылка) Экспорт
    ШестнадчатиричноеЧисло = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()),"-","");
    Возврат ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧисло(ШестнадчатиричноеЧисло);
КонецФункции
   Александр111
 
5 - 14.03.20 - 10:37
В БСП 3.1 такой константы нет.
   shuhard
 
6 - 14.03.20 - 10:39
(5) возьми код из УТ 11/ERP, у нас это штатный функционал
Процедура ВывестиШтрихкодВТабличныйДокумент(ТабличныйДокумент, Макет, Знач ОбластьМакета, Ссылка) Экспорт
    
    УстановитьПривилегированныйРежим(Истина);
    
    ВыводитьШтрихкодВОтдельнуюОбласть = Ложь;
    Если Не ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакета) Тогда
        // Картинки штрихкода в этой области макета нет.

        
        Если Макет.Области.Найти("ОбластьШтрихкода") <> Неопределено Тогда
            
            // Проверить картинку штрихкода в области "Штрихкод"

            ОбластьМакетаШтрихкод = Макет.ПолучитьОбласть("ОбластьШтрихкода");
            Если ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакетаШтрихкод) Тогда
                ОбластьМакета = ОбластьМакетаШтрихкод;
                ВыводитьШтрихкодВОтдельнуюОбласть = Истина;
            Иначе
                Возврат;
            КонецЕсли;
        Иначе
            Возврат;
        КонецЕсли;
        
    КонецЕсли;
    
    Если Не ПолучитьФункциональнуюОпцию("ИспользоватьШтрихкодированиеПечатныхФормОбъектов") Тогда
        ОбластьМакета.Рисунки.Удалить(ОбластьМакета.Рисунки.КартинкаШтрихкода);
        Возврат;
    КонецЕсли;
    
    Эталон = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("Эталон");
    КоличествоМиллиметровВПикселе = Эталон.Рисунки.Квадрат100Пикселей.Высота / 100;
    
    ПараметрыШтрихкода = Новый Структура;
    ПараметрыШтрихкода.Вставить("Ширина",          Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Ширина / КоличествоМиллиметровВПикселе));
    ПараметрыШтрихкода.Вставить("Высота",          Окр(ОбластьМакета.Рисунки.КартинкаШтрихкода.Высота / КоличествоМиллиметровВПикселе));
    ПараметрыШтрихкода.Вставить("Штрихкод",        СокрЛП(ЧисловойКодПоСсылке(Ссылка)));
    ПараметрыШтрихкода.Вставить("ТипКода",         4);// Code128

    ПараметрыШтрихкода.Вставить("ОтображатьТекст", Ложь);
    ПараметрыШтрихкода.Вставить("РазмерШрифта",    6);
    
    ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода);
    
    Если ВыводитьШтрихкодВОтдельнуюОбласть Тогда
        ТабличныйДокумент.Вывести(ОбластьМакета);
    КонецЕсли;
    
КонецПроцедуры
   Александр111
 
7 - 14.03.20 - 10:50
В БСП нет ряда функций для выполнения этой процедуры
    ОбластьМакета.Рисунки.КартинкаШтрихкода.Картинка = <<?>>МенеджерОборудованияВызовСервера.ПолучитьКартинкуШтрихкода(ПараметрыШтрихкода); (Проверка: Сервер)
{Документ._ДемоСписаниеТоваров.МодульМенеджера(309,13)}: Процедура или функция с указанным именем не определена (ЕстьКартинкаШтрихкодаВОбластиМакета)
    Если Не <<?>>ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакета) Тогда (Проверка: Сервер)
{Документ._ДемоСписаниеТоваров.МодульМенеджера(318,18)}: Процедура или функция с указанным именем не определена (ЕстьКартинкаШтрихкодаВОбластиМакета)
            Если <<?>>ЕстьКартинкаШтрихкодаВОбластиМакета(ОбластьМакетаШтрихкод) Тогда (Проверка: Сервер)
{Документ._ДемоСписаниеТоваров.МодульМенеджера(341,59)}: Процедура или функция с указанным именем не определена (ЧисловойКодПоСсылке)
    ПараметрыШтрихкода.Вставить("Штрихкод",        СокрЛП(<<?>>ЧисловойКодПоСсылке(Ссылка))); (Проверка: Сервер)
   shuhard
 
8 - 14.03.20 - 10:54
(7) возьми код из УТ 11/ERP - какая буква не понятна ?
   Александр111
 
9 - 14.03.20 - 10:58
К сожалению нет ни УТ ни ЕРП
   Александр111
 
10 - 14.03.20 - 11:01
Нашел в БПО 2.1, попробую взять оттуда
   Конструктор1С
 
11 - 14.03.20 - 13:36
Чтобы не снимать с поддержки объекты, можно допилить процедуру УправлениеПечатьюПереопределяемый.ПриПечати(). Кажется так называется. Туда передаются уже сформированные печатные формы. Можно программно вывести штрихкод

Список тем форума
Рекламное место пустует  Рекламное место пустует
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.