Универсальная подсистема ДМ

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

Разработка - Универсальные функции

Универсальная Подсистема

ДМ — дополнительные модули Это не альтернатива или дополнение БСП. Данная подсистема призвана быстро получить множество нужных функций в любой конфигурации. Для использования подсистемы изменения в конфигурацию вносить не надо. К сожалению поддержка обычных форм прекращена и поэтому данная разработка предназначена только для УФ. Разработка ведётся с 2009 года, но именно этот релиз был подготовлен на платформе 8.3.15.1565

ДМ — Дополнительные модули

 

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

Обновлять конфигурации надо только веткой «Дополнительные модули». Остальные подсистемы являются отладочными или для разработки.

 

Состав подсистемы:

 

Автообмен КД, ПД и РИБ

 

Настройка разных вариантов автообменов производится в обработке «Автообмен АРМ»):

Закладка «Настройка» - Указываются настройки автообмена. Так же тут отмечены отлюченные элементы.

На закладках «Виды документов» и «Виды справочников» указываются какие виды участвуют в автообмене по КД.

«Обмен без проведения» слишком частный случай, поэтому его не рассматриваю.

«Дополнительно» - Обязательно указать сигнальную строку, нажатием на кнопку открытия. Если сигнальная строка будет отличаться от строки запуска базы, то обмен производиться не будет. Это своего рода выключатель обмена, когда делается копия базы.

Протоколирование не использовал несколько лет, поэтому не могу ручаться, что он работает.

В настройках указываются варианты ои настройки самого обмена, где:

Закладка «Общее»

«Загрузка» - Если установлена, тогда эта настройка является для загрузки данных. Для РИБ не актуально.

«Отключена» - Если установлена, тогда настройка не работает.

«Вариант обмена»:

КД — Конвертация данных 2.х

ПД — Перенос данных. Т.к. реальных проектов не было для этого обмена, выкладывать данную разработку не буду, в виду её необкатанности.

РИБ — обмен средствами РИБ.

Закладка «КД». Здесь надо указать какой план обмена будет использоваться. При чём фильтрация будет осуществляться и указанными фильтрами в предыдущей обработке. Т.к. на больших объёмах может происходить «захлёбывание» передачи данных, можно использовать «Папка обратной связи», через которую будет производиться обратный отчёт по принятым объектам. К сожалению досконально механизм не испытан (проект завершён), поэтому возможны ошибки.

«Повторная выгрузка», это сколько минут ждать для повторной выгрузки, если ответ не получен. В общем тонкая настройка.

 

Закладка «ПД». Как уже отметил, технология не отработана, поэтому её пропускаю. Отмечу только то, что задумка позволяет осуществлять обмен только отдельными объектами, которые могут порождать запросы на дополнительные объекты. Каждый объект передаётся отдельным файлом. Точно реализован перенос справочников и документов. Скорее всего регистры сведений тоже туда «прикручу», потому что описывать алгоритм вручную тяжело и глупо.

Закладка «РИБ». Тут надо указать план обмена, по которому будет производиться обмен. Фильтров никаких нет, потому что обмен нужен для передачи данных один в один. Папка обмена, это как раз через которую осуществлять этот самый обмен. Я для транспорта использую дропбокс и уже много лет всё прекрасно работает.

Если установить признак «Префиксация объектов», тогда при записи нового справочника или документа, будет искаться основной элемент плана обмена и там реквизит «Префикс». Да, надо было привязать префикс в эту настройку, но по некоторым причинам пока реализован только такой механизм.

«Элементов в транзакции» - указание какими порциями производить отправку данных.

Остальные элементы не отработаны нормально, поэтому описывать нет смысла.

 

Алгоритмы

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

«Обработчики событий». Основная форма, это обработка «Алгоритмы (ДМ)», где на каждой закладке можно добавлять алгоритмы. Формат алгоритмов можно посмотреть в помощи (F1), поэтому отмечу только то, что данным инструментом подменяю проводки «на лету». Например, в ЗУП-е 3.1 часто подставляется уволенный сотрудник в документы, т. к. основой используется «физическое лицо», а сущность «сотрудник» как второстепенная и если человек уволен и опять принят, то выбирается часто уволенный. Так вот в подмене проводок уволенный сотрудник заменяется на работающего.

