1c tools как пользоваться

Обновлено: 04.07.2024

Универсальные инструменты 1С для управляемых форм

Поддерживаемые операционные системы

  • Windows x86
  • Windows x64
  • Linux x64
  • Linux x86

В MacOS должно работать, но не тестировалось

Поддерживаемые клиентские приложения

  • Толстый клиент управляемое приложение
  • Тонкий клиент
  • Web клиент(частично)

Поддерживаемые режимы конфигурации

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

Способ распространения и лицензия

Подсистема разрабатывается и распространяется под лицензией GNU General Public License v3.0. Код открыт, можно копировать и распространять кому угодно, но тоже с выкладывать в общий доступ с открытым кодом.

На текущий момент содержит инструменты:

Интеграция с библиотекой стандартных подсистем (БСП)

  1. Есть возможность удобной отладки дополнительных отчетов и обраток. Подробнее в wiki
  2. В списки и формы объектов добавляется подменю "Инструменты", которое содержит пункты(Формы должны быть подключены к подсистеме "Подключаемые команды"):
    • Добавить к сравнению - добавляет выледенные объекты к сравнению для дальнейшего использования в инструменте "Сравнение объектов"
    • Редактировать объект - Позволяет текущий объект открыть в редакторе реквизитов
    • Сравнить объекты - Открывает инструмент "Сравнение объектов" с выделенными ссылками в качестве объектов сравнения. Доступно только для списков
    • Найти ссылки на объект - Открывает инструмент "Поиск ссылок на объект" для текущего объекта
    • Выгрузить объекты в XML - Выполняет выгрузку выбранных объектов с подчиненными ссылками с использованием инструмента "Выгрузка загрузка XML"

Библиотека сериализации 1С

Работа с буфером обмена ОС

Работа с регулярными выражениями

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

Необходимо в форме вычисления выражения вызвать функцию УИ_._ВТ(ЗапросИЛИМенеджерВременныхТаблиц).

Сравнение двух таблиц значений

Необходимо в форме вычисления выражения вызвать функцию _ТЗСр(ТаблицаБазовая, ТаблицаСравнения, СписокКолонок).

УИ_._ТЗСр(ТаблицаБазовая, ТаблицаСравнения) - выполнит сравнение по всем колонкам параметра ТаблицаБазовая

УИ_._ТЗСр(ТаблицаБазовая, ТаблицаСравнения, "Номенклатура,Количество")

Сериализация XML в простые структуры данных(массив, структура, соответствие)

Необходимо в форме вычисления выражения вызвать функцию _XMLОбъект(ПутьЧтения, УпроститьЭлементы).

УИ_._XMLОбъект(ЧтениеXML) - выполнит обход сущществующего объекта ЧтениеXML

УИ_._XMLОбъект("C:\1.xml") - выполнит чтение в структуры файла

УИ_._XMLОбъект(Поток) - выполнит чтение в структуры потока

УИ_._XMLОбъект("C:\1.xml", Ложь) - выполнит чтение в структуры файла без упрощения полученных структур

Необходимо в форме вычисления выражения вызвать функцию УИ_._От(ВашаПеременнаяОбъектаОтладки,НастройкиСКД). Где вместо ВашаПеременнаяОбъектаОтладки нужно передать переменную, содержащую один из доступных к отладке объектов

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

Если отладка вызывается в контексте сервера или тонкого или веб клиента, необходимая информация сохраняется в справочник Данные для отладки. В таком случае вызов отладки проиходит потом из списка справочника "Данные для отладки".

Поддерживается отладка объектов:

  • Запрос- на текущий момент отлаживаются запросы без менеджеров временных таблиц. Вызов отладки
  • Схема компоновки данных- поддерживается отладка без внешних источников данных.

УИ_._От(СхемаКомпоновкиДанных,НастройкиСКД) - будет вызвана отладка с переданными настройками

УИ_._От(СхемаКомпоновкиДанных) - будет вызвана отладка с настройками по умолчанию для СКД

УИ_._От(СхемаКомпоновкиДанных,НастройкиСКД, ВнешниеНаборыДанных) - будет вызвана отладка с переданными настройками и внешними наборами данных

  • Ссылочный объект базы- просмотр и редактирование ссылки БД

Сборка в бинарные файлы

Зависимости сборки теперь находятся в файле packagedef, в папке build для установки зависимостей необходимо выполнить команду opm install находясь в корне проекта

В корне репозитория вызвать файл сценария

Доступные параметры сборки:

  • --platformSource - Каталог установки платформы для выполнения сборки
  • --versionEDT - Версия EDT для выполнения конвертации. Для запуска через утилиту ring. Необходимо указывать, если в системе установлено более одной версии 1C:EDT
  • --cfe - Формировать сборку в формате Расширения
  • --cf - Формировать сборку в виде конфигурации

Пример ./build.sh ----platformSource=/opt/1cv8/x86_64/8.3.12.1924 --versionEDT=edt@2020.6.0

Разработка ведется в 1С:EDT

