Skip to content

Commit

Permalink
changed 1C code and readme
Browse files Browse the repository at this point in the history
  • Loading branch information
Rooseveltiny committed Aug 26, 2022
1 parent e5e25c5 commit c2a56bd
Show file tree
Hide file tree
Showing 4 changed files with 124 additions and 25 deletions.
Binary file added .DS_Store
Binary file not shown.
12 changes: 6 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,13 @@
*.dll
*.so
*.dylib
#*.log
#*.png
#*.jpg
#*.jpeg
#*.gif
*.log
*.png
*.jpg
*.jpeg
*.gif

#temp/
temp/

# Test binary, built with `go test -c`
*.test
Expand Down
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,23 @@
7) code93
8) datamatrix
9) pdf417
10) 2of5
11) 2of5interleaved
10) 2of5 (twooffive)
11) 2of5interleaved (twooffiveinterleaved)

Установка:
1. В релизе скачать архив.
2. Поместить папку barcodeVDKextension в папку bin программы 1С.
Необходимо также дать этой папке необходимые права!
ВАЖНО - Необходимо также дать этой папке права на запись и изменение! Если 1С работает в файловом режиме,
то можно дать пользователям, а если в серверном, то необходимо дать права серверу 1С.
4. Загрузить файл ГенераторШтрихкодов.epf в конфигураторе в обработки.

Использование:
1. вариант:
Использовать метод "ПолучитьКартинкуШтрихкод" в модуле менеджере обработки. Указать необходимые параметры и просто получить картинку.
2. вариант:
Использовать метод "ПрисвоитьРисункуШтрихКод" в модуле менеджере обработки. Указать данные, область макета и рисунок на макете.
ВАЖНО - рисунок макета должен иметь имя в формате: <Любое имя рисунка>_<тип требуемого штрихкода>.

В Форме обработки можно протестировать программу, а также изучить программный интерфейс.

Тестировалась программа на относительно новой платформе Тестировалось на старой платформе 8.3.5.1625
125 changes: 109 additions & 16 deletions one_s.os
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,40 @@
// https://github.com/Rooseveltiny/barcode_go.git

// API
Функция ПолучитьБинарныйШтрихкод(Данные, ТипКода, Ширина, Высота) Экспорт

ИнициализироватьШтрихкодИПолучитьКартинку(Данные, ТипКода, Ширина, Высота);


// Функция - Получить картинку штрихкод
//
// Параметры:
// Данные - Строка - Данные штрихкода, например "112233112233" для ean13 или "https://google.com" для qrcode.
// ТипКода - Строка - Тип штрихкода, который необходимо сгенерировать например qrcode или ean13.
// Ширина - Число - Ширина требуемой картинки штрихкода.
// Высота - Число - Высота требуемой картинки штрихкода.
// Возвращаемое значение:
// Картинка - Картинка
Функция ПолучитьКартинкуШтрихкод(Данные, ТипКода, Ширина, Высота) Экспорт
ИнициализироватьШтрихкодИПолучитьКартинку(Данные, ТипКода, Ширина, Высота);
КонецФункции

Процедура ПрисвоитьРисункуШтрихКод(Данные, ОбластьМакета, Рисунок) Экспорт

ПрисвоитьМакетуРисунокШтрихкод(Данные, ОбластьМакета, Рисунок);

// Процедура - Присвоить рисунку штрихкод
//
// Параметры:
// Данные - Строка - Данные штрихкода, например "112233112233" для ean13 или "https://google.com" для qrcode.
// ОбластьМакета - ТабличныйДокумент - область или табличный документ, куда будет помещен штрихкод.
// Рисунок - РисунокТабличногоДокумента - Рисунок табличного документа или области табличного документа.
Процедура ПрисвоитьРисункуШтрихКод(Данные, ОбластьМакета, Рисунок) Экспорт
ПрисвоитьМакетуРисунокШтрихкод(Данные, ОбластьМакета, Рисунок);
КонецПроцедуры

