Использование хранилища общих настроек вместо "НайтиПоНаименованию" или "НайтиПоКоду"

Публикация № 1462901 22.06.21

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

Использование хранилища общих настроек для хранения ссылок, которые используются программистом в коде (вместо "НайтиПоНаименованию" или "НайтиПоКоду")

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

Как Вы знаете, конструкции вида

ОсновнойСклад = Справочники.Склады.НайтиПоКоду("СКЛ00000016");
//или
ОсновнойСклад = Справочники.Склады.НайтиНоНаименованию("Основной склад", Истина);

использовать не рекомендуется по причине их ненадежности. Пользователи могут как переименовать склады, так и поменять коды ("Если технически они могут это сделать - это будет сделано, если не могут - то со временем найдут способ").

Надежнее выглядят конструкции:

Справочники.Склады.НайтиПоРеквизиту("ИмяДляПрограммиста", "ОсновнойСклад");

Но для их использования - нужно добавлять новые реквизиты к справочнику "Склады" (и ко всем справочникам, используемым в программном коде), что тоже не желательно.
Похожий подход используется в типовых конфигурациях на БСП в подсистеме "Дополнительные реквизиты и сведения" - в Плане видов характеристик для этого выделено поле "Имя".

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

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

Еще один способ - задавать элементы через их внутренний идентификатор:

ОсновнойСклад = Справочники.Склады.ПолучитьСсылку(новый УникальныйИдентификатор("c23de3dc-cc0d-11e5-9653-3085a93ddca2"));

Внутренний идентификатор записанного элемента не изменяется ни пользователем, ни программистом. Но такой подход имеет свои недостатки:

  1. Внутренние идентификаторы нужно узнавать заранее (в режиме "Предприятие" через консоль, например)
  2. Код не нагляден и другой разработчик (или Вы-же через год) - может не понять что это за элемент такой "c23de3dc-cc0d-11e5-9653-3085a93ddca2"
  3. Код привязан к базе данных. При переносе в другую базу - нужно находить все такие идентификаторы и обновлять их

 

Предлагается использовать следующий вариант:

ОсновнойСклад = НастройкиВОбщемХранилищеСервер.ПолучитьОбщуюНастройку("ОсновнойСклад");

При этом, настройка хранится в общем хранилище (добавлять новые объекты не нужно), сохраняется туда при помощи отдельной обработки "Настройка параметров разработчика".

В конфигурацию добавляются два модуля и сама обработка

  • Общие модули можно добавить через "Расширение"
  • Обработку можно поместить в "Дополнительные отчеты и обработки" и ограничить доступ только Администратору системы

Список настроек хранится в макете обработки (тип макета "Табличный документ"):

Данный макет настраивается разработчиком "Под себя" - список настроек и групп.

После настройки - обработка в режиме "Предприятие" будет выглядеть так:

 

 
Для тех, кто не хочет скачивать ("сделай сам")


Примечание: при установке доработок в качестве расширения - расширение следует отключить "Безопасный режим":

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

 

UPD (Важное замечание):

В комментарии от Yashazz было высказано обоснованное опасение относительно использования Хранилища настроек. Основная причина в том, что само хранилище настроек - это своего рода "чёрный ящик". Описаны пара случаев реального сбоя хранилища настроек в базах. Особую осторожность следует уделять при использовании РИБ.
Варианты решения:

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

 

Также, при разработке внешней обработки для конфигурации на БСП - настройки можно хранить в самой обработке.

