12 февр. 2017 г.

Произвольная иерархия в СКД: вывод дерева значений


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

31 янв. 2017 г.

Произвольная иерархия в СКД

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

В СКД можно реализовать следующие варианты построения иерархии:
- к основному набору данных достраивается иерархическая структура;
- рекурсивное построение иерархии по одному набору данных.
В этом посте я хочу рассмотреть второй вариант на примере ресурсных спецификаций в демо-базе 1С:ERP 2.

6 нояб. 2016 г.

Автоматизированное тестирование: обмен данными между клиентом и менеджером


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

13 окт. 2016 г.

Передача данных таблицы значений с сервера на клиент

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

11 июн. 2016 г.

OneScript, сделай мне много баз, бесплатно, без СМС


После первых экспериментов с OneScript решил сделать себе создавалку баз на сервере 1С по списку. Реализовать такую задачу можно двумя путями. Через COM-соединение с агентом сервера и запуск 1С с ключом CreateInfoBase. Решил сделать оба варианта для оценки плюсов и минусов, и само собой, ради практики. Кстати, оказалось, вовремя сделал скрипты. Коллега вчера попробовал залить дамп базы, но не угадал со свободным место на диске. В итоге файл настроек кластера повредился. Лекарство в этом случае одно - снести каталог кластера и настроить все руками заново. Как вариант, можно попробовать бэкапить все файлы *.lst в каталоге. В моем случае половина файла 1CV8Clst.lst после падения оказалась забита нулями. Но вернемся к скриптам.

5 июн. 2016 г.

One Script to rule them all


Говорят, хороший программист должен быть ленивым. Больше думать, меньше писать, использовать готовый код. А так же автоматизировать некоторые свои рутинные ручные операции. В последнем случае можно использовать такие языки, как VBS, Python. Для самых "ленивых" 1С-ников, которые хотят автоматизироваться уже прямо сейчас, без изучения нового языка, существует проект OneScript (1Script). Скрипты для него пишутся на языке 1С, наличие платформы не обязательно.
Разработка рекомендована к ознакомлению и применению. Можно долго расписывать все плюсы использования скриптов. Но лучше попробовать самостоятельно написать какой-нибудь простой сценарий, чтобы войти во вкус. В качестве примера приведу свой скрипт запуска тестирования и исправления базы. Сначала производится восстановление последнего полного бэкапа SQL в тестовую базу. Затем запускается процесс ТИС, лог результата сохраняется в каталог со скриптом. Запуск скрипта можно сделать по расписанию, чтобы на начало рабочего дня иметь результат тестирования.