DataMatrix и компактный штрих код GUID

Публикация № 127747

Разработка - Печать - Ценники

37
Компактный штрих-код для GUID в стандарте CODE128 и штрих кодирование DataMatrix

Обработка объединяет в себе специфичные способы штрих-кодирования. А именно в модуле обработки реализованы следующие методы:
1. Компактный штрих-код для GUID в стандарте CODE128. Штрих код генерируется в виде картинки. Может пригодится для штрих кодирования документов по ссылкам (Документ.ПолучитьИдентификатор()).
2. То же самое что и первый пункт, только штрих код генерируется в виде специального шрифта.
3. Реализация DataMatrix - двумерного стандарта штрих кода. Штрих код генерируется в виде специального шрифта.
* для работы пунктов 2, 3 нужно установить в Windows специальные шрифты, они прилагаются в самой обработке в виде макетов и более ничего.

Так же в данной обработке предусмотрена управляемая форма для демонстрации работы.

37

Скачать файлы

Наименование Файл Версия Размер
DataMatrix
.epf 8,49Mb
26.10.12
211
.epf 8,49Mb 211 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. alsky-2003 29 23.05.12 06:29 Сейчас в теме
Скажи, пожалуйста - обработка подходит для УТ 10,3 на 8.1 и 8.2 ?
2. olezhe 20 25.09.12 10:26 Сейчас в теме
Ошибка при выполнении файловой операции 'E:\_Разработка\Чужие\DataMatrix.epf'
по причине:
Неверный формат хранилища данных 'file://E:/_Разработка/Чужие/DataMatrix.epf'

Файл протух?
4. scompany 38 25.09.12 22:03 Сейчас в теме
(2) olezhe,
Это в режиме "Тонкий клиент" или "Конфигуратор"?
7. scompany 38 28.09.12 14:04 Сейчас в теме
(2) olezhe,
1. файл проверил у себя: работает
2. заново выложил свой файл с обработкой.

P.S. обработка написана только для тонкого клиента.
3. Loe 25.09.12 16:21 Сейчас в теме
Да, при открытии ругается.
"Ошибка при выполнении файловой операции '....\DataMatrix.epf'
по причине:
Неверный формат хранилища данных 'file://..../DataMatrix.epf'"

Как быть, что делать?
5. scompany 38 25.09.12 22:05 Сейчас в теме
6. Loe 26.09.12 21:21 Сейчас в теме
В Конфигураторе и Жирном клиенте. Это файловая ошибка, а не ошибка 1С. Пару битов не залито, файл не может быть прочтен.
8. Loe 28.09.12 16:03 Сейчас в теме
Все работает, отл.
Шрифты сохраняем в файлы *.ttf и копируем в папку шрифтов и формируем шрифт.

Скажите, scompany, если я захочу использовать Вашу наработку (точнее, Вами созданный шрифт), как мне ее/его заполучить в пользование?
9. scompany 38 28.09.12 18:22 Сейчас в теме
(8) Loe,
шрифты которые используются в обработке взяты на этом сайте:
http://grandzebu.net/informatique/codbar-en/codbar.htm
на саму обработку не накладываются никаких ограничений.
10. ksai 24.10.12 14:27 Сейчас в теме
Конфигурация УПП 1.3
При попытке нажатия на кнопку "Вывести GUID" вылетает ошибка. Посмотрел в модуле, там прописано:

ОбъектШтрихКода = Обработки.дхФормированиеШтрихКодов.Создать();
Возврат ОбъектШтрихКода.ПолучитьКартинкуШтрихКода(ШтрихКод, ТипКода, ПредставлениеКода, УголПоворота);

Обработки "дхФормированиеШтрихКодов" в типовой УПП не наблюдается.
Автор, как быть?
12. scompany 38 25.10.12 08:46 Сейчас в теме
(10) ksai,
Вместо
ОбъектШтрихКода = Обработки.дхФормированиеШтрихКодов.Создать();

напишите
ОбъектШтрихКода = ЭтотОбъект;
14. ksai 25.10.12 09:08 Сейчас в теме
(12)
Вот вся функция

Функция ПолучитьКартинкуШтрихКода(ШтрихКод, ТипКода = Неопределено, ПредставлениеКода = Неопределено, УголПоворота = 0) Экспорт

ОбъектШтрихКода = Обработки.дхФормированиеШтрихКодов.Создать();

Возврат ОбъектШтрихКода.ПолучитьКартинкуШтрихКода(ШтрихКод, ТипКода, ПредставлениеКода, УголПоворота);

КонецФункции