// Служебные функции
Функция ПолучитьДанныеДляЗапуска(ПутьКПриложению, Параметры) Экспорт

// Функция - Получить данные для запуска
//
// Параметры:
// ПутьКПриложению - Строка - Абсолютный путь к исполнительному файлу.
// Параметры - Соответствие - Параметры запуска исполнительного файла, Где ключ - флаг.
// Возвращаемое значение:
// Строка - Полная команда для запуска в окружении операционной системы.
Функция ПолучитьДанныеДляЗапуска(ПутьКПриложению, Параметры)

СтрокаПараметров = ПутьКПриложению+" ";
Для каждого Параметр Из Параметры Цикл;
Expand All @@ -25,16 +45,28 @@

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

// Функция - Abs (Функция необходима для совместимости со старыми платформами).
//
// Параметры:
// Аргумент - Число - Входной параметра числа
// Возвращаемое значение:
// Число - Число результат.
Функция Abs(Знач Аргумент) Экспорт

Возврат ?(Аргумент>=0, Аргумент, -Аргумент);

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

// Функция - Получить путь до среды исполнения
// Возвращаемое значение:
// Строка - Абсолютный путь до среды исполнения программы.
Функция ПолучитьПутьДоСредыИсполнения()
Возврат КаталогПрограммы()+"barcodeVDKextension";
КонецФункции


// Функция - Получить путь исполняемый файл
// Возвращаемое значение:
// Строка - Абсолютный путь до исполняемого файла.
Функция ПолучитьПутьИсполняемыйФайл()
ПутьДоФайлаИсполнения = ПолучитьПутьДоСредыИсполнения()+"\"+"barcode_go.exe";
ФайлНаДиске = Новый Файл(ПутьДоФайлаИсполнения);
Expand All @@ -45,6 +77,9 @@
Возврат ПолучитьПутьДоСредыИсполнения()+"\"+"barcode_go.exe";
КонецФункции

// Функция - Получить путь до временной папки хранения
// Возвращаемое значение:
// Строка - Путь до папки temp где хранятся сгенерированные картинки штрихкодов.
Функция ПолучитьПутьДоВременнойПапкиХранения()
ИсходнаяДата = ТекущаяДата();
Год = Формат(ИсходнаяДата, "ДФ=гггг");
Expand All @@ -54,6 +89,9 @@
Возврат ПолучитьПутьДоСредыИсполнения()+"\"+"temp\"+ПапкаДата;
КонецФункции

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

ПутьДоВременногоХранения = ПолучитьПутьДоВременнойПапкиХранения();
Expand All @@ -63,11 +101,23 @@

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

// Функция - Получить картинку
//
// Параметры:
// ИмяФайла - Строка - Полный абсолютный путь до созданного файла.
// Возвращаемое значение:
// Картинка - Картинка
Функция ПолучитьКартинку(ИмяФайла)
ДД = Новый ДвоичныеДанные(ИмяФайла);
Возврат Новый Картинка(ДД);
Возврат Новый Картинка(ИмяФайла);
КонецФункции

// Функция - Разложить строку на подстроки (Функция необходима для совместимости со старыми платформами).
//
// Параметры:
// ВходящаяСтрока - Строка - Имя рисунка на макете.
// Разделитель - Строка - В Рамкой данной обработки будет использоваться символ "_".
// Возвращаемое значение:
// Массив - Массив со значениемя разложения
Функция РазложитьСтрокуНаПодстроки(ВходящаяСтрока, Разделитель)

МассивСтрок = Новый Массив();
Expand All @@ -82,6 +132,12 @@

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

// Функция - Получить тип штрихкода из имени
//
// Параметры:
// ИсходноеИмя - Строка - Имя рисунко должно быть следующего формата: <ЛюбоеИмя>_<ТипШтрихкода>
// Возвращаемое значение:
// Строка - Тип штрихкода, который будет указываться при запуске программы.
Функция ПолучитьТипШтрихкодаИзИмени(Знач ИсходноеИмя)