Или, например, контроль за изменением документов прописываю на закладке «Перед записью». Кодом описываю любые условия анализа и если на вызоде ЗапретРедактирования=Истина, тогда объект не будет записан.

Если нажать на кнопку «Отладка», тогда появится поле выбора обработки. Формат процедур отладки описан в помощи. Идея в том, что код алгоритма копируется в обработку, производится запись нужного документа или справочника и управление передаётся в обработку отладки, где можно спокойно писать код. При любом изменении алгоритмов пользователей выгонять не надо и ничего закрывать не требуется. Отладка срабатывает только для пользователя, которому доступна роль «дм_ПолныеПрава».

Особенно стоит отметить закладку «Интерфейсные обработчики», которая работает совместно с комплексом ЦУБД (центр управления базами данных). Идея в том, что при помощи ЦУБД проставляются вызовы в глобальные обработчики формы и на этой закладке можно, например, описывать прорисовку реквизитов и элементов формы без изменения конфигурации. Но из-за того, что ЦУБД оказалась тупиковой, пришлось её исключить из своей среды, поэтому либо вызовы прописывать при помощи расширения вручную, либо ждать новую версию, в которой будет разделена архивация баз и правка кода.

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

 

 

Блок-схемы

Данная ветка пока заморожена в виду того, что в 2018 году так и не смог найти нормальный вариант автоматического распределения объектов блок-схемы на листе. Но общая идея рабочая и жизнеспособная. Позже придумаю как всё красиво распределять на одном листе. Идея в том, что бы рисовать блок-схемы в екселе. На вход подаёшь иерархический справочник, а на выходе екселевский файл с блок-схемой. В общем ветка просто пока заморожена (пока время на разработку не дадут), поэтому удалять её не надо!

 

Дополнительные реквизиты

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

Основная идея в том, что когда рисуются произвольные реквизиты и элементы формы, надо хранить данные где-то. Для этого и предназначена данная ветка.

Смотреть идею по пути

дм_Срв.др_ЧтениеРеквизита(Ссылка, ИмяРеквизита, ЗначениеПоУмолчанию) Экспорт

дм_Срв.др_СохранениеДанных(Ссылка, ИмяРеквизита, ЗначениеРеквизита) Экспорт

Там же есть зачатки по работе с ТЧ, но вроде как есть пробелы, т. к. в бой данную ветку ещё не пускал.

 

ЖИ — Журнал изменений

Данный блок фиксирует все изменения справочников и документов. В РС просто записываются какие реквизиты были изменены и когда это было.

Настройка производится в обработке «АРМ (ЖИ)». На закладке «Общие» надо отметить «Конвертация во внутренний формат» (остальное за ненадобностью не делал).

На закладке «Фоновая обработка» надо установить степень сжатия (9 макс) и это будет указываться при помещении данных в хранилище значений. В поле «объектов за раз» я ставлю 100 и это указывает какими порциями обрабатывать данные в фоне.

На закладке «Основная работа» можно указать, что запись данных будет делаться в транзакции. При этом можно указать для каждого пользователя отдельный вариант поведения. Как показала практика, запись в транзакции приводит к потере данных при сильных нагрузках, поэтому никогда не включаю данную опцию.

Закладка «Обслуживание»:

Кнопка «Старт обслуживания» позволяет запустить внеплановую конвертацию данных ЖИ. Остальные кнопки появились эволюционно, при изменении структуры, т. е. Сейчас они не актуальны.

«Обрезание журнала по дате» - Удаляет все записи до указанной даты

«Обрезание журнала по размеру» - Обрезает журнал по записям, размер которых выше указанного. Актуально только для хранения в несжатом формате.

«Исключать хранилища значений» - Подразумевает пропуск реквизитов с типом «Хранилище значений». Всё равно там не понятно, что изменилось, поэтому можно и исключать данный вид данных.

