Coder Social home page Coder Social logo

tipsincd3_edt's Introduction

TipsInCD3

Контекстная подсказка в 1С КД3

Используемые инструменты:

  • В качестве редактара кода используется замечательная bsl_console от salexdv
  • При анализе модулей (настройка "регулярками", до платформы 1С 8.3.23) используется отличная внешняя NativeAPI компонента RegEx1CAddin
  • При анализе модулей (настройка "кодом 1С") используется код из проекта bsl-parser
  • Вдохновение для дальнейшей реализации взято от мощной подсистемы "Инструменты разработчика"

Порядок использования:

  1. Подключить расширение. Отключить у расширения безопасный режим, так как расширение работает с файлами. Если у расширения установлена защита от опасных действий, то при анализе модулей будет выдаваться окошко об установке внешней компоненты RegEx1CAddin.
  2. Настроить параметры подсказки в "Администрирование" - "Настройки контекстной подсказки".
  3. В "Конфигурации" -> "Релизы" настроить использование контекстной подсказки конкретной конфигурации (описано ниже).

Загрузка из исходных кодов регламентным заданием

  1. Настроить расписание загрузки из исходных кодов нужной конфигурации в справочнике "Релизы"
  2. Указать в справочнике "Релизы" для нужной конфигурации место хранения индексов метаданных. Сохраняется только глобальный контекст (процедуры/функции глобальных модулей и список общих неглобальных модулей). Для неглобального контекста индексы заполняются в момент вызова подсказки и сохраняются только в клиентском кэше на время сеанса ИБ. Варианты хранения индексов:
  • "Не использовать", если для этой конфигурации нужно отключить контекстную подсказку и оставить типовой механизм загрузки.
  • "В каталоге", если индексы должны сохраняться в выбранном каталоге. Для клиент-серверной ИБ конвертации каталог должен быть доступен с сервера 1С.
  • "В информационной базе", если индексы должны сохраняться в ИБ конвертации в РС "Безопасное хранилище данных". Ключи метаданных имеют вид "КД3<GUID конфигурации>_<Имя индекса>"
  • "Не сохранять", если индексы глобального контекста не сохраняются, а всегда заполняются в момент вызова подсказки. Для больших конфигураций можент приводить к замедлению активизации элементов обработчиков.
  1. Дождаться выполнения регламентного задания для этой конфигурации или загрузить метаданные с помощью измененной обработки "Загрузка структуры конфигурации из файлов XML/EDT многопоточно (КД3)".

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

Как работает:

  • Поля обработчиков заменяются на поля HTML документов с работающей подсказкой
  • Если в состав конвертаций входит несколько конфигураций (релизов), то на страницах обработчиков появляется группа "Контекстная подсказка" в которой можно выбрать нужную конфигурацию
  • Если для конфигурации указано расписание и каталог для загрузки из исходных кодов, то подсказка выполняется по файлам исходных кодов, иначе используются загруженные в 1С метаданные в справочниках "Объекты", "Свойства", "Значения"

Разовая загрузка из исходных кодов

  1. Отключить расписание загрузки из исходных кодов нужной конфигурации в справочнике "Релизы"
  2. С помощью модифицированной обработки "Загрузка структуры конфигурации из файлов XML/EDT многопоточно (КД3)" загрузить метаданные и их индексы. Сохраняются процедуры/функции глобальных и неглобальных общих модулей, список общих модулей, процедуры/функции модулей объекта и модулей менеджера объекта. Варианты хранения индексов:
  • "Не использовать", если не нужно загружать/хранить дополнительные метаданные контекстной подсказки.
  • "В каталоге", если индексы должны сохраняться в выбранном каталоге. Для клиент-серверной ИБ конвертации каталог должен быть доступен с сервера 1С.
  • "В информационной базе", если индексы должны сохраняться в ИБ конвертации в РС "Безопасное хранилище данных". Ключи метаданных имеют вид "КД3<GUID конфигурации>_<Имя индекса>"
  • "Не хранить", если индексы глобального контекста не сохраняются, а всегда заполняются в момент вызова подсказки.

Измененная обработка "Загрузка структуры конфигурации из файлов XML/EDT (Многопоточно) (КД3)":

  • Модифицированная версия типовой обработки с возможностью загрузки объектов метаданных в несколько потоков
  • В клиент-серверном варианте возможна загрузка метаданных объектов параллельно до 8 потоков (количество потоков выбирается в настройках обработки), в файловом варианте всегда выполняется загрузка в 1 поток
  • Добавлен детальный прогресс загрузки по объектам
  • Загружаются данные для контекстной подсказки (общие модули, методы общих модулей / модулей объектов)
  • Добавлен режим загрузки на серерве. Если выбран режим "На клиенте", то все файлы передаются с клиента на сервер через временное хранилище. В режиме "На серерве" чтение данных файлов выполняется сразу на сервере.

Замечания:

  • Используется модифицированная версия bsl_console (добавлены два метода). Изменения можно посмотреть здесь: https://github.com/GenVP/bsl_console. Методы добавляются в код bsl_console в момент распаковки исходников.
  • Проверялось на 1С:Предприятие 8.3 (8.3.21.1775)

tipsincd3_edt's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

tipsincd3_edt's Issues

Ошибка при загрузке конфигурации.

Добрый день.

КД3 - 3.1.1.6
Расширение КД3_КонтекстнаяПодсказка - 1.2.2
1С Предприятие - 8.3.18.1741

Загружаю конфигурацию из XML файлов, которые выгружены из Конфигуратора. Проверял на двух конфигурациях ЗУП31 и УПП13.

Загружаю через режим "Загрузка структуры конфигурации из файлов XML/EDT (КД3)". Настройка параметров загрузки на скриншоте.
На этапе Подписки на события получаю ошибку "Поле объекта не обнаружено (КД3_Вычислитель)"
Ошибка возникает при загрузке любой конфигурации.

Если загружаю ту же конфигурацию через режим "Загрузка структуры конфигурации из файлов XML/EDT" загрузка конфигурации проходит штатно
2022-01-27 09-48-54 1С Предприятие
2022-01-27 09-54-03 Конвертация данных, редакция 3 1

XDTO. ПОД. При выборе объекта выборки ошибка

XDTO. ПОД. При получении. При выборе объекта выборки ошибка:
Неверный первый параметр Ссылка в функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта:
Предопределенное значение "Документ.ИмяДокумента" не существует.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.