Вспомогательные таблицы - универсальный инструмент хранения таблиц любой структуры (константы, параметры обработок и т.д.)

Публикация № 1379182 24.02.21

Разработка - Инструментарий разработчика - Прочие инструменты разработчика

Данный механизм позволит: - Избавиться от поиска по номеру или коду. - Создать таблицу настроек. - Создать таблицу маппинга. - и многое другое... Ограничение одно - ваша фантазия.

Выгоды от использования механизма вспомогательных таблиц.

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

  • Как будем получать ссылку на элемент ("Организацию", "Валюту", "Номенклатуру", "Склад" и т.д.)?
  • Где будем хранить настройки для новой обработки, чтобы они были общими для всех?
  • Где будем хранить маппинг?
  • Где будем хранить начальные настройки заполнения?
  • и множество других вопросов, которые неизбежно возникают при разработке.

Любой из вопросов можно решить буквально за 5 минут (не учтено время ввода информации и проектирование структуры таблицы). Необходимо 3 шага:

  1. Создать новый элемент вспомогательной таблицы (далее ВСПТ).
  2. Заполнить структуру колонок.
  3. Заполнить созданную таблицу.

Техническая информация.

 - Протестировано на платформе 8.3.13.1513.

 - Не зависит от конфигурации.

Быстрый старт!

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

Пример #1

Условия задачи.

Необходимо хранить константные значения системы как соответствие "Ключ" -> "Значение".

Решение.

Необходимо создать 2 колонки, одна должна быть с типом строка, вторая позволять выбрать любой тип. Так же желательно константы разбить по группам к примеру "Организации", "Контрагенты", "Склады", "Валюты" и т.д.

Реализация.

1. Создание нового элемента

2. Заполнение структуры колонок и применение изменений

3. Заполнение созданной таблицы

 

Примечание.

Если предполагается ввод в колонку определенного типа данных, удобно выбрать тип колонки. Например в нашем примере можно сразу ограничить тип колонок "Класс" и "Имя". Для колонки "Значение" не ограничиваем тип, так как константам могут соответствовать различные значения (не забываем применять изменения).

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

В данной задаче можно использовать следующий код

    менВспТаблицы                 = Справочники.XLY_ВспомогательныеТаблицы;    
    ВспТаблицаКонстантныеЗначения = менВспТаблицы.ПолучитьСсылкуПоИдентификатору("КонстантныеЗначенияСистемы");
    
    Если ВспТаблицаКонстантныеЗначения.Пустая() Тогда
    	Возврат;
    КонецЕсли; 
    
    ИменаИтогов                  = "Класс"; //Группирует по значениям колонки "Класс"
    ИмяКолонкиКлючаДетЗаписей    = "Имя";   //Ключ в конечном соответствии 
    ИмяКолонкиЗначенийДетЗаписей = "Значение"; //Значение в конечном соответствии
    ПовторноеИспользование       = Ложь;       //Всп. таблица будет формироваться при каждом вызове
    
    соотКонстантныеЗначенияСистемы = менВспТаблицы.СформироватьСоответствиеРазделовПоВспомогательнойТаблице(ИменаИтогов, 
                                                                           ВспТаблицаКонстантныеЗначения,
                                                                           ИмяКолонкиКлючаДетЗаписей,
                                                                           ИмяКолонкиЗначенийДетЗаписей,
                                                                           ПовторноеИспользование);

Результатом работы кода будет вложенное соответствие следующего вида:

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

    менВспТаблицы                 = Справочники.XLY_ВспомогательныеТаблицы;    
    ВспТаблицаКонстантныеЗначения = менВспТаблицы.ПолучитьСсылкуПоИдентификатору("КонстантныеЗначенияСистемы");
    
    Если ВспТаблицаКонстантныеЗначения.Пустая() Тогда
    	Возврат;
    КонецЕсли; 
    
    ИменаИтогов                  = "Класс"; //Группирует по значениям колонки "Класс"
    ИмяКолонкиКлючаДетЗаписей    = "Имя";   //Ключ в конечном соответствии 
    ИмяКолонкиЗначенийДетЗаписей = "Значение"; //Значение в конечном соответствии
    ПовторноеИспользование       = Ложь;       //Всп. таблица будет формироваться при каждом вызове
    
    соотКонстантныеЗначенияСистемы = менВспТаблицы.СформироватьСоответствиеРазделовПоВспомогательнойТаблице(ИменаИтогов, 
                                                                           ВспТаблицаКонстантныеЗначения,
                                                                           ИмяКолонкиКлючаДетЗаписей,
                                                                           ИмяКолонкиЗначенийДетЗаписей,
                                                                           ПовторноеИспользование);
                                                                           
    //Извлечение данных из сформированного соответствия                                                                        
                                                                           
    ТекстОшибки         = ""; //если значение будет равно Неопределено, в переменную устанавливается текст ошибки
    ПутьКЗначению       = "Организации.Основная"; //указывается путь по которму необходимо получить значение
    ОсновнаяОрганизация = менВспТаблицы.ПолучитьЗначениеИзСоответствия(ПутьКЗначению, соотКонстантныеЗначенияСистемы, ТекстОшибки);