«Исключаемые виды» - Указываются метаданные, которые не надо фиксировать.

 

Смотреть результаты надо в отчёте «Журнал изменений», где указав выборочные фильтры, можно посмотреть все изменения, например, сделанные пользователем или по конкретному объекту. Обязательно отметить «Новые» и «Изменённые», а иначе ничего выведено не будет. «Контроль времени» скорее всего не понадобится, т. к. эта часть предназначена для организаций, где производится корректировка дат документов (например, МФО).

Важно отметить, что для указания анализируемого объекта достаточно указать сам объект системы или его уникальный идентификатор (в формате 32 или 36 символов)

 

 

Источники данных

Данная ветка состоит из «Источников данных» (реализовано) и «сборщиков данных» (не реализовано). Для локальной работы достаточно только наличие источников данных и сборщики можно не использовать. Эта разработка уже используется в напоминаниях. Идея такая же как и в алгоритмах, но медологические назначение данной сущности в том, что бы просто собирать какие-то данные и формировать их по определённому формату. На выходе должна быть какая-то структура, которая описывается в вызывающей стороне, данные которой потом можно использовать дальше. Например, при помощи ИД реализовано информационное сопровождение изменения данных о запретах. Или, например, производится сбор информации о том, кому пора менять паспорт в течении месяца. В общем применять данную идею можно где угодно и как угодно.

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

 

 

Менеджер сообщений

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

 

Напоминания

Данная подсистема позволяет формировать напоминания. К сожалению для её работы необходимо при старте системы вызвать открытие формы

 

Процедура ПриНачалеРаботыСистемы()

// Отладочный запуск напоминалок

дм_Напоминания_кл.СтартФоновойРаботы();

КонецПроцедуры

 

В рабочих конфигурациях я это делаю в расширении и таким образом никакого самописного кода в модулях нет.

Сами напоминания работают совместно с источниками данных и прописываются в справочнике «дм_пп_НастройкаНапоминаний». В этом же справочнике есть описание параметров (F1). Основной формат работы такой:

1. Создаётся элемент настройки в справочнике

2. Создаётся ИД, где прописывается произвольный код, согласно информации из справочника.

3. Созданный ИД прописывается в справочнике.

4. В регистре сведений «дм_пн_Адресация» указывается адресация, для кого предназначено напоминание.

Если будет ошибка, то она зафиксируется в менеджере сообщений.

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

 

 

Отложенное проведение

Данная разработка позволяет при переносе данных осуществлять проведение через какое-то время, что бы не перегружать сервер. К сожалению при больших объёмах данный пункт оказался очень нужным. Помещать ссылку в отложенное проведение при помощи «дм_Срв.ПостановкаВОчередь(ПомещаемыйДокумент)». После этого он будет перепроведён при срабатывании соответствующего рег.задания

 

Печать

Узкоспециализированная разработка, предназначенная для формирования и вывода печатных форм. Если надо одновременно вывести 6 отдельных печатных форм и тут же отправить на принтер, при этом что бы пользователь сильно ничего не мог сделать, то эту разработку можно использовать. Конечно же в БСП есть более красивый вариант печати, но БСП не везде есть и иногда она очень сильно переписана.

 

Промежутки времени

Отдельная разработка по управлению промежутками времени. Можно указывать интервал времени и средставми этой подсистемы можно рассчитывать, когда наступит следующий. Настройка промежутка производится в справочнике «дм_РасписаниеПромежутков», а контроль наступления следующего промежутка производится вызовом

«дм_ВременныеПромежутки.ОпределениеСледующейТочкиСобытияСКонтролем(СсНаОб, ПоследняяТочка=Неопределено, ДатаН=Неопределено, ДатаО=Неопределено)»

Этот механизм используется, например, в подсистеме управления фоновыми заданиями.

 

Регистрация действий пользователей

Это частный механизм, предназначенный за анализом открытия форм пользователями. Далее можно все действия посмотреть в отчёте «дм_рдп_ОтчётПоДействиям». Для настройки данного блока, достаточно включить работу в обработке «дм_ОбщиеНастройки» на закладке «Открытие форм».

 