Замечания и предложения оставляйте в разделе issues.

Если кто хочет поучаствовать - добро пожаловать. Больше идей- лучше конечное решение. Перед началом прочитайте инструкцию для легкого старта

Донаты и поддержка проекта

Все собранные средства пойдут ИСКЛЮЧИТЕЛЬНО на развитие проекта и никуда более

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

Восстановление файловой базы с помощью tools 1cd

Восстановление файловой базы с помощью tools 1cd

Восстановление файловой базы с помощью tools 1cd

  • конфигурация была рабочая и пользователи в ней спокойно работали.
  • архивов свежих не было, были месячной давности, но они делались методом копирования файла 1cd, и при анализе они оказались с такой же ошибкой.
  • файл конфигурации удалось сохранить, а также удалось сохранить файл конфигурации поставщика.
  • конфигурация позволяла открывать себя на платформе версии 8.3.8. Это было важно потому, что программа Tools1CD не работает с более старшими версиями (или у меня старая версия программы).

Проблему удалось решить с помощью утилиты Tools1C (Огромное спасибо ее создателю)

Далее список шагов, которые привели к успеху:

Восстановление файловой базы с помощью tools 1cd

5.Изменил название таблицы на название из старой базы

  • В самой папке
  • В файле descr
  • Также поменял номер таблицы с 452 на 349 в полях ссылках, правда другие номера в ссылочных полях оставил такими, какие есть

6. открыл старую базу утилитой tools1C, и нажал создать таблицу из файла

Восстановление файловой базы с помощью tools 1cd

7.После этого база позволила мне выгрузить ее в файл dt.

8.Ну а после я ее перезагрузил из dt файла. И эта уже была полностью рабочая база.

Второй способ сброса пароля у пользователя информационной базы – использование программы TOOL_1CD. Суть его состоит в том, что мы устанавливаем пустой пароль для конкретного пользователя информационной базы.


Настрою вашу 1С. Опыт с 2004 года. Подробнее →

Прежде чем начать пользоваться программой, необходимо выполнить подготовительные действия, а именно конвертировать нашу базу версии 8.3 на 8.2. Это нужно для того чтобы программа смогла не только прочитать структуру БД, но и дать внести необходимые изменения. Воспользуемся для этого специальной утилитой cnvdbfl.exe, которая идет с дистрибутивом платформы 8.3.8. Найти ее можно в каталоге bin установленной платформы 8.3.

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

“C:\Program Files (x86)\1cv8\8.3.13.1644\bin\cnvdbfl.exe” -с -f 8.2.14 D:\sbros\1cv8.1cd


Файл базы у нас соответственно располагается в каталоге D:\sbros. В общем виде команда для конвертации будет иметь следующий вид, если платформа 8.3 установлена на диске C

“C:\. \1cv8\версия платформы\bin\cnvdbfl.exe” -с -f 8.2.14 ваш_путь_к_базе\1cv8.1cd

Конвертация базы в зависимости от ее размера может занять какое-то время. В нашем случае это заняло около 5 минут.

Далее запускаем программу TOOL_1CD (в нашем примере используется TOOL_1CD_alpha) и открываем сконвертированный файл базы в каталоге D:\sbros через меню “Файл-открыть”. Далее в списке имеющихся таблиц находим таблицу с именем “V8USERS”. В ней содержаться данные о пользователях. Чтобы легче было найти данную таблицу сверху можно установить галочку “Сортировать”. В результате все таблицы будут упорядочены по наименованию. Далее выбираем нужного пользователя (администратора) в таблице и встаем на колонку “DATA”. В нижнем окне отображается пароль в виде хеш.

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

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


Открываем сохраненный файл в текстовом редакторе и заменяем существующие значения, на указанное выше.


Далее сохраняем внесенные изменения и возвращаемся в TOOL_1CD. Выделяем учетную запись и нажимаем на кнопку “Редактировать таблицу” и выделяем колонку “Data”.


Далее в нижней таблице нажимаем на кнопку “Заменить BLOB\MEMO”. Далее в открывшемся окошке выбираем отредактированный файл и нажимаем на кнопку “Ок”.

После чего сохраняем изменения по кнопке изображением “Зеленой галочки” над таблицей.


Следующим шагом необходимо выполнить обратную конвертацию на версию 8.3. Открываем окно с командной строкой и прописываем следующую строку для нашего примера


После того как обратная конвертация выполнена добавляем информационную базу в список баз и запускаем ее в режиме “Конфигуратор” под тем пользователем у которого мы обнулили пароль (пустить в конфигуратор нас должно без пароля, если мы все сделали корректно). Для исключения появления возможных ошибок, которые могли возникнуть при конвертации рекомендуется произвести тестирование и исправление.

В конфигураторе выбираем пункт меню “Администрирование” и далее выбираем действие “Тестирование и исправление… ”. Перед выполнением программа будет рекомендовать создать резервную копию – нажимаем “Продолжить”. Устанавливаем нужные проверки и режимы, и нажимаем “Выполнить”.


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