В статье "Способ хранения данных расширения или дополнительной обработки" (//infostart.ru/1c/articles/1243789/) описаны альтернативные способы хранения настроек. 

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

 

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

Наименование Файл Версия Размер
Использование хранилища общих настроек вместо "НайтиПоНаименованию" или "НайтиПоКоду"

.epf 9,99Kb
1
.epf 9,99Kb 1 Скачать
Использование хранилища общих настроек вместо "НайтиПоНаименованию" или "НайтиПоКоду":

.cfe 13,82Kb
0
.cfe 13,82Kb Скачать
Использование хранилища общих настроек вместо "НайтиПоНаименованию" или "НайтиПоКоду":

.cf 83,90Kb
1
.cf 83,90Kb 1 Скачать

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

Отзывы
14. Yashazz 4511 23.06.21 21:16 Сейчас в теме
Всё это до первого же случая копирования/тиражирования базы, либо до программного/ручного сброса или иной гибели подобных данных. А ещё автор явно не нарывался на фокусы динамического обновления, когда в таких сохранённых настройках оказываются фантомные, лажовые, пустые данные, и прям такая начинается неповторяемость, аж жесть, никому не пожелаю. Один сеанс читает одно, другой - другое, спустя пару минут третье. Лично видел.
Настройки юзера зависят от юзера, прекрасно падают и исчезают в никуда, в т.ч. при программной работе с пользователями ИБ.
А ещё некоторые регламентые операции SQL Management Studio тоже их гробят.

Darklight всё верно написал.
ivan453; ILM; oldcopy; dnikolaev; Светлый ум; alekseineputin; Oculta; GATTUSO; zqzq; Xershi; +10 Ответить
21. Yashazz 4511 23.06.21 22:48 Сейчас в теме
а насчёт предопределённых - https://infostart.ru/1c/articles/310542/
ILM; dnikolaev; DrAku1a; +3 Ответить
27. Cvetic 307 24.06.21 16:57 Сейчас в теме
Я для этого добавляю константы типа: ОсновнойСклад,ОсновнойПоставщикСырья, ОсновнойПоставщикАвтоЗапчастей и т.п.
Константы гораздо удобнее чем реквизиты справочников - все объекты конфигурации остаются на поддержке.
Lapitskiy; dnikolaev; DrAku1a; +3 Ответить
Остальные комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Sergafan10 23.06.21 10:39 Сейчас в теме
Интересный подход, спасибо!
2. Dmitryiv 156 23.06.21 11:34 Сейчас в теме
Будет работать до тех пор, пока пользователь не залезет в настройки и не нажмёт "Очистить" все настройки. Все типовые такой функционал предоставляют.
3. DrAku1a 1590 23.06.21 11:50 Сейчас в теме
(2) Попробовал в демо-версии БП3 - сделать очистку. Ничего не поменялось, настройки сохранились. Возможно, это потому, что пользователь "ОбщаяНастройка" в списке пользователей отсутствует и система не проходится по нему при чистке даже всех настроек.
Это скорее баг, чем "фича" и со временем его могут пофиксить. Потому, более надежным будет - хранить настройки в справочнике или регистре сведений, добавленном через расширение.
Прикрепленные файлы:
4. buganov 195 23.06.21 12:23 Сейчас в теме
Вообще, если прям очень хочется, то можно и общий реквизит сделать, чтобы у всех одновременно появился.
Все выкрутасы с регистрами, хранилищами работают ровно до того момента, пока не сменится бизнес-логика и основной склад уже не основной, и надо постоянно держать в голове эти настройки. Грубо говоря, был склад основной, по нему были движения. И его решили закрыть , переименовать в НеИспользовать для истории и вместо него использовать склад РЦ, который переименовали в основной. Логика данного примера хромает на обе ноги, как и тот факт, что пользователь полезет менять код, например.
В любом случае спасибо за пример, платформа пока не дала нормального инструмента для идентификации справочников без костылей, кроме своего решения в ПВХ. И его я бы и взял за эталон, когда пилил свой регистр допконстант, если бы знал о таком механизме.
RustIG; pavlov_dv; +2 Ответить
7. DrAku1a 1590 23.06.21 14:37 Сейчас в теме
Кстати, 1С в платформе 8.3.20 обещали в расширения подвезти возможность добавлять предопределенные элементы в справочники, а не только заимствовать их. В принципе, хорошая замена будет без костылей.
5. itoptimum 24 23.06.21 13:03 Сейчас в теме
Подход интересен и имеет право на существование, но не помешало бы развитие: наличие индивидуальных настроек для разных пользователей, вопрос повторной инициализации "по-умолчанию" для конкретного пользователя после очистки настроек/инициализации новой базы, да мало ли еще какие варианты. Регистр сведений в этом плане, действительно, гибче.
6. malikov_pro 1237 23.06.21 13:59 Сейчас в теме
(4) с РС "доп. констант" нормальное решение, разделяю на подсистемы, храню значение в типе "ХранилищеЗначения", инициализацию настроек делаю только через обработку, зачем ПВХ использовать

Функция ПолучитьНастройки() Экспорт
	
	Обработка = Обработки.хк_НастройкиПодсистемы_хк_ОбменAPI.Создать();
	Обработка.ПолучитьНастройки();

	Возврат Обработка;

КонецФункции
Показать
10. ixijixi 1475 23.06.21 15:42 Сейчас в теме
(6) Сейчас по фэншую принято обращаться к модулю менеджера
Возврат Обработки.хк_НастройкиПодсистемы_хк_ОбменAPI.ПолучитьНастройки();
Serg O.; DrAku1a; +2 Ответить
8. RustIG 1693 23.06.21 14:55 Сейчас в теме
Файловая база, УТ 10.3, обычные формы...

на платформе 8.3.12 НайтиПоКоду() работает сносно и быстро - без блокировок таблицы - что для Номенклатуры, что для Контрагентов.

Обновил УТ 10.3 до последнего релиза (май 2021г) :
1) конфа и цфшник выросли с 65 Мб до 650Мб - это цфшник конфигруации
2) потребовался обязательным переход на новую плафторму 8.3.14
и тут начались пляски с бубном - "конфликт блокировок" при поиске по коду..... что в номенклатуре, что в контрагентах...