Управление фоновыми заданиями

Эта подсистема позволяет создавать произвольные вызовы фоновых заданий. Настройка производится в обработке «дм_АРМ_УправлениеФоновымиЗаданиями». В качестве параметров можно передавать любые ссылки на закладке «Параметры» справочника настройки. Временных промежутков тоже можно настраивать несколько.

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

 

 

Хран настроек

Хранилище настроек предназначено для сохранения различных настроек. Например, для отчётов. Данная разработка имеет возможность выбора версии (обработка «дм_ОбработкаНастроек»). В БСП более совершенный вариант и поэтому её применяю там, где никак не получается использовать блоки БСП.

 

 

Дополнительно

 

Так же там есть документ «пример_ДобавлениеРеквизитов» в котором реализованы почти все возможные варианты программного добавления реквизитов. Эдакая шпаргалка.

Имеется набор процедур и функций, предназначенных для работы с уникальными идентификаторами (36 и 32 форматы)

 

 

Обновление конфигураций

 

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

1. Скачать стандартную конфигурацию, которую планируется «накатить» на рабочую.

2. Обновить скачанную конфигурацию подсистемой «Дополнительные модули». Для этого необходимо:

а. Сравнить с ЦФ-кой, в которой есть подсистема

б. Снять все галки сравнения.

в. Снизу кнопка «действия» (кажется) и выбрать пункт «отметить по подсистемам файла».

г. Выбрать подсистему «Дополнительные модули».

е. Обновить.

3. Полученная конфигурация готова для того, чтобы её Цфкой можно было безбоязненно обновлять рабочую.

Примечание: для платформы версии 8.3.8 и выше кнопка из пункта (в) перенесена верхний левый угол.

 

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

Наименование Файл Версия Размер
Универсальная подсистема ДМ:
.cf 2,46Mb
19.10.19
4
.cf 2,46Mb 4 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. capitan 1631 22.10.19 11:38 Сейчас в теме
Только что в соседней ветке спросил - не оно ?
4. strange2007 143 22.10.19 14:28 Сейчас в теме
(1) Исключено. Это личные наработки и просто решил поделиться с народом
2. Rustig 1420 22.10.19 12:34 Сейчас в теме
(0) для каких программ разрабатывали ? какие функции реализовали?
5. strange2007 143 22.10.19 14:31 Сейчас в теме
(2) Для любых конфигураций 1С. Изначально (и сейчас тоже) идея была в том, что бы приходя на новое предприятие, сразу внедрил что-то такое, что перекрывало бы большинство типичных проблем в методологии ведения учёта. Так и получилась данная подсистема, которую разрабатывал с 2009 года. На каждом предприятии что-то добавлялось, что-то видоизменялось, что-то удалялось. Но в целом костяк остался. Единственное то, от чего отказался совсем, это от обычных форм.
3. chg 22.10.19 13:10 Сейчас в теме
интересно интересно, нужно будет затестить
6. strange2007 143 22.10.19 14:32 Сейчас в теме
(3) Обратите внимание на реализацию алгоритмов. Без отладочных модулей, увы, ценность их нулевая
7. Rustig 1420 22.10.19 15:02 Сейчас в теме
8. chg 23.10.19 05:40 Сейчас в теме
(6)вы про доп модули которые указаны на последнем скриншоте?
9. strange2007 143 23.10.19 10:56 Сейчас в теме
(8) Нет, это подветки "Алгоритмы" и "Источники данных"."
10. strange2007 143 18.11.19 08:21 Сейчас в теме
Хранилище файлов является слишком сложным по функционалу, а значит ненужным. Для предприятий написал отдельную ветку файлового хранилища, которая простая и стройная. Пока выкладывать не буду, т.к. только запускаю в работу. Мелочи исправятся и тогда уже предоставлю тут.
Оставьте свое сообщение

См. также

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

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

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

1 стартмани

17.08.2015    44256    155    ekaruk    31    

Универсальная функция получения дополнительных реквизитов и пример на форме

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

Решаем следующую задачу. Например, в справочнике «Номенклатура» — 10 дополнительных реквизитов: "Материал", "Наименование на английском", "Наименование на французском" и т.д., и 20 дополнительных реквизитов в справочнике «Характеристики номенклатуры». Необходимо вывести все характеристики по ТЧ "Товары", так называемую «Спецификацию» по «Заказу клиента» или «Заказу поставщика».

2 стартмани

05.05.2020    786    1    papche    7    

Универсальное хранилище настроек

Универсальные функции v8 Абонемент ($m)

Универсальная константа для хранения любых настроек, например интеграции с API. Легко вносить новые настройки без "ломания" выполнения кода в модулях.

1 стартмани

10.03.2020    3984    1    v.krivenko    17    

Шаблоны внешних обработок (БСП, управляемые формы)

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

Набор из шаблонов для создания внешних обработок вида: Внешняя печатная форма, Отчет на СКД, Схема СКД для сегмента, Внешняя обработка (Самостоятельная, Заполнение объектов, Создание связанных объектов). Предварительно наполнены базовым функционалом и некоторыми механизмами для отладки.

1 стартмани

01.03.2020    1640    13    riposte    0    

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

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

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

1 стартмани

21.09.2018    20384    13    stvorl    0    

Выгрузка любого запроса или таблицы значений в текст JSON

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

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

1 стартмани

07.02.2020    5007    16    user796054    18    

Универсальные функции: разложение произвольной строки адреса в структуру

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

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

1 стартмани

30.12.2019    2553    5    vik070777    10    

Подпись PDF в новой версии 8.3.16

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

Проверяем новую возможность платформы 1С:Предприятие 8 по формированию подписей в PDF.

1 стартмани

23.12.2019    3171    4    kolya_tlt    6    

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

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

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

1 стартмани

29.12.2017    34808    27    agent00mouse    0    

Простой способ загрузить файл Excel на тонком клиенте.

Загрузка и выгрузка в Excel Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

30.10.2019    6311    2    John_d    16    

Версионирование объеков УТ 10 с возможностью перехода к сохраненной версии

Журнал регистрации Универсальные функции v8 УТ10 Абонемент ($m)

Версионирование объектов УТ 10.3 с возможностью перехода к сохраненной версии. Взята стандартная система версионирования УПП, добавлена возможность восстановления ранее сохраненной версии.

1 стартмани

28.10.2019    5466    21    art.prm    8    

Картинка вместо кнопки без html

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

Вариант замены стандартных кнопок на форме для тех, кого не устраивают кнопки 1С и нет особых возможностей делать все с использованием html. Тестировал работу на платформах 8.3.10, 8.3.13, 8.3.14

1 стартмани

23.10.2019    4047    3    zatoichi    3    

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

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

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

26.05.2017    46131    15    DarkAn    86    

Вывод QR-кода типовыми средствами.

Универсальные печатные формы Сканер штрих-кода Универсальные функции v8 КА1 УТ10 УПП1 Абонемент ($m)

Вывод QR-кода типовыми средствами. На данный момент очень часто нужно вывести в печатную форму QR-код. Показываю как на примере типового кода из УТ11 это сделать. Можно использовать в любых конфигурациях с обычными формами.

1 стартмани

21.10.2019    10849    20    Емельянов Алексей    39    

Генерация QR кода для любых конфигураций 1С (обычные и управляемые формы)

Универсальные обработки Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

Для генерации используется компонента типовой конфигурации УТ11, встроенная в общий макет "КомпонентаПечатиQRКода". Ниже приведены процедуры, чтобы сделать обработку самостоятельно (только для УФ).

1 стартмани

11.10.2019    5820    31    dm1try    0    

Полезные процедуры и функции для программиста

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

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

1 стартмани

07.10.2019    24944    13    HostHost    40    

Лучшие методы сравнения таблиц значений Промо

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

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

1 стартмани

02.02.2015    101212    37    ildarovich    59    