Результат работы функции:

 

Для наглядности несколько изменим пример:

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

 

Код изменится следующим образом:

Изменения произошли в значении переменной "ИменаИтогов".

    менВспТаблицы                 = Справочники.XLY_ВспомогательныеТаблицы;    
    ВспТаблицаКонстантныеЗначения = менВспТаблицы.ПолучитьСсылкуПоИдентификатору("КонстантныеЗначенияСистемы");
    
    Если ВспТаблицаКонстантныеЗначения.Пустая() Тогда
    	Возврат;
    КонецЕсли; 
    
    ИменаИтогов                  = "Раздел,Класс"; //Группирует по значениям колонки "Раздел и Класс"
    ИмяКолонкиКлючаДетЗаписей    = "Имя";   //Ключ в конечном соответствии 
    ИмяКолонкиЗначенийДетЗаписей = "Значение"; //Значение в конечном соответствии
    ПовторноеИспользование       = Ложь;       //Всп. таблица будет формироваться при каждом вызове
    
    соотКонстантныеЗначенияСистемы = менВспТаблицы.СформироватьСоответствиеРазделовПоВспомогательнойТаблице(ИменаИтогов, 
                                                                           ВспТаблицаКонстантныеЗначения,
                                                                           ИмяКолонкиКлючаДетЗаписей,
                                                                           ИмяКолонкиЗначенийДетЗаписей,
                                                                           ПовторноеИспользование);

 

Результат работы

Таким образом можно создавать соответствия различной вложенности.

 

Пример #2

Условия задачи.

Реализовать заполнение по умолчанию для нового элемента справочника.

Решение.

Создадим новую таблицу с колонками "Ключ", "Значение", получить структуру, заполнить новый объект.

Реализация.

Создадим отдельную таблицу для заполнения договоров