Если я напишу в ней ОбъектШтрихКода = ЭтотОбъект , то получится бесконечная рекурсия. Или я туплю, или что-то тут не так.
17. scompany 38 25.10.12 12:56 Сейчас в теме
(14) ksai,
Все нормально будет
18. ksai 25.10.12 16:04 Сейчас в теме
(17)
Наверно мы друг друга не поняли(

В форме обработки есть процедура:

&НаСервере
Функция ВывестиGUIDСервер()

ЭтотОбъект = РеквизитФормыВЗначение("Объект");
СтрокаКодирования1 = ЭтотОбъект.ПолучитьШтрихКодОбъекта(СокрЛП(ИдентификаторОбъекта), "Идентификатор упаковки");
ШтрихКодКартинка = ЭтотОбъект.ПолучитьКартинкуШтрихКода(СтрокаКодирования1);

Результат = Новый ТабличныйДокумент;
Макет = ЭтотОбъект.ПолучитьМакет("Макет");
ОбластьТест = Макет.ПолучитьОбласть("Тест1");
ОбластьТест.Рисунки.ШтрихКод.Картинка = ШтрихКодКартинка;
Результат.Вывести(ОбластьТест);


Возврат Результат;

КонецФункции

Здесь идет вызов функции из модуля объекта:

ШтрихКодКартинка = ЭтотОбъект.ПолучитьКартинкуШтрихКода(СтрокаКодирования1);

Листинг вызываемой функции я уже приводил:

Функция ПолучитьКартинкуШтрихКода(ШтрихКод, ТипКода = Неопределено, ПредставлениеКода = Неопределено, УголПоворота = 0) Экспорт

ОбъектШтрихКода = Обработки.дхФормированиеШтрихКодов.Создать();

Возврат ОбъектШтрихКода.ПолучитьКартинкуШтрихКода(ШтрихКод, ТипКода, ПредставлениеКода, УголПоворота);

КонецФункции

Если в этой функции по вашему совету я меняю строчку:
ОбъектШтрихКода = Обработки.дхФормированиеШтрихКодов.Создать();
на строчку:
ОбъектШтрихКода = ЭтотОбъект;
то получается, что эта функция бесконечное количество раз вызывает сама себя из самой себя, что есть рекурсия без выхода.

Так что всё нормально не получается.
19. scompany 38 26.10.12 23:27 Сейчас в теме
(18) ksai,
обновил файл, можно проверить
20. ksai 30.10.12 09:34 Сейчас в теме
(19)

Проверил, теперь всё в порядке, спасибо!
11. ksai 24.10.12 14:36 Сейчас в теме
И еще один момент.
В каком формате нужно выгружать макеты КомпонентаПечатиШтрихкодов%?
13. scompany 38 25.10.12 08:48 Сейчас в теме
(11) ksai,
Это типовые компоненты от 1С (native) они в формате ".dll"
15. ksai 25.10.12 09:09 Сейчас в теме
(13)
Понял, спасибо. А свежие версии где взять? Они на ИТС идут или в гугле искать?
16. scompany 38 25.10.12 12:55 Сейчас в теме
(15) ksai,
ИТС E:\1CIts\EXE\Demo82
или в последней УТ
21. dablack 06.06.13 00:10 Сейчас в теме
Можно ли каким либо образом в штрих код Code128 загнать помимо гуида информацию о версии данных (Ссылка.ВерсияДанных вида "AAAAFQAAAIE="), просто есть потребность помимо документа получить его версию и проверить совпадает ли она с тем, что в базе.
23. scompany 38 06.06.13 12:17 Сейчас в теме
(21) dablack,
Конечно можно, только надо модифицировать алгоритмы подготовки кода и последующей расшифровки.
Сложность будет на этапе кодировки, так там используется преобразование из 16 в 93 систему.
Надо будет приводит реквизит "Версия" к 16 основанию или иначе снизиться эффективность упаковки.
22. Loe 06.06.13 09:27 Сейчас в теме
Гм, а кто мешает? Просто создайте себе алгоритм расшифровки полученной при сканировании вашего кода строки - и пользуйтесь на здоровье.
24. dablack 06.06.13 20:33 Сейчас в теме
То, что надо делать алгоритмы зашифровки/расшифровки это понятно, я наверное не совсем корректно задал вопрос, хватит ли длины кода чтобы в один штрих засунуть Версию + ГУИД. Просто смутили строки в вашем коде:

// задобрим вид числа
Если лВидОбъекта > 255 Тогда
Возврат Неопределено;
КонецЕсли;
и

// можно закодировать не более 255 видов объектов
Результат = Новый Соответствие;
Результат.Вставить(Метаданные.НайтиПоПолномуИмени("Документ.ЗаказПокупателя"), 1);

Почему 255? Я потому и решил, что длина кончилась так сказать. Прошу прощения если не совсем корректно задаю вопросы, просто раньше не приходилось иметь дело со штрих кодированием глубже того, что есть в типовых типа печати ценников и пр. Однако спасибо вашей разработке кодирование ГУИДа уже работает в продакшене.
25. scompany 38 07.06.13 08:47 Сейчас в теме
1. Это ограничение на количество кодируемых видов объектов 1С (Документы, Справочники и т.д.). 255 видов объектов 1С или логических сущностей, что вполне избыточно. Но и это можно доработать, если нужно.
2. Cтандарт штрихкода CODE128 (EAN128) имеет свои ограничения длины, точнее явных ограничений не имеет. (штрихкод переменной длины)
3. При этом надо не забывать про другие ограничения:
- техническую возможность луча сканеров читать такие "широкие" штрихкоды
- возможность уместить на листе "широкие" штрихкоды при печати.
- чем "шире" штрихкод, тем более возрастает вероятность его порчи в процессе работы (замятия бумаги, качество печати и т.д.)

Сообственно разработка служит для обхода ограничения пункта #3.
26. dablack 07.06.13 12:46 Сейчас в теме
Спасибо. Теперь все стало ясно.
27. dablack 15.08.13 14:55 Сейчас в теме
Уважаемый scompany
Задавал пару месяцев вопрос про то как в штрих встроить №версии документа, но острой необходимости в реализации пока не было. Но вот настал тот день... Стал делать под свои нужды и вот на что наткнулся:
В Вашем коде как есть при определенных GUID-ах и КодовОбъектов штрих формируется, но считывается только его кусок(без конца или середины) , т.е. например:
GUID=7cbf5440-f94b-11e2-bbfb-001e671a3b56, код объекта = 14 (как в примере "Идентификатор упаковки") при переводе из GUIDв93 получается вот такая строка - 29|g[6:t;Edzg7'U`aXc)", а считано будет 29[6:;E7'UX) . Причем проблема замечена только у тех штрихов у которых при переводе из GUIDв93 на второй позиции число. Запустил маленькую обработку по докам за период, чтобы увидеть проблемные штрихи. Вот выдержка:

7cbf543c-f94b-11e2-bbfb-001e671a3b56 2PI,,$j'|a+kSTRZ_aXc)" C032560221980056056485<5049400;40=944=401281:090229004=40=:01<0554855104=@

7cbf543d-f94b-11e2-bbfb-001e671a3b56 23VRf(^#lZ"oXdGp_aXc)" C2122032099020=4854;0044950<290551830:01<4118804704=40=:01<05548551128@

7cbf543e-f94b-11e2-bbfb-001e671a3b56 2sbxC-R|[Svr]t<)`aXc)" C0325600744<174088141690200;:101283444435<04346145480<540=:01<05548551092@

7cbf543f-f94b-11e2-bbfb-001e671a3b56 2VoA!2FxKLmvb'2?`aXc)" C0325602098300895155608907400928123203444<14945601910<540=:01<05548551506@