Пришлось создать свой справочник "Настройки базы данных" - засунуть в него 22 реквизита с типами Номенклатура и Контрагенты - указать в реквизитах конкретные ссылки - для ускорения работы и исключения блокировок

Не помогло - поскольку приходилось проверять иерархию по процедуре ПринадлежитЭлементу(СсылкаНаЭлемент) - сразу блокировка срабатывает на платформе 8.3.14

Пришлось при записи Номенклатуры и Контрагентов делать проверки и записывать реквизиты "НашКонтрагент", "НеИспользоватьТовар" и т.д. и тому подобное....

Более -менее стало возможным работать....
Были еще блокировки на журналах документов - жуткие.... в механизмах ЕГАИС и ЭДО - хотя ЕГАИС и ЭДО через УТ 10.3 в строительном магазине не использовалась - но при записи любого документа срабатывали к примеру подписки на события ЕГАИС и ЭДО - становилось жутко....

ОТключил все журналы документов, все механизмы ЕГАИС и ЭДО в УТ 10.3 - стало возможным работать....

Пережил худшие две недели в сезон продаж - когда пробитие чека вылетало в ошибку - из-за блокировок таблиц висела вся база.....

Через некоторое время перешли на серверную 1С - блокировки все равно иногда и редко возникают - и тут я уже не понимаю... и главное , что Журнал регистрации не регистрирует такие события...отловить как?

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

Короче, намутили они платформу 8.3.14 с ошибками, да и конфу УТ 10.3 криво в релиз выпустили... Пора вещи называть своими именами. Без обид, если кто сопричастен.
9. Serg O. 209 23.06.21 15:29 Сейчас в теме
(8) наверное надо сначала платформу обновить...8.3.14 старовата уже....
сейчас актуальная платформа 8.3.19 вышла (ну или предыдущую... 8.3.18 )

Через некоторое время перешли на серверную 1С - блокировки все равно иногда и редко возникают - и тут я уже не понимаю... и главное , что Журнал регистрации не регистрирует такие события...отловить как?


попробуйте бесплатные сервисы от команды Гилев.ру с сайта Gilev.ru
------------------------------------------------------------------------------
там есть несколько полезных сервисов
Сервис анализа Взаимо-блокировок (DeadLock) - именно они могут приводить к вылетаниям в ошибку
или сильных тормозам.
+ обязательно поставьте Сервис Анализа Длительных запросов (80% тормозов из-за неоптимальных запросов) - статистику покажет,
+ события тех-журнала Status (иногда тут видны конфликты блокировок, на которых пользователи через 20 сек вылетают)

и да, эти сервиса используют тех.журнал, но разбираться в нём самому не надо!
очень и очень полезная штука.
----------------------------------------------------------------------------------------
P.S. проверьте свойства конфигурации - закладка Совместимость ...
Режим управления блокировкой данных .... должен быть "Управляемый"
-----------------------------------------------------------------------------------------
если у Вас до сих пор "Разделяемый" - вот отсюда масса блокировок может быть
НО! это нужно тестировать и дорабатывать конфу, а не просто переключатать!
надо переходить! (не просто поменять, а дорабатывать конфу! ) на режим

+ там же есть конфа нагрузочного тестирования - покажет вам оценку вашего железа...
------------------------------------------------------------------------------------------
поиск по коду номенклатуры может вылетать по тайм-ауту 20 сек,
если кто-то в 1 транзакции пишет большие объёмы новой номенклатуры.
Может дело просто в какой-то обработке - надо писать порциями по 50-100 товаров.
------------------------------------------------------------------------------------------
самая свежая конфа УТ 10.3.70 - выдаёт ошибку при входе на платформе ниже 8.3.16.1814
Прикрепленные файлы:
DrAku1a; RustIG; +2 Ответить
11. RustIG 1693 23.06.21 15:44 Сейчас в теме
22. Xershi 1388 23.06.21 22:55 Сейчас в теме
(8) во насмешили, как будто только сдали спеца.
Пора учиться, а не жаловаться на платформу.
23. RustIG 1693 24.06.21 06:49 Сейчас в теме
(22) видимо бегло и невнимательно прочитали - пора вам учиться внимательно читать и учиться уважительно писать посты, а не понтоваться тут.
я делюсь опытом в контексте темы публикации - автор пришел к подобному механизму, что у меня - только на управляемых формах.

...Еще раз про свою ситуацию - на платформе 8.3.12 НайтиПоКоду(), ПринадлежитЭлементу() для Номенклатуры и Контрагентов - работали отлично и быстро во всех документах.... Достаточно длительное время я использовал эту конструкцию....

