1С: размещение штрихкода в макете

Задача: в одной из конфигураций необходима вывести на печать штрихкод.

Решение:

В БСП этой конфигурации (3.1.5) поддержка печати есть, но «зашита намертво», т.е. без особых настроек. Чуть больше настроек можно получить если вынести функцию ПолучитьКартинкуШтрихкода в отдельный модуль.

В макете разместим картинку, назовем её например ШтрихКод1. Далее в конфигурацию необходимо добавить код:

Более подробно о параметрах компоненты:

Название RU/ENТипЧтениеЗаписьОписание
Свойства, общие для всех типов штриховых кодов
ТипКода (CodeType)Число++Свойство содержит идентификатор типа штрихкода. Может принимать одно из следующих значений:
0 (тип кода — EAN8)
1 (тип кода — EAN13)
2 (тип кода — EAN128)
3 (тип кода — CODE39)
4 (тип кода — CODE128)
5 (тип кода — CODE16K)
6 (тип кода — PDF417)
7 (тип кода — Industrial2of5)
8 (тип кода — Interleaved2of5)
9 (тип кода — Code39FullASCII)
10 (тип кода — CODE93)
11 (тип кода — ITF14)
12 (тип кода — RSS14)
13 (тип кода — CodaBar)
14 (тип кода — EAN13 AddOn 2)
15 (тип кода — EAN13 AddOn 5)
16(тип кода — QR)
17(тип кода — GS1 databar extended stacked), [с версии 9.0.2.2],
18(тип кода DataMatrix ASCII), [с версии 9.0.2.2],
19(тип кода DataMatrix Base256), [с версии 9.0.2.2],
20(тип кода DataMatrix Text), [с версии 9.0.2.2],
21(тип кода DataMatrix C40), [с версии 9.0.2.2],
22(тип кода DataMatrix X12), [с версии 9.0.2.2],
23(тип кода DataMatrix Edifact)[с версии 9.0.2.2],
24(тип кода GS1 Datamatrix) [с версии 9.0.6.4]
АвтоТип (CodeAuto, AutoType)Булево++Свойство определяет признак автоматического определения ТипаКода в зависимости от значения переданных в свойствах ЗначениеКода и ТипВходныхДанных.
Когда значение свойства принимает значение «Истина» ТипКода определяется автоматически.
ЗначениеКода (CodeValue))Строка++Строка или Base64 Строка (см. свойство ТипВходныхДанных) содержащая данные генерируемого ШК
ТекстКода (CodeText)Строка+Свойство содержит подпись штрихкода
ОтображатьТекст (TextVisible)Булево++Свойство указывает необходимость отображать подпись штрихкода на сгенерированном изображении
Шрифт (Font)Шрифт++Свойство содержит шрифт, используемый при отображении подписи штрихкода
РазмерШрифта (FontSize)Число++Свойство содержит размер шрифта в пикселах
КоличествоШрифтов(FontCount)Число+Свойство содержит количество шрифтов установленных в системе, которые может использовать компонент.
Разделители (CodeSentinel)Число++Свойство содержит высоту полос-разделителей (только в EAN8 и EAN13) в процентах от высоты текста
Шрифт (Font)Шрифт++Свойство содержит шрифт, используемый при отображении строки на поверхности штрихкода (свойство имеет смысл только в том случае, когда предусмотрен вывод данной строки).
РазмерШрифта (FontSize)Число++Свойство содержит размер шрифта в пикселях
КоличествоШрифтов(FontCount)Число+Свойство содержит количество шрифтов установленных в системе, которые может использовать компонента.
ПоложениеТекста (TextPosition)Число++Свойство задаёт положение подписи. Свойство принимать следующие значения:
0 (снизу)
1 (сверху)
ПрозрачныйФон (BgTransparent)Булево++Свойство содержит признак использования прозрачного фона
УголПоворота (CanvasRotation)Число++Свойство содержит угол поворота (в градусах) штрихкода на сгенерированном изображении. Может принимать следующие значения:
0
90
180
270
УголПоворота (CanvasRotation)Число++Свойство содержит угол поворота (в градусах) штрихкода.
Может принимать следующие значения:
0
90
180
270
ВертикальноеВыравниваниеКода(BarVerticalAlign, CodeVerticalAlign)Число++Свойство задает способ вертикального выравнивания штрихкода на сгенерированном изображении.
Свойство может принимать следующие значения:
1 (по верхнему краю)
2 (по центру)
3 (по нижнему краю)
ТипВходныхДанных (InputDataType)Число++Отмечает тип входных данных, которые задаются в свойстве ЗначениеКода. Свойство может принимать следующие значения
0 –Строка
1 – Base64 строка
Результат (Result)Число+Возвращает результат генерации изображения ШК
0 – успешная генерация
1 – ошибка
УбратьЛишнийФон (RemoveExeedBackgroud, RemoveExtraBackgroud)Булево++Указывает генератору, что требуется убрать лишний фон по краям ШК. В этом случае сгенерированное изображение ШК может быть меньше, чем указанные в свойствах Ширина и Высота. Изображение штрихкода будет совпадать с максимальным размером ШК, который можно вписать в указанные Ширину и Высоту
Ширина (Width)Число++Свойство задает Ширину генерируемого изображения в пикселах
Высота (Height)Число++Свойство задает Высоту генерируемого изображения в пикселах
УровеньКоррекции (ECL)Строка++Свойство задаёт уровень коррекции ошибок. Актуально для PDF417.
МинимальнаяВысота (CodeMinHeight)Число+Свойство содержит минимально возможную высоту области, на которой может быть отображён данный штрихкод
МинимальнаяШирина (CodeMinWidth)Число+Свойство содержит минимально возможную ширину области, на которой может быть отображён штрихкод с заданными параметрами
Линейные (ld) штрихкоды
СодержитКС (CodeIsRaw, CodeHasCS)Булево++Данное свойство содержит признак того, что переданное сообщение содержит контрольный символ
ВидимостьКС (CodeShowCS)Булево++В случае, когда данное свойство принимает значение «Истина», контрольный символ будет включён в строку подписи
КонтрольныйСимвол (CodeCheckSymbol)Строка+Свойство содержит контрольный символ, если тип штрихкода предполагает его использование
PDF417
КоличествоСтолбцов (ColumnCount)Число++Свойство задаёт количество столбцов штрихкода. Актуально для PDF417
КоличествоСтрок (RowCount)Число++Свойство задаёт количество строк штрихкода. Актуально для PDF417
Пропорции (AspectRatio)Строка++Свойство задаёт соотношение высоты: ширины модулей штрихкода. Актуально для PDF417
УровеньКоррекции (ECL)Строка++Свойство задаёт уровень коррекции ошибок. Актуально для PDF417
QR
УровеньКоррекцииQR(QRErrorCorrectionLevel)Число++Свойство содержит значение уровня коррекции QR-кода.
Может принимать одно из следующих значений:
0 — L
1 — M
2 — Q
3 – H
ЛоготипКартинка(LogoImage)
ЛоготипКартинкаBase64(LogoImageBase64)
Строка+Передает PNG картинку логотипа вписываемого в QR-код в виде Base64 строки
ЛоготипРазмерПроцентОтШК(LogoSizePercentFromBarcode)Число++Отмечает процент заполнения логотипом изображения QR-кода
GS1 Databar extended stacked
GS1DatabarКоличествоСтрок(GS1DatabarRowCount)Число++Свойство содержит количество строк штрихкода GS1 Databar extended stacked
Устаревшие свойства*
Разделители (CodeSentinel)Число++Свойство содержит высоту полос-разделителей (только в EAN8 и EAN13) в процентах от высоты текста
ЦветТекста (TextColorЦвет++Свойство содержит цвет, используемый при отображении строки на поверхности штрихкода (свойство имеет смысл только в том случае, когда предусмотрен вывод данной строки).
ЦветФона (BgColor)Цвет++Свойство задаёт цвет заливки фона штрихкода. Имеет смысл только тогда, когда не используется прозрачный фон.
ЦветПолос (BarColor)Цвет++Свойство содержит цвет, используемый для заливки полос на поверхности штрихкода
ГорСмещение (CanvasXOffset)Число++(В настоящий момент не используется)
Свойство содержит значение горизонтального смещения изображения штрихкода
ВертСмещение (CanvasYOffset)Число++(В настоящий момент не используется)
Свойство содержит значение вертикального смещения изображения штрихкода
РазмерКрая (CanvasMargin)Число++(В настоящий момент не используется)
Свойство задаёт ширину рамки вокруг изображения штрихкода
ВыравниваниеКода (BarAlign)Число++(В настоящий момент не используется)
Свойство задаёт способ автоматического расположения изображения штрихкода.
Может принимать следующие значения:
0 (не использовать автоматическое выравнивание)
1 (по левому краю области)
2 (по центру)
3 (по правому краю области)
ОриентацияТекста (TextAlign)Число++Свойство задаёт способ размещения подписи штрихкода. Свойство может принимать следующие значения:
0 (выравнивание текста по центру области)
1 (выравнивание текста по левому краю области)
2 (выравнивание текста по правому краю области)
3 (растянуть текст по ширине области)
4,5,6 (варианты расположения текста, обычно применяемые на штрихкодах типов EAN8 и EAN13)

Далее собственно вывод штрихкода (пример):

1С БСП: ИнициализироватьМакетОфисногоДокумента с колонтитулами

Задача: вывести в документе сформированном на основе шаблона docx, на сервере колонтитулы только на первой странице.

Решение: гугл не помог, помог отладчик.

БСП 3.1.13 Добавление контактной информации в свой справочник

Задача: Внедрить в свой справочник контактную информацию (Например Телефон и Адрес)

Решение: используем стандартный функционал БСП

  1. В переопределяемые типы ВладелецКонтактнойИнформации добавляем справочник, куда нужно добавить контактную информацию. Если Не казан составной тип — указываем.
  2. В справочник  ВидыКонтактнойИнформации добавляем предопределенные значения: группа с указанием имени справочника и реквизиты. Например:

3. В справочник где хотим разместить контактную информацию, на форму добавляем группу «КонтактнаяИнформация»

4. В модуль формы справочника добавляем:

Внимание! Обращаю внимание что нужно на форме прописать событие «ПриСозданииНаСервере», а в самом событии закомментировать код, в котором написано, что выполнять 1 раз




1С: Прикрепляемые файлы к документу

Задача: организовать прикрепление и хранение файлов в документе. Желательно используя «штатный велосипед» 1С.

Решение:

Всё зависит от БСП на основе которой построена Ваша конфигурация. В моем случае, конфигурация Бухгалтерия 3.0.75.100, БСП 3.1.25

Узнать версию БСП можно при помощи:

Далее если есть подписка на ИТС, читаем тут или если нет, то у меня 😉

1) Чтобы ручками не заполнять все реквизиты, копируем справочник «ПередачаТоваровПрисоединенныеФайлы», копию переименовываем в <ИмяМоегоДокумента>ПрисоединенныеФайлы. В моем случае документ носит имя «Абоненты». Далее на скриншотах и в тексте я его так и буду называть. В Вашем случае это будет Ваш справочник/документ.