Примечание. Так же можно создать один элемент, разбить на группы и использовать для заполнения различных объектов или создать различные алгоритмы заполнения. (см. пример #1.)

 

    менВспТаблицы                 = Справочники.XLY_ВспомогательныеТаблицы;    
    ВспТаблицаКонстантныеЗначения = менВспТаблицы.ПолучитьСсылкуПоИдентификатору("ЗаполнениеНовогоДоговора");
    
    Если ВспТаблицаКонстантныеЗначения.Пустая() Тогда
    	Возврат;
    КонецЕсли; 
    
    ИмяКолонкиКлюча      = "Ключ"; //Значения колонки будут помещены в ключ коллекции
    ИмяКолонкиЗначения   = "Значение"; //Значения колонки будут помещены в значение коллекции
    ФормироватьСтруктуру = Истина; //Возвращаемое значение будет иметь тип "Структура"
    
    СтруктураЗаполнения = менВспТаблицы.ПолучитьКоллекциюКлючЗначениеИзСохраненнойТаблицы(ВспТаблицаКонстантныеЗначения,
                                                                                          ИмяКолонкиКлюча,
                                                                                          ИмяКолонкиЗначения,
                                                                                          ФормироватьСтруктуру);
    НовыйДоговор = Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
    
    ЗаполнитьЗначенияСвойств(НовыйДоговор, СтруктураЗаполнения);

Результат:

На выходе получается коллекция типа "Структура"

 

Результат заполнения нового объекта:

 

 

Пример #3

Условия задачи.

Если склад присутствует в списке, тогда разрешать отгрузку.

Решение.

Создадим таблицу с колонками "Ключ", "Значение". Для значения разрешим сохранение списка значений.

Реализация.

При выборе типа ячейки указываем, что значение хранит список значений

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

Результат заполнения таблицы:

    менВспТаблицы                 = Справочники.XLY_ВспомогательныеТаблицы;    
    ВспТаблицаКонстантныеЗначения = менВспТаблицы.ПолучитьСсылкуПоИдентификатору("ПроверкаЭлементов");
    
    Если ВспТаблицаКонстантныеЗначения.Пустая() Тогда
    	Возврат;
    КонецЕсли; 
    
    ИмяКолонкиКлюча      = "Ключ"; //Значения колонки будут помещены в ключ коллекции
    ИмяКолонкиЗначения   = "Значение"; //Значения колонки будут помещены в значение коллекции
    ФормироватьСтруктуру = Истина; //Возвращаемое значение будет иметь тип "Структура"
    
    СтруктураЗаполнения = менВспТаблицы.ПолучитьКоллекциюКлючЗначениеИзСохраненнойТаблицы(ВспТаблицаКонстантныеЗначения,
                                                                                          ИмяКолонкиКлюча,
                                                                                          ИмяКолонкиЗначения,
                                                                                          ФормироватьСтруктуру);

 

Результат работы кода:

Одному ключу соответствует несколько значений

 

Описание функциональности.

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

Важно!

- Большинство функций по извлечению значений из всп. таблиц уже реализованы в модуле менеджера, см. область "Получение_данных". 

- При обнаружении ошибок большая просьба сообщать, по мере возможности буду устранять.

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

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

Наименование Файл Версия Размер
Вспомогательные таблицы - универсальный инструмент хранения таблиц любой структуры (константы, параметры обработок и т.д.):

.cf 64,28Kb
6
.cf 64,28Kb 6 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. serg-lom89 63 24.02.21 09:46 Сейчас в теме
Прикольная штука!)Пример #2
а что будет тогда,когда например в реквизите
"валюта" , в значение заполнения будет указан предопределенный элемент?
2. xl_yaz 25 24.02.21 10:51 Сейчас в теме
Не знаю правильно ли я понял вопрос ) Но если имеется ввиду, что если в строке с ключом "ВалютаВзаиморасчетов", в колонке "Значение" указать предопределенный элемент, то этим элементом и заполнится значение. По сути таблица возвращает значения, как они были заполнены пользователем, т.е. все что можно выбрать из справочника, можно использовать в таблице.
3. user1542028 24.02.21 11:33 Сейчас в теме
4. Cyberhawk 129 06.03.21 17:05 Сейчас в теме
А зачем каждый раз при получении значений настроек инициализируются и передаются ИмяКолонкиКлюча и ИмяКолонкиЗначения, если выше в коде мы уже через "ПолучитьСсылкуПоИдентификатору" получили сам элемент справочника (экземпляр настройки), в котором описание структуры (эти имена ключа и значения) уже есть?
5. xl_yaz 25 09.03.21 10:20 Сейчас в теме
(4)

Элемент справочника не хранит структуру в виде соответствия, ф-ция "ПолучитьКоллекциюКлючЗначениеИзСохраненнойТаблицы", преобразует таблицу значений в соответствие, поэтому я ее вызываю после получения элемента всп. таблицы.
6. pyrkin_vanya 432 13.03.21 02:27 Сейчас в теме
Лет 10 уже использую подобный механизм, но написать его отдельно всегда было лень. ))) Для себя всегда просто копировал свои объекты из конфы в конфу.
Почему не расширение?
9. xl_yaz 25 13.03.21 14:48 Сейчас в теме
(6)
Не сделал, через расширение так как было лень если честно, у меня уже была часть написана в конфе, немного допилил и выложил) возможно найду время сделать через расширение, тоже об этом думал, но пока не найду в себе сил)
7. 6y6ka_gop 13.03.21 14:22 Сейчас в теме
Бспшное безопасное хранилище данных - и не надо изобретать велосипед
8. xl_yaz 25 13.03.21 14:46 Сейчас в теме
(7)
Возможно я не слишком знаком с безопасным хранилищем. В нем есть возможность графического создания таблицы необходимой структуры с заполнением? И если помеченный на удаление элемент используется в безопасном хранилище, выполняется его удаление, то система удалит или все же он попадет в контроль ссылочной целостности?
10. pyrkin_vanya 432 13.03.21 15:45 Сейчас в теме
(7)
безопасное хранилище данных