Но пришло время перейти на платформу 8.3.14, в которой данные процедуры тяжеловесны. Истина познается в практике... Декларации от 1с и от таких как вы, что " у нас все гуд" - оставьте своим детям и внукам. Я уже сыт этим.
ixijixi; DJ_Codebase; Светлый ум; +3 Ответить
12. malikov_pro 1237 23.06.21 15:45 Сейчас в теме
(10) Именно объект создаю, в нем реквизиты с нужными типами, загружаю в него то что присутствует в регистре, не написал еще проверку заполненности (пока не критично) из недостатков при смене структуры табличной части часть информации при загрузке настроек теряется.
13. Darklight 30 23.06.21 16:03 Сейчас в теме
Хранилище настроек штука хорошая, но хранятся только раздельно в разрезе пользователей - поэтому общие настройки надо хранить на одном общем пользователе (не знаю как сейчас - можно ли хранить на пустом пользователе, по-моему с какого-то релиза это изменилось). Проблема в том, что доступ к настройкам чужого пользователя требует административные права доступа в такой сессии - Вы решаете это путём установки Привилегированного режима в соответствующей функции. Насколько я знаю, до какого-то релиза это не прокатывает. Так как аналогичный способ я сам уже давно использую (и у меня тут даже есть публикация его использующая) - но пока он мне не внушает доверия.

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

Ну а если менять конфу не хочется - есть типовые места хранения настроек (для отчётов обычно) - и про них на Инфостарте уже ни раз писали - их можно использовать по любому назначению (а не только для отчётов).

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

Кстати, если настройки в хранилище настроек - то из запроса к ним вообще не обратиться. А вот из регистра можно. Если они только не упакованы - вот тогда будут сложности
Светлый ум; Cyberhawk; Yashazz; tormozit; DrAku1a; Serg O.; +6 Ответить
28. Cyberhawk 133 24.06.21 18:51 Сейчас в теме
(13)
удобно хранить настройки с разной степенью детализации учета (например по разным организациям, пользователям, метаданным, узлам, периодические, в любом сочетании этой детализации)
Можешь показать структуру такого регистра?
32. Darklight 30 25.06.21 10:18 Сейчас в теме
(28)Оптимальную структуру пока не нащупал - периодически в разных проектах меняю. Сейчас такая, как в прилагаемой картинке (регистр не периодический)
Значение храню в запакованном (стерилизованном) в строку виде. Есть поддержка значений-коллекций (реализовано в форме записи регистра - вся магия в функциях установки и поучения значения, конечно, скрывается)
Прикрепленные файлы:
Cyberhawk; +1 Ответить
14. Yashazz 4511 23.06.21 21:16 Сейчас в теме
Всё это до первого же случая копирования/тиражирования базы, либо до программного/ручного сброса или иной гибели подобных данных. А ещё автор явно не нарывался на фокусы динамического обновления, когда в таких сохранённых настройках оказываются фантомные, лажовые, пустые данные, и прям такая начинается неповторяемость, аж жесть, никому не пожелаю. Один сеанс читает одно, другой - другое, спустя пару минут третье. Лично видел.
Настройки юзера зависят от юзера, прекрасно падают и исчезают в никуда, в т.ч. при программной работе с пользователями ИБ.
А ещё некоторые регламентые операции SQL Management Studio тоже их гробят.

Darklight всё верно написал.
ivan453; ILM; oldcopy; dnikolaev; Светлый ум; alekseineputin; Oculta; GATTUSO; zqzq; Xershi; +10 Ответить
15. DrAku1a 1590 23.06.21 21:23 Сейчас в теме
(14) Есть одно применение на практике: Обновляемая база. SQL. Не РИБ. Пол-года работает. Копию через dt делали. Проблем не было.
Если что-то изменится - напишу и поменяю на регистр сведений.
16. Yashazz 4511 23.06.21 21:37 Сейчас в теме
(15) А у меня было два применения, и две мега-засады, после которых ничего ценного в хранилищах не держу.
17. DrAku1a 1590 23.06.21 21:39 Сейчас в теме
(16) Подробнее можно? РИБ? Что было не так? В чём нашли причину или какие версии?
18. Yashazz 4511 23.06.21 21:51 Сейчас в теме
(17) Оба случая не РИБ.

Первая была сильно пилёная БП 1.6, на платформе 8.2.19.130 - постоянно теряла всякие настройки, сохранённые данные и прочее, начиная от размеров форм и заканчивая историями поиска. Прав хватало. Служба крутилась нормально. Сеансовые данные не лажали. Просто почему-то иногда оно исчезало, и не всё одновременно, разом, а попеременно.
Вторая была на 8.3.13, самописная на базе Документооборота, с тогдашней БСП (на которую я долго валил, но оказалось, зря). После каждого динамического обновления из хранилищ общих настроек - и стандартного, и юзерского, и отчётов, и системного - начинала читаться полная ересь, неведомо откуда взятая. Иногда читалась пустота. Пару раз при таком чтении падало (специально по ТЖ ловили). Спасал перезапуск всей тройки серверов (клиент-рдп, сервер 1С, сервер СУБД) и лютая чистка кэшей всех пользователей.

В обоих случаях не смогли докопаться до причин и просто обошли эти грабли. Оба раза 1С отвечала "обновите релиз".
19. DrAku1a 1590 23.06.21 22:04 Сейчас в теме
(18) С динамическим обновлением можно в принципе много "чудес" хапнуть, это на практике прочувствовал. Впрочем, принимаю к сведению и добавлю в статью.
20. Yashazz 4511 23.06.21 22:11 Сейчас в теме
(19) К сожалению, лично я не знаю, где проходит граница между хранимым в системных таблицах скуля и хранимым в компаунде на основе конфигурации, но подозреваю, что при дин.обновлении где-то застревает проинтерпретированный ранее фрагмент, p-код может даже, кэшируется как-то или обращается куда-то, куда не должен, и выходят такие чудеса. В этом смысле поведение хранилищных данных сродни поведению навигационных ссылок из Истории посещения и Избранного, там некоторые ключи тоже так начинают себя вести. А ещё иногда после дин.обновления глючат ссылки во встроенной справке (подозреваю, по той же причине, что-то их не обновляет).
Также есть подозрение, что новый режим (который /UpdateDBCfg -Dynamic -v2 и описан в https://infostart.ru/1c/articles/934237/) этой беды лишён. Но я не проверял.

А навели меня на эти подозрения формы внешек, которые я разбирал/собирал из хмл-файлов и прочего. Разрешение ссылок относительно указанной IBName весьма сильно меняло картину происходившего с этими данными, т.е. для одной и той же ИБ оно в разные разы вело себя по-разному.
24. RustIG 1693 24.06.21 08:54 Сейчас в теме
(19) у меня как было, база файловая, платф. 8.3.12 - динамическое обновление проходило без ошибок.

НО перешел на новую платф. 8.3.14 + обновил до последн. релиза УТ 10.3 + перешел на серверную 1с, СУБД MS SQL Server - динамич. обновление вываливается в ошибку СУБД - обновляет, выключает сеанс.

MS SQL Сервер + Конфа (новая, тяжелая) + Платформа (новая, тяжелая) = Бум!

...Я вместо регистра сведений в ряде случаев на проектах использую справочник с реквизитами. Мне не надо периодически изменять настройки - их у меня две в справочнике - "Тестовые" и "Рабочие". А изменяющиеся настройки делаю через табличную часть этих справочников - без хранения истории - поскольку не надо хранить историю.
Что из себя представляет Хранилище общих настроек? - некая таблица в базе? или механизм кэширования на время сеанса пользователя? Если кэш пользователя почистить, настройка из Хранилища останется в силе?
33. Darklight 30 25.06.21 13:40 Сейчас в теме
(14)А вообще-то иметь универсальное хранилище настроек, по типу того как устроено в объекте 1С «Хранилища настроек» вполне было бы неплохо. Некоторое время назад я размышлял над тем, как бы должен был быть устроен этот объект. И пока пришёл к такой структуре:

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

Помимо вышеназванных ключей, адрес ячейки настройки может определяться следующей аналитикой – все является не обязательными:
- Дата,время – позволяет хранить периодические значения
- Пользователь – позволяет привязать к конкретному пользователю
- Область разделения – Специальный объект, инициированный для сессии (но можно создавать вручную), определяющий область действия значения относительно всей базы данных – может определяться параметрами разделения облачного хранилища, узлом распределённой базы, сервером, компьютером с которого открыта сессия.
- Отбор – это произвольная аналитика

Смысл в том, что значения задаются с указанными параметрами аналитики.

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

Если значение будет задано по пользователю –оно и будет получаться только по этому пользователю. Если по пользователю нет значения – то будет получаться значение по пустому пользователю.
Область разделения – определяет область владения значения – как уже сказал, это специальный общий объект. Всегда используется, пустых значений по умолчанию нет.

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

По полям отбора можно указать привязку к параметра сеанса – откуда будут браться данные по умолчанию при ПОЛУЧЕНИИ хранимого значения.

Устанавливать можно в т.ч. значения-коллекции. Тип специально не задаётся. Хотя… отдельно функцией при необходимости его можно было бы фиксировать.

Хранить и получать Описание настройки как «Хранилища настроек» тоже можно.
Для каждого значения можно задать свои права доступа по ролям и по пользователям. Права на доступ к другим областям разделения кроме текущей должны настраиваться одномоментно, но в другом месте – это общий объект.

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

Вот такая вот архитектура – заменят и «Хранилище настроек» и «Константы», и отлично подходит как средство хранения функциональных опций. Так как очень гибкое и универсальное. Заменит и кучу вариантов использования регистра сведений.
Как и с «Хранилищем настроек» должен быть модуль-менеджер для произвольного управления получением и установкой значений (и некоторыми другими событиями)

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

Но, хранение, конечно, должно быть надёжным – т.е. в таблицах СУБД

P.S.
Говоря об Отборе я в простейшем случае имел в виду просто структуры аналитики Ключ=Значение. Но сейчас немного подумав - считаю, что можно сделать и полноценные Отборы со сложными условиями - их можно считать описанием множеств, тогда при получении значения должны пересечься два отбора как два множества - если пересеклись - их значение будет получено. Но это чревато - тем, что так может быть получено сразу несколько значений - а возвращено должно быть только одной. Так что это всё-таки экзотика. Обычных структур Ключ=Значение вполне достаточно, хотя иметь возможность передавать сразу несколько вариантов Значения по ключу - очень бы хотелось.
Имеющееся тут в виду "Значение" - тут это значение аналитики, не хранимое за этой аналитикой значение ячейки хранения
21. Yashazz 4511 23.06.21 22:48 Сейчас в теме
а насчёт предопределённых - https://infostart.ru/1c/articles/310542/
ILM; dnikolaev; DrAku1a; +3 Ответить
25. zqzq 23 24.06.21 09:12 Сейчас в теме
К вышеперечисленным недостаткам: данные в хранилище хранятся в бинарном виде и не работает поиск/замена ссылок.

Костыль (поиск по коду) заменили граблями.

Сам использую:
1) РС+ПВХ (одиночные значения),
2) Справочник с ТЧ + ПВХ (массивы значений).
Также, ТОЛЬКО предопределённые элементы ПВХ. НайтиПоНаименованию -- грабли при загрузке сf между базами тестовыми/рабочими/распределенными.
29. Cyberhawk 133 24.06.21 18:55 Сейчас в теме
(25)
использую:
1) РС+ПВХ (одиночные значения),
2) Справочник с ТЧ + ПВХ (массивы значений)
Можешь показать структуру такого регистра, справочника и ПВХ?
35. zqzq 23 28.06.21 09:13 Сейчас в теме
(29) ОК. Пояснения:
1) использую период для "периодических констант" как в 7-ке (но на практике редко пригождается);
2) отдельные ПВХ для одиночных значений и массивов, чтобы ясно было как с этим программно работать и исключить баги времени выполнения;
3) запрет добавления значений ПВХ в режиме предприятия (только предопределенные);
4) загрузка значений в макет (путем ручного копирования макета) и автоматическое заполнение пустых (новых) элементов из макета (встроено в контур автоматического обновления рабочей базы);
5) специальная функция для получения значения в привилегированном модуле (роли это головная боль у стандартных констант): Функция ЗСП( Знач Переменная, Знач Период = Неопределено ) Экспорт
Прикрепленные файлы:
Cyberhawk; +1 Ответить
26. Serg O. 209 24.06.21 13:43 Сейчас в теме
недавно была похожая по теме публикация:

Значения по умолчанию для пользователей (Расширение)
https://infostart.ru/public/1296972/

Хранилище общих настроек наверное можно иногда использовать (вместо констант),
но лучше, наверное регистр сведений (и лучше периодический),
чтобы брать "Основной склад" на дату документа
31. DrAku1a 1590 25.06.21 08:06 Сейчас в теме
(26) Это немного не то, но тоже очень интересная разработка. Если там будет во все документы, справочники и т.п. добавлена кнопка "Использовать как настройки по умолчанию", по нажатию открывается форма со списком реквизитов и пользователь галочками отмечает что именно использовать.
А ещё можно отдельную галочку что-то типа "Проверять когда". Ставишь её на организацию и подразделение, например. И получается правило:
Проверять когда Организация = ООО "Рога и копыта" и Подразделение = "Склад брака" тогда Склад = "Склад брака (ВРК)"
27. Cvetic 307 24.06.21 16:57 Сейчас в теме
Я для этого добавляю константы типа: ОсновнойСклад,ОсновнойПоставщикСырья, ОсновнойПоставщикАвтоЗапчастей и т.п.
Константы гораздо удобнее чем реквизиты справочников - все объекты конфигурации остаются на поддержке.
Lapitskiy; dnikolaev; DrAku1a; +3 Ответить
30. DrAku1a 1590 25.06.21 07:47 Сейчас в теме
(27) Согласен, и расширения уже позволяют добавлять константы (версия 8.3.16 и выше, включая режим совместимости конфигурации).
34. Scratch_sv 27.06.21 10:33 Сейчас в теме
Ну не знаааю... А если Базовая, а если старая платформа, а если 2000-ный на дворе?
Со времён оных, и по сей тяжёлый день для целей хранения своих констант использовал регистр значений СоответствияОбъектовИнформационныхБаз, благо он уже есть везде.
УзелИнформационнойБазы не заполняю, в УникальныйИдентификаторПриемника пишу имя объекта, в УникальныйИдентификаторИсточника - собственно, сам объект.
Бонусом идут ещё два текстовых поля по 100 байт каждое - ТипПриемника и ТипИсточника, для разного рода уточнений и комментариев.
И никаких не надо ни тебе расширееений, ни тебе допииисок, всё уже наличествует!
DrAku1a; ildary; +2 Ответить
36. ildary 20 30.06.21 08:34 Сейчас в теме
(34) большое спасибо за оригинальное решение!
37. RustIG 1693 14.04.22 09:15 Сейчас в теме
Но для их использования - нужно добавлять новые реквизиты к справочнику "Склады" (и ко всем справочникам, используемым в программном коде), что тоже не желательно.
Похожий подход используется в типовых конфигурациях на БСП в подсистеме "Дополнительные реквизиты и сведения" - в Плане видов характеристик для этого выделено поле "Имя".

В КА 2.4 есть справочник СоглашенияСКлиентами - он не включен в состав объектов метаданных, для которых работает механизм БСП "Дополнительные реквизиты" - как и еще 50 справочников КА 2.4.
Добавил механизм дополнительных реквизитов через расширение - работает сносно. Одно соглашение сделал с наименованием "Служебное", использую для пересчета цен в валюте закупа (Доллар или Евро).
Уж лучше через допреквизиты, чем через хранилище общих настроек или через константы...
Оставьте свое сообщение

См. также

Infostart Toolkit

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Простые и удобные инструменты: Консоль запросов, СКД, Редактор объекта, Поиск ссылок и другие. Редактор запросов и кода с раскраской и контекстной подсказкой. Улучшенный конструктор тонкого клиента и др.

10000 руб.

02.09.2020    80982    395    366    

471

SALE! %

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

2400 1920 руб.

14.01.2013    164796    1012    0    

770

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    93682    229    95    

276

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

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

2400 руб.

24.09.2019    19976    11    14    

19

Универсальная обработка создания связанных документов (универсальный "ввод на основании")

Инструментарий разработчика Обработка документов Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

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

2500 руб.

02.04.2017    42222    72    27    

128

Заполнение документа "Корректировка регистров" произвольными данными

Закрытие периода Корректировка данных Инструментарий разработчика Обработка документов Платформа 1С v8.3 Система компоновки данных 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Внешняя обработка, позволяющая произвольным образом заполнять документ "Корректировка регистров" Предназначена для использования в конфигурациях "Управление торговлей 11", "Управление небольшой фирмой", "ERP Управление предприятием", а также в других конфигурациях, в состав которых входит библиотека стандартных подсистем (БСП) версии 2.2+ и указанный выше документ.

2400 руб.

13.07.2015    46751    155    27    

105

Программное формирование существующих печатных форм

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

17.12.2021    12779    32    RocKeR_13    5    

42

Бустер Конвертации данных 3 (Infostart Toolkit)

Инструментарий разработчика 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 руб.

07.10.2021    11649    2    12    

36

Универсальный редактор данных (УРД)

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Универсальный редактор данных (УРД) - это лучший инструмент в своем классе, который позволяет редактировать реквизиты и движения объектов

1 стартмани

27.08.2021    16027    206    Adeptus    57    

92

Автоматизация труда программиста. Библиотека прикладных функций

Инструментарий разработчика Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Конфигурации 1cv8 Платные (руб)

Программист - это человек, непрерывно принимающий решения. Написание кода не является процессом принятия решения - это всего лишь трансляция ваших желаний. Если вас периодически тяготит написание сотен строк кода ради решения задач, то прошу обратить внимание. Данный продукт позволит существенно сократить время на рутинные операции при разработке. За счет библиотечной реализации сокращается объём кода, а его читаемость повышается. К библиотеке прилагается документация API и шаблоны кода для наиболее популярных методов.

4200 руб.

16.04.2021    10691    2    9    

7

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

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

06.03.2021    14507    8    pila86    17    

29

Чтение метаданных 1С из SQL Server и PostgreSQL

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

Описание файла DBNames таблицы Params и файлов объектов метаданных таблицы Config.

16.02.2021    11784    zhichkin    74    

79

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

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

5 стартмани

21.12.2020    19656    32    huxuxuya    11    

36

DaJet Studio: расширенный язык запросов 1С, очереди сообщений и web сервисы

Инструментарий разработчика Платформа 1С v8.3 Бесплатно (free)

DaJet Studio - разработка и управление скриптами, хранимыми процедурами и функциями, написанными на расширенном языке запросов 1С, а также очередями сообщений и web сервисами, основанными на использовании Microsoft SQL Server.

10.11.2020    12860    126    zhichkin    14    

25

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

Инструментарий разработчика Анализ учета Платформа 1С v8.3 Запросы Абонемент ($m)

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

2 стартмани

11.08.2020    11640    61    vozhd    4    

19

Глобальное меню разработчика для управляемых форм

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Бесплатно (free)

Подсистема "Инструменты разработчика". Глобальное контекстное меню разработчика для управляемых форм в толстом клиенте.

03.08.2020    9064    tormozit    29    

94

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

Инструментарий разработчика Платформа 1С v8.3 Россия Абонемент ($m)

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

1 стартмани

05.03.2020    17433    14    moolex    13    

15

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    15152    3    6    

32

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

Инструментарий разработчика Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

04.07.2019    19909    34    riposte    6    

52

Модель объекта

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом. Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.

1 стартмани

30.06.2019    24896    3    vadim1980    5    

17

CFU & CFE - reader (версия 3.1).

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка для анализа файлов обновлений (.cfu) и расширений (.cfe) в режиме предприятия в любой конфигурации для 1С 8.3.+. Основана на разработке https://infostart.ru/public/97194/.

2 стартмани

21.06.2019    17495    48    vandalsvq    12    

28

Блин, мы забыли включить регламентные задания…

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

08.04.2019    35044    23    slozhenikin_com    37    

61

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

31.01.2019    105769    bonv    261    

875

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019)

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Инструментарий разработчика Платформа 1С v8.3 Мобильная платформа Бухгалтерский учет Управленческий учет Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    78046    286    informa1555    246    

207

Легкое и гибкое управление списком доступных баз 1С у пользователей

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД! Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.

7 стартмани

05.12.2018    30536    30    RomikR    11    

18

Очистка кэша 1С 8 (8.0, 8.1, 8.2, 8.3). Грамотная чистка кэша 1С с сохранением настроек.

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний. Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно. Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.

1 стартмани

04.11.2018    68400    648    Eugen-S    36    

52

Навигатор по конфигурации базы 1С 8.3

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Абонемент ($m)

Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3. Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д. Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы. Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами". Платформа 8.3, управляемые формы. Версия 1.1.0.95 от 07.05.2023

3 стартмани

28.10.2018    60039    537    ROL32    72    

183

Управляемая консоль запросов, отчетов 3.8.9 (расширение, внешняя обработка)

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

Работа с запросом и СКД, Полная поддержка пакетных запросов, временных таблиц, Сравнение результатов, текстов, Разбор структуры запроса в виде дерева, Анализ плана запроса, Групповая обработка

10 стартмани

14.08.2018    159761    3532    Evg-Lylyk    800    

624

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    46558    35    informa1555    30    

77

Работа со схемой запроса

Инструментарий разработчика Платформа 1С v8.3 Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    59377    kalyaka    40    

212

Регистры правил [Расширение]

Инструментарий разработчика Платформа 1С v8.3 Управление правами 1С:Управление торговлей 11 Абонемент ($m)

Регистры правил - права доступа, запрет редактирования, автоподстановка реквизитов и т.д.

10 стартмани

15.03.2018    32501    33    33lab    5    

18

Заполняем по шаблону (по умолчанию)

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

08.02.2018    44369    25    mvxyz    17    

79

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    26246    2    10    

9

Программное формирование форматированной строки в стиле html+inline CSS

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

18.11.2017    58852    61    bonv    13    

74

Быстрое удаление неиспользуемых версий 1С:Предприятие 8, кэша метаданных и информационных баз

Инструментарий разработчика Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

14.11.2017    39215    109    bonv    17    

48

Закрываем всплывающие сообщения платформы

Инструментарий разработчика Управляемые формы Абонемент ($m)

Принудительное закрывание сообщений платформы 8.3.10.

1 стартмани

10.11.2017    20867    13    RomaH    8    

12

DataReducer — R-консоль для «1С:Предприятия»

Инструментарий разработчика Платформа 1С v8.3 Анализ и прогнозирование Абонемент ($m)

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

10 стартмани

10.07.2017    33619    3    DataReducer    13    

47

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов

Универсальные функции HighLoad оптимизация Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    54042    DarkAn    87    

196

Набор подсистем "Умные таблицы"

Инструментарий разработчика Платформа 1С v8.3 Беларусь Россия Казахстан Абонемент ($m)

Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.

1 стартмани

22.05.2017    48992    119    Silenser    34    

75