И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С:

«1C:Enterprise Development Tools» – это инструмент нового поколения для разработчиков бизнес-приложений системы программ «1С:Предприятие 8».


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

Схема работы Конфигуратора

Конфигуратор (входящий в состав системы программ «1С:Предприятие» версии 8.x) работает с конфигурацией, описывающей прикладное решение. Конфигуратор подключается к информационной базе, в которой (во внутреннем формате) хранится конфигурация. В один момент времени конфигуратор может работать только с одной информационной базой, и, как следствие, только с той конфигурацией, которая хранится в этой информационной базе. Более того, для запуска и отладки используется одна версия платформы «1С:Предприятие» – та, с помощью которой выполняется подключение к информационной базе.

Схема работы «1C:Enterprise Development Tools»

DT предлагает принципиально другую схему работы.

Во-первых, конфигурация хранится не в информационной базе, а в файловой системе. Из этого вытекает возможность использования популярной системы контроля версий (git, svn), что, очевидно, является вторым существенным преимуществом. При этом следует понимать, что DT не реализует работу с системой контроля версий самостоятельно, а использует готовые механизмы платформы Eclipse. Поэтому использоваться может только та система контроля версий, поддержка (расширение) которой есть в Eclipse.

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

Главные Enterprise Development Tools отличия от обычного Конфигуратора:

1. Платформа Eclipse и возможность написания своих плагинов для удобства работы

2 . Кросплатформенность, т.е наконец-то можно работать на Mac

3. Конфигурация хранится не в информационной базе, а в файловой системе. Из этого вытекает возможность использования популярной системы контроля версий (git, svn)

4. Разрабатываемая конфигурация может использоваться с разными информационными базами и разными версиями «1С:Предприятия»

5. Одновременно можно редактировать несколько конфигураций

6. Работа в DT имеет некоторые отличия в части работы с объектами конфигурации и сохранения результатов работы, т.к. используется платформа Eclipse

7. Более удобная и быстрая командная разработка

Скачиваем и запускаем установку:

1. Сначала платформу 8.3.6


2. потом Enterprise Development Tools

Скачиваем, разархивируем и запускаем DT.exe и получаем ошибку , но это не проблема


Надо установить Java RE, идем на сайт oracle и скачиваем соответствующую вашей операционной системе версию и устанавливаем


иииииии - барабанная дробь вот она, новая среда разработки:


При первом запуске будет запрошен каталог хранения рабочей области. Установка флажка Use this as the default and do not ask again (Использовать это значение по умолчанию в дальнейшем) приведет к тому, что указанный каталог будет автоматически использовать при последующих запусках DT. Для смены рабочей области следует использовать команду File – Switch Workspace (Файл – Сменить рабочую область).


Открылся 1C: Enterprise Development Tools:


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

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

В правом нижнем углу отображены Информационные базы, импортируем одну для теста:



Если что-то не так, то изменяем и жмем Готово (Кстати, если база открыта в обычном конфигураторе, то вылетит ошибка!)

Идет импорт, спросит пользователя и пароль.


На моем Core i5 с 6 ГБ оперативки, импорт тестовой базы размером 2.5 мегабайта шел чуть больше минуты. И вот с открытым справочником Номенклатура:



Модуль (подсветка синтаксиса попроще)


Мгновенное определение ошибок (наведя курсор):


Щелкнув по красному крестику - предлагает решение, Создать Элемен , хотя надо просто дописать букву т


Слева в разделе Схема отражены все функции модуля, можно быстро перемещаться по ним:


Синтаксис-помощник мгновенно показывает информацию по свойству или функции на которой установлен курсор


Еще один интересный раздел, все огрехи в конфигурации:


Схема компоновки данных из отчета:


Так же мгновенно показывает ошибки и недочеты в запросе!

Конструктор запроса выглядит так:


Открыть Перспективу


Отладка - думаю, понятно и не буду останавливаться


Ресурсы - показывает разложенную по файлам конфигурацию. Каждый файл можно открыть для просмотра:


Синхронизация совместной работы - допустим через Git


Git - Подключение к Git


Справочная система

Справка , по сути, как и в обычном конфигураторе, только дополненная, выглядит так:


Использование помощника HelpF.pro

Наш помощник пока работает только под Windows, но вскоре мы скомпилируем под Linux и Mac

Открыв код, жмем Alt+H и в появившемся окне вводим запрос (например проверка это новый?) и жмем Найти


В результатах поиска выбираем нужное нам:


Далее в статье (1) выделяем нужный нам код и (2) жмем появившуюся кнопку Вставить



Кроме этого работают и горячие клавиши:


Вот пример нажатия Alt+D (Внимание! Alt - правый, левый работает штатно):


Подведем итоги

В целом новая платформа порадовала и удивила. Подождем когда она выйдет из тестовой версии и будут работать все объекты.

И наконец-то Eclipse - свои плагины, Git - нормальное хранение версий и командная работа. В общем - 1С идет в ногу со временем и старается для нас!

Читайте также: