21 июня 2014 г.

Генерация XGML-диаграммы движений документов для yEd

Описанное ранее создание UML-диаграммы движений имеет существенный недостаток - результат на выходе статичен, а хотелось бы иметь возможность в последствии еще внести изменения в схему. Поэтому решил написать генерацию диаграммы для какого-нибудь редактора. Искать долго не пришлось, выбор пал на yEd Graph Editor, поскольку уже продолжительное время использую ее для создания разного рода диаграмм и полностью ею доволен. Программа позволяет читать данные из .xgml файлов, которые представляют собой текстовый XML. Разобравшись по быстрому со структурой файла, набросал для себя простенькую обработку.

24 мая 2014 г.

Реализация иерархии в перечислениях

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

12 февр. 2014 г.

Запись во внешний источник данных 1С, новые возможности

В 8.3.4 в свойствах объекта "Внешний источник данных" появилась вкладка "Функции". Для внешних таблиц MSSQL данный функционал позволяет подключить к 1С хранимые процедуры и функции на стороне SQL. В том числе и процедуры, содержащие запросы SQL на добавление и обновление данных внешней таблицы.


По сравнению с прошлым примером количество кода 1С уменьшится, поскольку подключение через COM-объект и формирование запросов SQL на стороне 1С нам больше не потребуется.

5 февр. 2014 г.

Получение уникального идентификатора ссылки в СКД

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


Далее проведем эксперимент по быстродействию получения результата через запрос с последующей обработкой выборки и вариантов с использованием СКД.


30 янв. 2014 г.

Динамический отчет (СКД)

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


Потом возникла мысль попробовать объединить все схемы в один отчет, чтобы не плодить лишних объектов в конфигурации. При этом количество вариантов в этих схемах заранее неизвестно. Ok, challenge accepted.

29 янв. 2014 г.

Генерация UML диаграммы движений документов

При разработке более-менее сложной учетной системы разработчик обычно пытается предварительно определиться с взаимосвязями объектов этой системы. Может подойти как обычный листок бумаги с карандашом, так и специализированное ПО. Так же при проектировании диаграмм можно придерживаться определенных стандартов, например UML (Unified Modeling Language). С UML можно познакомиться с помощью курса "Моделирование на UML", почитать в онлайне книгу "Моделирование на UML" или курс лекций "Нотация и семантика языка UML" . Подборку программного обеспечения для создания UML диаграмм можно посмотреть по этим ссылкам: List of Unified Modeling Language toolsИнструменты UML-моделирования. Я в своих экспериментах использовал для генерации диаграмм онлайн-редактор CodeUML и плагин к IDE Eclipse, который можно скачать на сайте PlantUML.

14 янв. 2014 г.

Интерактивный контроль заполнения полей

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

В итоге получилось простое решение с использованием обработчика ожидания.