Универсальное удаление движений регистров накопления по всем непроведенным документам

Универсальные функции Чистка базы v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.09.2019    6666    9    John_d    15    

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

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

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

10 стартмани

29.07.2019    5693    11    osivv    14    

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

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

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

14.06.2019    7765    19    SanchoD    29    

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

Универсальные функции Универсальные обработки v8 v8::УФ 1cv8.cf Абонемент ($m)

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

3 стартмани

04.02.2016    43675    166    TuneSoft    26    

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

Универсальные функции v8 v8::УФ Абонемент ($m)

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

1 стартмани

04.06.2019    7208    5    botokash    19    

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

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

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

1 стартмани

16.05.2019    8000    5    yku    7    

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

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

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

1 стартмани

30.01.2019    12312    16    Mogilnikova    3    

Создание и запуск скрипта для ввода текста на базе AutoHotkey

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

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

1 стартмани

28.01.2019    4651    1    Wezoowy    1    

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

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

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

1 стартмани

23.11.2018    22504    12    ids79    23    

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

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

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

1 стартмани

28.06.2018    10954    1    invertex    7    

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

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

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

1 стартмани

25.06.2015    25933    3    Serginio    1    

Подписка на события, преобразование объекта в JSONAPI, отправка в RabbitMQ

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

Обработка содержит функции: - сериализация объекта 1с в JSONAPI - отправка в RabbitMQ по HTTP

1 стартмани

26.02.2018    10054    20    yaxinr    3    

Проверка таблицы на дублирование строк (ТаблицаЗначений, ТабличнаяЧасть) и получение массива таких строк

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

Функция для проверки дублирования строк в ТаблицеЗначений или ТабличнойЧасти. Также, если необходимо, возвращает массив задублированных строк (можно обработать).

1 стартмани

05.02.2018    10492    6    uri1978    27    

Свертка таблицы значений. С блэкджеком и всем остальным

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

Функция свертки таблицы значений. Умеет в отличие от стандартного метода все, что можно делать на языке запросов.

1 стартмани

22.01.2018    9836    2    dusha0020    10    

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

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

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

1 стартмани

14.11.2015    18707    0    SeiOkami    3    

Определение MIME-типа файла

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

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

1 стартмани

12.01.2018    9784    6    o.nikolaev    4    

Запуск приложений на клиенте из RDP-сессии

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

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

1 стартмани

30.10.2017    10721    6    GusevNA    4    

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

Инструментарий разработчика Универсальные обработки Универсальные функции v8 Абонемент ($m)

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

1 стартмани

26.10.2017    10303    9    pbabincev    1    

Библиотека математических функций 1.1 Промо

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

Привожу тексты различных математических функций, которыми периодически пользуюсь. Основной акцент ставится на функции работы с матрицами (в 1С в качестве матриц использовались двумерные массивы). В версии 1.1 функции работы с матрицами немного переписаны для улучшения производительности.

1 стартмани

18.12.2014    24208    11    alex271    67    

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

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

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

1 стартмани

08.10.2017    24712    69    json    9    

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

Инструментарий разработчика Универсальные функции v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.05.2017    22938    165    Bassgood    10    

Универсальная процедура по загрузке файла из интернета

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

Передаем в процедуру всего два параметра: откуда взять и куда положить. Остальное она сделает сама

1 стартмани

17.05.2017    14757    11    json    2    

Полезные функции БСП Промо

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

Список часто востребованных, по моему мнению, функций из состава Библиотеки стандартных подсистем 2.2.

1 стартмани

01.02.2015    58077    24    spec8s    31    

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

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

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

1 стартмани

15.05.2017    10786    0    SvoyakMartin    15    

Web сервис 1С

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

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

1 стартмани

21.03.2017    28318    82    hiduk    34    

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

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

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

1 стартмани

12.01.2017    13111    4    SvoyakMartin    17    

Регулярные выражения без COM объектов и внешних компонент Промо

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

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

1 стартмани

09.02.2015    22901    8    boogie    38    

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

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

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

1 стартмани

14.02.2015    99463    96    daMaster    88