В реквизите «ВладелецФайла» указываем наш документ

2) В состав определяемых типов ПрисоединенныйФайл (ссылки) и ПрисоединенныйФайлОбъект (объекты) добавим наш документ:

3) Включить в состав плана обмена ОбновлениеИнформационнойБазы

4) Добавить источники у подписк и «ПереопределитьПолучаемуюФормуПрисоединенногоФайла» и «УстановитьПометкуУдаленияПрисоединенныхФайловДокументов»

5) Добавить в состав определяемых типов ВладелецПрисоединенныхФайлов (ссылки) и ВладелецПрисоединенныхФайловОбъект (объекты)

Если перед закрытием формы объекта-владельца файлов требуется проверить наличие занятых текущим пользователем файлов, то необходимо:

  • Добавить реквизит формыМожноЗакрытьФормуСФайламитипа Булево.
  • В обработчике формыПередЗакрытиемвставить вызов процедуры ПоказатьПодтверждениеЗакрытияФормыСФайлами общего модуля РаботаСФайламиКлиент по шаблону:

  • Другой код, который необходимо выполнять в обработчикеПередЗакрытием, следует размещать после вызова процедуры и проверки параметраОтказ. Например:

Результат: появившаяся «скрепочка» и список файлов по её нажатии.

Всё хорошо, одно плохо. Не понятно как это всё будет себя вести при обновлении. Предполагаю что галочки эти нужно будет расставлять каждый раз.