Попытка;
Expand All @@ -94,7 +150,13 @@

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

Функция ПроверитьШиринуИДлина(Ширина, Высота, ТипКода)
// Процедура - Проверить ширину и длина
//
// Параметры:
// Ширина - Число - Ширина рисунка.
// Высота - Число - Высота рисунка.
// ТипКода - Строка - Тип требуемого кода.
Процедура ПроверитьШиринуИДлина(Ширина, Высота, ТипКода)

Если Ширина < 95 Тогда
Ширина = 95;
Expand All @@ -110,8 +172,14 @@
Ширина = Ширина * 2;
Высота = Высота * 2;

КонецФункции
КонецПроцедуры

// Функция - Новые свойства картинки штрихкода (Фабричный метод)
//
// Параметры:
// Рисунок - РисунокТабличногоДокумента - Рисунок взятый с табличного документа на место которого будет помещен штрихкод.
// Возвращаемое значение:
// Структура - Структура свойств, нового рисунка на табличный документ.
Функция НовыеСвойстваКартинкиШтрихкода(Рисунок)

Ширина = 0;
Expand Down Expand Up @@ -150,7 +218,14 @@
КонецФункции

// Логика
Функция ПрисвоитьМакетуРисунокШтрихкод(Данные, ОбластьМакета, Рисунок)

// Процедура - Присвоить макету рисунок штрихкод
//
// Параметры:
// Данные - Строка - Строка данных например "111111111111" для генерации ean13.
// ОбластьМакета - ТабличныйДокумент - Табличный документ или область где будет расположен штрихкод.
// Рисунок - РисунокТабличногоДокумента - Рисунок на который будет помещен штрихкод.
Процедура ПрисвоитьМакетуРисунокШтрихкод(Данные, ОбластьМакета, Рисунок)

// Получить все необходимые свойства будущей картинки на макете.
СтруктураСвойствШтрихкодКартинки = НовыеСвойстваКартинкиШтрихкода(Рисунок);
Expand All @@ -171,8 +246,17 @@
НовыйРисунок = ОбластьМакета.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
ЗаполнитьЗначенияСвойств(НовыйРисунок, СтруктураСвойствШтрихкодКартинки);

КонецФункции
КонецПроцедуры

// Функция - Запусить приложение генерации кода
//
// Параметры:
// Данные - Строка - Данные штрихкода, например "112233112233" для ean13 или "https://google.com" для qrcode.
// ТипКода - Строка - Тип штрихкода, который необходимо сгенерировать например qrcode или ean13.
// Ширина - Число - Ширина требуемой картинки штрихкода.
// Высота - Число - Высота требуемой картинки штрихкода.
// Возвращаемое значение:
// Структура - Структура с данными сгенерированного файла.
Функция ЗапуситьПриложениеГенерацииКода(Данные, ТипКода, Ширина, Высота)

КодВозврата = Неопределено;
Expand Down Expand Up @@ -200,6 +284,15 @@

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

// Функция - Инициализировать штрихкод и получить картинку
//
// Параметры:
// Данные - Строка - Данные штрихкода, например "112233112233" для ean13 или "https://google.com" для qrcode.
// ТипКода - Строка - Тип штрихкода, который необходимо сгенерировать например qrcode или ean13.
// Ширина - Число - Ширина требуемой картинки штрихкода.
// Высота - Число - Высота требуемой картинки штрихкода.
// Возвращаемое значение:
// Картинка - Картинка сгенерированного штрихкода.
Функция ИнициализироватьШтрихкодИПолучитьКартинку(Данные, ТипКода, Ширина, Высота)

СформированныйФайлШтрихкода = ЗапуситьПриложениеГенерацииКода(Данные, ТипКода, Ширина, Высота);
Expand Down

0 comments on commit c2a56bd

Please sign in to comment.