7cbf5440-f94b-11e2-bbfb-001e671a3b56 29|g[6:t;Edzg7'U`aXc)" C65020300;41<:10524641434254818<4113141<2124941220<540=:01<055485514=0@

7cbf5441-f94b-11e2-bbfb-001e671a3b56 2y+19;.p+>[!mGyj`aXc)" C032560113944461605254452047944119:10515320188113<500<540=:01<05548551548@

7cbf5442-f94b-11e2-bbfb-001e671a3b56 2\8Ws?"lx6R%rWn#aaXc)" C03256023024528107419155150<740524902845443281=0444940=40=:01<05548551443@

7cbf5443-f94b-11e2-bbfb-001e671a3b56 2?E QDsgh/I)wgc9aaXc)" C03256019181815518209807441<4=006598054870441<<0560540=40=:01<05548551548@

7cbf5444-f94b-11e2-bbfb-001e671a3b56 2"RF.IgcX(@-|wXOaaXc)" C03256055190289045298041<<05:0185491141600;704:0182140=40=:01<055485514=0@

7cbf5445-f94b-11e2-bbfb-001e671a3b56 2b^lhM[_H!71$+NeaaXc)" C0325604<1;0050<4=0029:1004=90851521246 14859440:105<40=40=:01<055485510:1@

Если попробовать кодировать под другим кодом объекта, например "1" проблема вылезает, но уже на других штрихах...
В исходниках покапался, но проблему решить не смог...
28. scompany 38 16.08.13 21:06 Сейчас в теме
(27) dablack,
Добрый вечер.
Для печати используете штрих кодов какой способ используете?
1. Печать шрифтом
2. Печать компонентой 1С
3. Печать сторонней компонентой.
29. dablack 18.08.13 14:01 Сейчас в теме
30. dablack 19.08.13 09:45 Сейчас в теме
Да, действительно, если печать штрих шрифтом, то при считывании код обрезается, если печатаю стандартной компонентой, то все ок.
31. scompany 38 19.08.13 17:35 Сейчас в теме
Вот как раз печать шрифтом тестировалось не полностью.
32. azubar 38 05.04.18 14:23 Сейчас в теме
Для формирования ШК лучше использовать компоненту "КомпонентаПечатиШтрихкодов" из библиотеки работы с оборудованием (УТ11/УНФ) она на нейтив апи и одинаково хорошо работает как на винде так и на линуксе.

Для штрихкодирования по GUID объектов ИМХО удобен PDF417, это двухмерный компактный штрихкод который читают практически все сканеры с функцией 2D, учитывая что 2D сканеры сравнялись по цене с 1D заморачиваться с перекодированием длинного гуида формат одномерного шк не целеособразно.
33. evgeny43 6 26.04.18 16:40 Сейчас в теме
(32) КомпонентаПечатиШтрихкодов не умеет помоему DataMatrix , а он сейчас на мировром рынке много где используется ( в частности на фармакологии ).
если кому интересно сделал com библиотеку чисто для Data Matrix https://infostart.ru/public/823893/ мб кому поможет .
34. azubar 38 26.04.18 21:21 Сейчас в теме
(33) стандартная умеет QR, компонента которая умеет DataMatrix есть в конфигурациях Медицина https://infostart.ru/public/458889/ и вот http://cortes.ru/shtrihcode/components.php
36. evgeny43 6 27.04.18 11:18 Сейчас в теме
(34) Видел похожие варианты, перед тек как сам написал попробовал парочку , к сожалению работали только на клиенте , + мне необходимо печать с веб сервиса (т.е только серверный контекст) , ну конечно 1с не умеет печатать при серверном контексте, но это отдельная тема, для этого то же dll написал.
35. scompany 38 27.04.18 07:37 Сейчас в теме
(32)
В первую очередь обработка служит примером для реализации алгоритмов:
- пересчет из разных систем исчисления для больших чисел (на тот момент платформа имела ограничение)
- один из вариантов как можно организовать штрих-кодирование документов по GUID (на тот момент такой функции не было)
- формирование штрихкодов без использования внешних средств, кроме шрифта (как метод борьбы со "злыми администраторами")

По прошествии 5 лет, актуальность данной обработки почти исчезла
- платформу доработали
- добавили компоненты (кстати в типовых перекодирование GUID тоже используют из 16-ой в 10-ую).
DataMatrix так и нет, хотя он востребован на производствах.
- в наличие много альтернативных компонент, в т.ч. бесплатных, админы стали добрее

P.S.
Мое мнение по-поводу всех этих танцов с бубном:
Давно уже напрашивается реализация штрихкодирования на уровне платформы, без всяких компонент. (типовые натив компоненты подозрительно большие)
Например как это сделано в похожих системах: FastReport, CrystalReport и т.п.
Можно сделать специальный вид картинок в табличном документе.
37. evgeny43 6 27.04.18 11:21 Сейчас в теме
(35) <<Давно уже напрашивается реализация штрихкодирования на уровне платформы, без всяких компонент. (типовые натив компоненты подозрительно большие) >>
я с вами согласен. Но если вы хорошо разбираетесь в алгоритмах кодирования, то можете сами написать на 1с , без всяких компонент штрих кодирование, просто это очень геморойно , картинку придется рисовать массивом чисел . http://catalog.mista.ru/public/310668/ ссылка пример, как это кто то уже сделал))
38. scompany 38 27.04.18 15:48 Сейчас в теме
1. Когда-то в своей практике для формирования картинки-штрихкода на стороне сервера использовал StrokeScribe (), доп. кодом

tbc 			= Новый COMОбъект("STROKESCRIBE.StrokeScribeClass.1");
		tbc.Alphabet 	= ТипШрихКода;
		tbc.Text 		= ДанныеКода;
		
		Если ТипШрихКода = 33 Тогда
			tbc.AztecECL= УровеньКоррекции;
		Иначе	
			tbc.QrECL 	= УровеньКоррекции;
		КонецЕсли;	
		
		Если ПустаяСтрока(Подпись) = Ложь Тогда
			tbc.TextBelow	= Подпись;
		КонецЕсли;

		tbc.Rotation	= УголПоворота;
		tbc.UTF8		= Истина;
		tbc.ShowText	= ПоказыватьТекст;
		Массив	 		= tbc.GetPictureArray(2, Высота, Ширина);
		
		objXML 			= Новый COMОбъект("MSXml2.DOMDocument");
		objXML.loadXML("<Ba se64Data />");
		objDocElem 		= objXML.documentElement;
		objDocElem.dataType = "bin.base64";
		objDocElem.nodeTypedValue = Массив;
		textBase64 		= objDocElem.text;
		
		Двоичные 	= Base64Значение(textBase64);
		Результат	= Новый Картинка(Двоичные);
Показать


2. Если бы имел больше опыта, то можно было бы доработать эту компоненту:
http://ocvita.ru/ocvita-barcode
39. anig99 2696 07.09.18 22:41 Сейчас в теме
Решение хорошее. Пользуюсь уже несколько лет. Но с расширением сферы использования (другие цели, ТСД, софт) выявилась небольшая проблема. Некоторые символы в штрихкодах Code128 иногда используются как служебные. Например "|" может использоваться как разделить полей. Или первая цифра "2" в штрихкоде - признак весового штрихкода. Отловить такие баги на этапе разработки бывает сложно. Я нашел пока такое решение: ПереводИзGUIDв93 оставляет два резервных символа - "}" и "~". Я просто добавил функции, которые меняют запретные символы на два этих. Тестирую. Но если появится какой-то третий служебный символ - надо думать дальше.
Оставьте свое сообщение

См. также

1С REST API клиент. Обмен из 1С с сайтом/магазином WordPress/WooCommerce с помощью REST API 11

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf УУ Оптовая торговля Розничная торговля Абонемент ($m) Универсальные обработки WEB Универсальные функции

Обмен 1С с сайтом на WordPress и магазином Woocommerce. Внешняя обработка сделана как REST API клиент сайта WordPress, позволяет разработчику публиковать/изменять/удалять/просматривать посты/страницы/товары/фотографии (в связке с товаром/страницей) на сайте/магазине WordPress/Woocommerce. Обработки сделаны с использованием обычных форм, демо-формы использования в комплекте.

10 стартмани

29.07.2019    1955    4    osivv    14       

Экспортные процедуры и функции общих модулей БП 3.0, ЗУП 3.1, УТ 11 32

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные функции

Таблицы экспортных процедур и функций общих модулей конфигураций БП КОРП 3.0, ЗУП КОРП 3.1, УТ 11 + обработка по формированию такой таблицы из любой конфигурации.

14.06.2019    3449    329    SanchoD    29       

Работа с графической схемой в объектной модели DOM 40

Статья Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) Универсальные функции

Пример кода для работы с графической схемой в объектной модели DOM, платформа 8.3.12.

1 стартмани

04.06.2019    3440    4    botokash    19       

Программное формирование картинки в 1С:Предприятие 8.3.9 (ПотокВПамяти / ЗаписьДанных) 50

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

В статье представлен код программного формирования картинки (двоичные данные) без всяких внешних компонент, без формирования строки Base64, используя лишь встроенные механизмы 1С предприятие 8.3.9 (объекты ПотокВПамяти и ЗаписьДанных). Сам по себе код формирования картинки не несёт ничего нового. Всё описано в википедии. Захотелось попробовать новые методы, но никак не доходитили руки. В приложении обработка практически с этим же кодом.

1 стартмани

16.05.2019    4263    5    yku    7       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 511

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    25007    242    bonv    105       

Альтернатива внешним печатным формам. ЗУП 3.1 23

Статья Программист Расширение (cfe) v8 v8::СПР ЗУП3.x Зарплата Абонемент ($m) Печатные формы документов Универсальные функции Практика программирования Разработка

Как в ЗУП 3.1.8 отказаться от внешних печатных форм и расширением увеличить количество полей, доступных при редактировании макетов, для изменения печатных форм Т1, Т5, Т8 и аналогичные пользователями.

1 стартмани

30.01.2019    5864    10    Mogilnikova    2       

Использование подсистемы БСП "Заполнение объектов" 133

Статья Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    12950    8    ids79    14       

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом 13

Инструменты и обработки Программист Пользователь Архив с данными v8 КА1 БП2.0 УТ10 УПП1 Windows Абонемент ($m) Печатные формы документов Универсальные функции Email

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    11049    10    stvorl    0       

Печать НД с PDF417 x64 21

Инструменты и обработки Программист Бухгалтер Пользователь Расширение (cfe) v8 БП3.0 ЗУП3.x Россия НУ Абонемент ($m) Ценники

Переходник для использования 32-битного COM-объекта "Печать НД с PDF417" с 64-битным тонким клиентом.

1 стартмани

18.07.2018    17984    139    VGHOST    35       

Пропорциональное распределение в запросе 35

Статья Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Периодически в работе сталкиваюсь с задачей пропорционального распределения сумм в запросе. Ситуация усложняется, когда распределяемые суммы изначально не известны и определяются в процессе выполнения запроса. Эта статья один из примеров решения такой задачи.

1 стартмани

28.06.2018    7980    1    invertex    7       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула 8

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Печатные формы документов Практика программирования Универсальные функции

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    21374    21    agent00mouse    0       

Печать ценников из документа Внутреннее перемещение. 1С: Розница 23

Отчеты и формы Пользователь Внешняя обработка (ert,epf) v8 v8::УФ Розница Розничная и сетевая торговля (FMCG) Розничная торговля Абонемент ($m) Ценники

Вызов обработки Печать ценников и этикеток из документа внутреннего перемещения для 1С Розница 2.2.X.XX.

1 стартмани

22.11.2017    9076    30    independ    20       

Простые подсистемы: Библиотека подсистем 11

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 Абонемент ($m) Инструментарий разработчика Универсальные обработки Универсальные функции

Библиотека простых подсистем и наработок, облегчающих жизнь разработчика и внедренца, предоставляя относительно готовые решения. Логическое развитие линейки публикаций "Простые подсистемы". Базируются на БСП. Вошли часть ранее опубликованных подсистем и новые. Всего 5 штук (будет больше).

1 стартмани

26.10.2017    7854    7    pbabincev    1       

Размеры управляемой формы 101

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Универсальные функции

Как рассчитать ширину и высоту управляемой формы или отдельного элемента, чтобы адаптировать интерфейс программно при их изменении.

1 стартмани

08.10.2017    17594    51    json    8       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 87

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    17393    143    Bassgood    10       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38321    166    DarkAn    86       

Правильный вопрос 16

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Заметили, что пользователи бездумно кликают по первой попавшейся кнопке, не удосужившись прочитать текст предупреждения или вопроса? Данная функция призвана решить данную проблему!

1 стартмани

15.05.2017    9099    SvoyakMartin    15       

Web сервис 1С 24

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования WEB Универсальные функции

Пример реализации простого web сервиса. Особенность: не используются XDTO пакеты, определяемые в дереве конфигураций; возможность передачи любых структур данных: списки значений, таблицы значений, табличные документы и т.п.

1 стартмани

21.03.2017    22135    74    hiduk    33       

Набор математических функций 19

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Небольшой набор математических функций для работы с массивами чисел.

1 стартмани

12.01.2017    10938    2    SvoyakMartin    17       

Групповое присвоение (автоматическая генерация) штрих-кодов номенклатуре в УТ 11(Управление торговлей версии 11.1, 11.2, 11.3, 11.4) 11

Инструменты и обработки Бухгалтер Пользователь Внешняя обработка (ert,epf) v8 v8::ОУ УТ11 УУ Оптовая торговля Розничная торговля Абонемент ($m) Обработка справочников Ценники

Обработка для автоматической генерации Штрих кода всей номенклатуры или выбранной группы. Работает в конфигурациях Управление торговлей версий 11.1, 11.2, 11.3, 11.4

4 стартмани

04.01.2017    22577    130    se-Mark    17       

Отладка/доработка модуля менеджера "на лету" 89

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Данный прием позволяет отлаживать и дорабатывать модуль менеджера во внешней обработке без необходимости пересохранять конфигурацию и перезапускать базу

1 стартмани

23.10.2016    22699    19    json    22       

Автоматическое разбиение строки на подстроки по ширине колонки / ячейки или по количеству символов 12

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные обработки Универсальные функции

Длинный адрес контрагента или нестандартная фамилия не входит в одну строку, а РазмещениеТекста = Переносить по какой-либо причине не устраивает? Что можно сделать? Вот пара полезных функций для решения данного вопроса с примерами применения.

1 стартмани

21.10.2016    11740    2    SvoyakMartin    3       

Сверка таблиц при разработке через тестирование 14

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Данная статья про инструмент, который я использую уже продолжительное время, и который, по моему мнению, заслуживает внимания. Также опишу несколько примеров его применения.

1 стартмани

09.10.2016    12108    11    json    1       

Вывод Таблицы Значений или Дерева Значений на экран управляемой формы без объявления колонок в реквизитах формы 49

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Примеры взаимных преобразований Таблицы значения в Дерево значений или Табличный документ с использованием универсальных функций и макетов Системы компоновки данных. Примеры представлены в форме удобной для копирования в разработку.

1 стартмани

13.09.2016    28207    47    pavley2002    11       

Алгоритм по переносу вложенных запросов в пакеты 15

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Запросы неудобно отлаживать, если в них есть вложенные запросы. Данный алгоритм помогает отредактировать текст запроса таким образом, чтобы все вложенные запросы перенеслись в пакеты.

1 стартмани

26.08.2016    7921    19    ostapchenko.alexandr    20       

7 правил RFC 4180 22

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Универсальные функции

Что такое CSV? Описание правил формата RFC4180 и пара функций чтения/записи CSV текста в ТЗ согласно этим рекомендациям (с экранированием и _поддержкой многострочных полей_).

1 стартмани

22.08.2016    12690    15    kuzyara    2       

Генерация QR-кода (управляемая форма, обычное и управляемое приложение) 59

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Универсальные функции Универсальные обработки

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    35595    151    tunesoft    24       

Динамический отбор динамического списка. Управляемая форма 1С: 8.3 11

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

Так как в версии 1С:Предприятие 8.3.6 в управляемой форме появилась возможность получать текущие данные динамического списка с учетом всех отборов и видимости полей, было решено добавить простой удобный отбор по полям динамического списка, так как нас не устраивали стандартные отборы. В тестовой информационной базе наглядно показано как работает этот вариант отбора. При добавлении,удалении, изменении колонок динамического списка, поля отбора будут динамически строиться и работать на основании текущего состояния динамического списка - без доработки. В данной публикации только показываю идею использования новой возможности версии 1С 8.3.6, поэтому данный вариант отбора можно улучшать бесконечно.

1 стартмани

25.01.2016    16866    23    1prog@bk.ru    3       

Универсальная печать штрихкодов Linux / Windows 11

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Разработка внешних компонент Ценники

Типовая native-компонента формирования штрих-кодов, работающая под Linux/Windows, и обработка для печати штрих-кодов для обычных форм.

1 стартмани

19.01.2016    20747    84    Johny_v    16       

Автоматическая подстановка уничтожений временных таблиц в текст запроса 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    15034    SeiOkami    3       

Механизм контроля заполнения реквизитов 32

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

Механизм позволяет в пользовательском режиме настраивать контролируемые реквизиты, тем самым помогает справиться с невнимательностью пользователей. Не требует снятия с поддержки типовых объектов, внося минимум изменений в конфигурацию. Не привязан ни к конкретным конфигурациям, ни к БСП.

1 стартмани

25.10.2015    10267    28    yur4ik9408    10       

Регистрация запуска обработок во внешнем источнике данных 16

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Windows Абонемент ($m) Сервисные утилиты Универсальные функции

На нашем предприятии эксплуатируется три информационные базы, в которые по просьбам трудящихся постоянно создаются и добавляются новые внешние отчеты и обработки. Некоторые из них устаревают сразу же после их первого использования, другие чуть позже, какие-то используются постоянно. Давно хотел получить инструмент, позволяющий отслеживать статистику использования внешних отчетов и обработок.

1 стартмани

23.10.2015    8416    4    vsuh    2       

Прикрепление внешних файлов к документам и справочникам 1С 8.3 (управляемые формы) 30

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные функции Практика программирования

В данной статье мы рассмотрим, как просто и быстро в любую конфигурацию на базе управляемых форм добавить функционал прикрепления внешних файлов к документам и справочникам. Я начну описание с нуля, т.е. с создания пустой конфигурации. Так что даже любой малоопытный разработчик (вроде меня =) ) сможет реализовать данный функционал в своей или уже написанной конфигурации. Если Вам не хочется разбираться с ниже написанной инструкцией, можете скачать файл*.doc с описанием и скриншотами, либо уже саму готовую конфигурацию.

1 стартмани

15.10.2015    62971    119    omenfarsh    27       

Нелинейная многомерная оптимизация - это просто. Часть 3. Имитация отжига 39

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Математика и алгоритмы Универсальные функции

Метод имитации отжига для поиска оптимального решения. И, как обычно, универсальная функция поиска этого самого решения.

1 стартмани

13.10.2015    14828    22    dusha0020    5       

Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса 78

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом Универсальные функции Внешние источники данных

Часто бывает, что возникает необходимость загрузить множество данных из разнообразных источников в определенную форму или рабочее место. В процессе загрузки пользователь в неведении — информация готовится или нет. Прием позволяет загружать данные из нескольких источников асинхронно, не блокируя форму\интерфейс, а также отображать ошибки и состояние прогресса. По мере готовности данных, они будут отображены на форме

1 стартмани

09.10.2015    28755    133    pbazeliuk    6       

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении 58

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Россия БУ Windows Учет ТМЦ Абонемент ($m) Инструментарий разработчика Универсальные функции

Расширение позволяет без изменений конфигурации проверять остатки по регистру бухгалтерии при проведении каждого документа и запрещает проведение при появлении отрицательных остатков после проведения.

1 стартмани

17.08.2015    38207    167    ekaruk    31       

Создание и печать этикеток (ценников). Со штрих-кодами и без. Универсальная обработка 36

Отчеты и формы Программист Пользователь Конфигурация (md, cf) v8 1cv8.cf Windows Розничная торговля Абонемент ($m) Универсальные печатные формы Ценники

Эта обработка (в составе демонстрационной конфигурации) представляет собой инструмент, который позволяет делать только лишь два полезных действия: 1. создать макет для печати этикеток (ценников) в пользовательском режиме 2. напечатать заданное количество этикеток (ценников) по выбранной номенклатуре. НО!...

5 стартмани

18.07.2015    59137    265    kentavr27    47       

Ввод организации с подсказкой и разбиением в структуру реквизитов (dadata.ru) 16

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Универсальные обработки WEB Универсальные функции

Демонстрация использования подсказки при вводе организации с помощью сервиса dadata.ru и разбор результата по структуре реквизитов: название организации, адрес, ИНН, КПП, ОГРН и ФИО руководителя организации или индивидуального предпринимателя из ЕГРЮЛ / ЕГРИП и др.

2 стартмани

28.06.2015    18753    107    mnemchinov    12       

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    21035    4    Serginio    1       

Универсальный шаблонизатор HTML/XML на основе XPath 27

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Учитывая то, что в 1с появились http сервисы, которые позволяют сделать из 1с своего рода CMS, возникает необходимость формирования большого количества различных html документов из этого самого 1с. Можно формировать их с помощью конкатенации строк или с помощью объекта ДокументDOM или HTML, но это очень трудоемко и превращает код непонятно во что. Для решения этой проблемы я сделал обработку, которая на основе исходного "шаблона" и данных формирует выходной XML, который может быть и HTML'ем запросто :). Также эта обработка решает проблему формирования отчетов в html, например для рассылки их по почте.

1 стартмани

30.04.2015    12644    26    Fragster    1       

Печать штрих-кода в Бухгалтерии предприятия, ред. 2.0 и ред. 3.0 11

Отчеты и формы Программист Пользователь Внешняя обработка (ert,epf) v8 БП2.0 БП3.0 Windows Абонемент ($m) Ценники

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

1 стартмани

23.03.2015    17020    183    x_michael    9       

Использование общих модулей "Длительные операции" из состава БСП или асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса 125

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Производительность и оптимизация (HighLoad) Универсальные функции БСП (Библиотека стандартных подсистем)

В статье кратко описан способ использования процедур общих модулей "Длительные операции" из состава библиотеки стандартных подсистем (БСП). Статья будет полезна программистам и администраторам, работающих с объемными клиент-серверными базами, конфигурации которых включают в себя БСП. К длительным операциям можно отнести, например, такие процедуры как групповое проведение документов, формирование объемистых отчетов, работа с внешними источниками данных.

1 стартмани

17.03.2015    55052    163    Bassgood    15       

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр 207

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Функция предназначена для склонения выражений, которые часто требуется при формировании печатных форм договоров и прочих печатных форм. Функция склоняет по падежам ФИО, должности, числительные, валюты, единицы измерения, предметы. Также функция склоняет глаголы и прилагательные по числам и родам и существительные по числам. Имеется режим определения рода переданного выражения. Поддержка форматной строки для вывода результата. Функция не использует внешние библиотеки и веб-сервисы, написана на чистом языке 1С, и поэтому легко встраивается в любую конфигурацию или внешнюю обработку. Правила склонения оформлены в виде таблицы и могут быть легко изменены при необходимости.

1 стартмани

14.02.2015    89266    104    daMaster    87