А причем тут это вообще? Тут речь идет о произвольных настройках в виде таблиц с произвольным набором колонок и главное с произвольными типами этих колонок. + внешний интерфейс заполнения этого всего.
Автору однозначно + за труды. Доведите до ума через расширение и вообще будет супер.
11. Simonov_NPM 15.03.21 07:38 Сейчас в теме
Среди типов не заметил ПланыВидовХарактеристик, есть такая возможность?
12. xl_yaz 25 15.03.21 10:27 Сейчас в теме
(11)
Хорошо обратили мое внимание на это. Нашел некоторые недочеты. По поводу плана счетов, его выбрать в типах колонок (нижняя таблица) можно, но тип не установился (баг). Но если тип для КОЛОНКИ не выбирать, а выбрать тип для конкретной ячейки при выборе значения, то позволяет выбирать план счетов.
Прикрепленные файлы:
Оставьте свое сообщение

См. также

Внешний регламент для 1С Промо

Прочие инструменты разработчика v8 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    6591    8    moolex    11    

Проверка кода расширения (Все аннотации) на наличие изменений в основной конфигурации V 2.0

Прочие инструменты разработчика Расширения v8 Россия Абонемент ($m)

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

1 стартмани

28.06.2021    2286    15    con-men    4    

Проверка кода расширения (#Вместо, #ИзменениеИКонтроль) на наличие изменений в основной конфигурации

Расширения Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

09.06.2021    1255    2    con-men    7    

Шаблоны кода (управляемые формы)

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

Шаблоны кода на управляемых формах.

2 стартмани

22.05.2021    2246    3    Rustig    16    

Подсистема "Показатели объектов" Промо

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

2 стартмани

06.03.2021    4914    5    pila86    16    

Консоль кода и дескриптор объектов

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

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

5 стартмани

23.04.2021    1450    2    pimenushka    2    

Конструктор процедур для создания дополнительных реквизитов и сведений для Бухгалтерии 3.0

Прочие инструменты разработчика v8 БП3.0 Россия Абонемент ($m)

Конструктор предназначен для оперативного создания процедур, программно создающих дополнительные реквизиты и сведения объектов. Предназначен для использования в 1С: Бухгалтерии Предприятия 3.0. Может быть подключен в качестве внешней обработки. В конструкторе имеется краткая справка по использованию.

2 стартмани

22.04.2021    3747    4    roma_semenov79    0    

Вспомогательный инструмент для быстрого просмотра объектов метаданных и ролей

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

Просмотр содержимого объектов, движений, регистров, констант и прочего. Анализ роли по объектам доступа и наоборот объекта по ролям доступа. Интуитивно понятный интерфейс, универсальный (под любую, даже самописную базу), под обычные и управляемые приложения.

1 стартмани

22.04.2021    2000    9    user802597    1    

Markdown-editor в 1С (с сохранением в HTML) Промо

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

В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.

1 стартмани

04.07.2019    10713    18    riposte    6    

Отладка внешних печатных форм, когда не открывается даже временный файл

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

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

2 стартмани

20.04.2021    1264    4    Miracle180882    0    

Однопальцевое преобразование "одинэсного" запроса в запрос на SQL

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

Обработка предназначена для преобразования "одинэсных" запросов в запросы на SQL средствами встроенного языка. Разработка не претендует на то, чтобы на 100% повторить то, что разработчики видят при трассировке запросов в инструментах вроде Profiler. Но во многих случаях результат преобразования можно будет без дополнительной ручной обработки выполнить, например, в Managment studio. Актуальные ограничения и проблемы преобразователя описаны в статье. Работает с версией платформы не ниже 8.3.10.

2 стартмани

17.04.2021    1871    3    kser87    9    

Свойства общих модулей

Практика программирования Прочие инструменты разработчика v8 v8::УФ v8::СКД 1cv8.cf Абонемент ($m)

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

1 стартмани

14.04.2021    1516    4    kuzyara    5    

FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5 Промо

Практика программирования Адаптация типовых решений Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

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

5 стартмани

21.12.2020    6791    21    huxuxuya    11    

Отладка обработок с плюшками

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Расширение для отладки внешних отчетов и обработок. Плюшки - отключение “отвлекающего” функционала, мешающего процессу разработки.

1 стартмани

14.04.2021    2462    6    pparshin    1    

Мгновенное отображение HTML-страницы исходя из введённого HTML-кода

Прочие инструменты разработчика v8 Платформа 1C v8.2 1cv8.cf Абонемент ($m)

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

1 стартмани

09.03.2021    1526    1    ilyam23    5    

Работа с My SQL через ODBC

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Работа с My SQL через ODBC. Разбираем базовые принципы соединения с MySQL и получения данных. Тестировалось на платформе 8.3.18.1208

1 стартмани

05.03.2021    1497    3    vov4ik1212    0    

Консоль Программиста 8.3. Управляемые формы, тонкий/толстый клиент Промо

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка в помощь программисту - тестировщику. Консоль позволяет выполнять код 1С на встроенном языка, по сути является универсальной внешней обработкой

2 стартмани

22.08.2013    48465    642    hmanubis    67    

Универсальный "сравниватель" объектов

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Сравнение реквизитов и табличных частей двух объектов 1С (справочники, документы), чтобы увидеть разницу в значениях.

1 стартмани

03.03.2021    2389    12    pyrkin_vanya    13    

Создание и поддержка разных редакций (Demo, Lite, Pro и пр.) модулей, отчетов и обработок

Прочие инструменты разработчика v8 Абонемент ($m)

В статье предлагается один из возможных подходов к автоматизации создания и поддержки разных редакций (Demo, Lite, Pro и пр.) модулей, отчетов и обработок. Подход может быть полезным для авторов публикаций с коммерческими разработками.

1 стартмани

16.02.2021    1506    1    bme    2    

Генератор кода схемы компоновки данных (СКД)

Прочие инструменты разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Формирование кода для программного создания схемы компоновки данных (СКД)

1 стартмани

04.02.2021    6502    49    Sergspectr    35    

Автоматизированная очистка нетиповой конфигурации от //{{MRG

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

Удаление //{{MRG из конфигурации автоматизированным способом.

1 стартмани

02.02.2021    1856    1    nemec    0    

Консоль текстов модулей для управляемых форм

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

26.01.2021    2800    20    Reaper_1C    2    

Сравнение функций/процедур из расширения с функциями/процедурами из конфигурации

Прочие инструменты разработчика v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

18.01.2021    1962    4    Wilka    1    

DT2CF - Экстрактор конфигурации из дампа информационной базы

Сервисные утилиты Прочие инструменты разработчика v8 Абонемент ($m)

Инструмент для извлечения файла конфигурации из файла резервной копии информационной базы (без использования платформы).

10 стартмани

21.12.2020    3077    6    SerVer1C    5    

FormCodeGenerator Программная доработка форм. Часть 1 (Режим работы "Палитра")

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

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

1 стартмани

14.12.2020    5138    76    huxuxuya    9    

Работа с сериализатором XDTO

Прочие инструменты разработчика Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

Отладочное расширение для просмотра объектов, преобразованных в XML, с помощью сериализатора XDTO, а также для выгрузки в xml.

1 стартмани

06.12.2020    2307    1    simon_sidoruk    5    

Обновление предопределенных данных

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Обновляет предопределенные элементы, созданные в конфигураторе. Тестировалось на платформе 8.3.15.1869

1 стартмани

01.12.2020    2165    7    user618575_VladimirGluhov.1c    2    

Отчет по Глобальным командам и Подпискам на события в конфигурации с возможностью отбора по Документам и Справочникам

Прочие инструменты разработчика v8 1cv8.cf Украина Россия Абонемент ($m)

Позволяет "посмотреть" все "подписки на события" и "глобальные команды" и при необходимости "отфильтровать" их по нужному объекту в конфигурации - "Документу" или "Справочнику". Поможет понять, где ещё может "обрабатываться" объект...

1 стартмани

23.11.2020    2335    3    AnryMc    5    

Шаблон расширения с функцией сохранения настроек

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Удобный механизм для быстрого создания сохраняемых настроек в расширении.

1 стартмани

20.11.2020    1724    0    pm74    1    

Расширение для создания собственных подсистем БСП

БСП (Библиотека стандартных подсистем) Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

В этой статье поделюсь некоторыми изысканиями о внутреннем устройстве стандартной подсистемы "Обновление версии ИБ" и расскажу, как разработать свою подсистему, в которой будет работать отчёт с описанием изменений.

1 стартмани

20.11.2020    5974    11    stas_ganiev    4    

Подготовка к 1С:Совместимо. Инструментарий в помощь программисту

Прочие инструменты разработчика v8 1cv8.cf Россия Абонемент ($m)

Инструментарий в помощь программисту для подготовки конфигурации к сертификации 1С:Совместимо.

1 стартмани

16.11.2020    2379    3    BrainAttack    0    

БСП - рабочие примеры асинхронного запуска функций и процедур

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

В данной публикации я привожу рабочие примеры асинхронного использования функций и процедур конфигурации на БСП

2 стартмани

02.11.2020    6530    19    quazare    2    

Работа с формулой-шаблоном

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

"Работа с формулой-шаблоном" - внешняя обработка, в которой для "Идентификаторы объектов метаданных"/"Идентификаторы объектов расширений" рекурсивно строится дерево реквизитов/стандартных реквизитов, дополнительных реквизитов/сведений и можно с их помощью, используя операторов и функций слева с помощью перетаскивания мышью, построить формулу, которую потом применять к элементам справочника/документа и т.д. (например - задавать шаблоны наименований, имен файлов и т.п).

3 стартмани

02.11.2020    2366    4    kn    0    

Просмотр структуры базы в СУБД, в том числе расширений

Структура метаданных Расширения Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Структура таблиц базы данных с учётом расширений.

1 стартмани

29.09.2020    6867    65    Yashazz    10    

Генератор внешних печатных форм

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

Генератор печатных форм - инструмент для создания внешних печатных форм в режиме предприятия с минимальным написанием кода

3 стартмани

18.09.2020    4511    17    andy_zhav    7    

Отладка расчета себестоимости в ERP - просмотр изменений временных таблиц

Практика программирования Прочие инструменты разработчика Закрытие периода v8::БУ ERP2 БУ Абонемент ($m)

Как уследить за изменениями в сотне временных таблиц на различных этапах выполнения расчета себестоимости. Тестировалось на 1С:ERP Агропромышленный комплекс 2 (2.4.12.75)

1 стартмани

09.09.2020    5515    12    doom2good    0    

Разбор областей и параметров печатной формы MXL и генерация кода заполнения. Обработка

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Назначение обработки - выделение областей и параметров из печатной формы и генерация кода заполнения печатных форм и отчетов на базе табличного документа 1С

1 стартмани

05.09.2020    4176    7    Ivon    0    

Тестирование проводок в ЕРП и КА

Прочие инструменты разработчика v8 ERP2 Россия БУ Абонемент ($m)

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

1 стартмани

02.09.2020    2992    15    JohnConnor    3    

CSV парсинг на 1С8, допускающий включение кавычек и символа переноса строки в полях

Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

Чтение файла происходит блоками, а не посимвольно, что ускоряет процесс. Конец строки это символ возврата каретки (13), символ переноса строки (10) игнорируется и может быть включен в текстовое поле. Также парные кавычки "" внутри поля воспринимаются как одиночный символ кавычек.

1 стартмани

31.08.2020    2762    4    e-rogov    0    

Визуальный html WYSIWYG редактор без сторонних библиотек на управляемых формах

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

Простой и удобный html редактор без сторонних библиотек.

1 стартмани

31.08.2020    6608    10    ivanov660    12    

Генератор кода COM-обмена

Прочие инструменты разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка предназначена для автоматического создания кода для загрузки данных из другой базы 1С через COM-соединение.

1 стартмани

20.08.2020    3420    11    ManyakRus    4    

Проверка ведения учета (универсальная)

Анализ учета Прочие инструменты разработчика v8 v8::Запросы Россия Абонемент ($m)

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

2 стартмани

11.08.2020    4405    17    vozhd    2    

Внешняя компонента на C# для парсинга страниц через Phantom JS на сервере 1С х32,х64

Прочие инструменты разработчика WEB v8 1cv8.cf Абонемент ($m)

PhantomJS - это браузер без окна, используемый для автоматизации взаимодействия с веб-страницами. PhantomJS предоставляет JavaScript API, обеспечивающий автоматическую навигацию, снимки страницы, эмуляции поведение пользователя, что делает его распространенным инструментом, используемым для запуска модульных тестов на основе браузера в автономной системе, такой как среда непрерывной интеграции . PhantomJS основан на WebKit, что делает его похожей на Safari и Google Chrome средой просмотра. Это программное обеспечение с открытым исходным кодом, выпущенное под лицензией BSD.

1 стартмани

06.08.2020    5397    4    DrZombi    7