Обработка показывает неиндексированные измерения регистров сведений, из-за которых случаются блокировки. Для любых баз 1С - на обычных и управляемых формах.
родилась данная обработка - точнее две - для обычных и управляемых форм.
Тестировались на платформе 1С:Предприятие 8.3 (8.3.14.1854).
Обработка для обычных форм тестировалась на конфигурации "Управление торговлей", ред. 10.3.46.2.
Обработка для управляемых форм тестировалась на конфигурации "Бухгалтерия предприятия", ред. 3.0.74.51.
ОБНОВЛЕНИЕ ОТ 14-01-2020
Добавил Вид регистра - провожу анализ режима записи регистра (Независимый, Подчинен регистратору) и периодичность (Непериодический, Периодический). Поскольку от этого зависит - какие индексы создаст платформа согласно условиям. Более детально смотрите здесь Индексы таблиц базы данных
Скрины обработки для обычных и управляемых форм представлены ниже.
Режим "Ускорить анализ" не проверяет к какому типу относится ссылка - к справочнику, документу, плану обмена и т.д.
Обработка использует только одну процедуру (см. листинг).
Обработка создана в обучающих целях по следам просмотра видео-кейса Виктора Богачева.
Вопросы по индексам лучше задавать Виктору Богачеву, который преподаёт курс 1С:Эксперт.
(2) если кратко, то это список ваших потенциальных проблем.
вы смотрели видео-кейс?
в видео-кейсе о чем идет речь: о типовой конфигурации или об адаптированной конфигурации?
в видео-кейсе речь идет о типовом регистре или о нетиповом регистре сведений?
в чем проблема всех подобных доработок (в контексте темы видео-кейса):
первый разработчик создает регистр сведений для хранения информации,
второй разработчик пишет запросы к регистру сведений и другие механизмы обработки сведений.
Третий разработчик находит блокировки.
(2) если кратко, то это список ваших потенциальных проблем.
вы смотрели видео-кейс?
в видео-кейсе о чем идет речь: о типовой конфигурации или об адаптированной конфигурации?
в видео-кейсе речь идет о типовом регистре или о нетиповом регистре сведений?
в чем проблема всех подобных доработок (в контексте темы видео-кейса):
первый разработчик создает регистр сведений для хранения информации,
второй разработчик пишет запросы к регистру сведений и другие механизмы обработки сведений.
Третий разработчик находит блокировки.
Капец. Витя наткнулся случайно на то, что одно из измерений не индексировано. Ему это один раз помешало что-то удалить. Он запостил ролик про то, как он круто проиндексировал измерение. Нашлась куча чудаков, которые стали тулить индексацию во все места, где им стало внезапно не хватать индексов. Еще бы тюнинг адвизор запустили и автоматом нажали потом "создать все".
(10)
1. Давайте сразу оговорим, что я не намерен отдуваться за всю фирму 1С и за всех программистов 1С.
Есть инструмент, никто не предлагает индексировать все измерения во всех регистрах сведений. Это вы сами себе придумали и выдаете за содержание данной статьи.
2. Как думают 1С - я не знаю, и вы знать не можете - каждую конфигурацию разрабатывают своя группа разработчиков. Мы можем только предполагать.
Я просмотрел в БП регистр сведений АналитикаУчетаЗатрат - я полагаю, что измерения не индексировали, поскольку использовать их в запросе напрямую нельзя - эти измерения используются программно алгоритмом, достаточно сложным для восприятия.
Но меня удивило , в УТ не проиндексировано измерение СчетФактура в регистре сведений ЖурналУчетаСчетовФактур...
Я бы рекомендовал индексировать все ссылочные измерения, чтобы не было проблем при обменах и свертках базы. По сути в момент удаления документов.
.
Спросите автора ролика на ютубе, на который Вы ссылаетесь, в комментариях там же на ютубе (он там отвечает, вроде, всем), стоит ли так делать? и почему?
(12) речь о том, чтобы измерения делать или ведущими - чтобы при удалении записи удалялись автоматом, или индексировать - чтобы в запросах быстрее отборы накладывались.
Я подразумевал для Счетов-фактур (не для всех документов!) делать измерения ведущими, поскольку есть обмены и свертки баз.
В конкретном случае, регистр ЖурналУчетаСчетовФактур подчинен регистратору - которых три типа документов - Счет-фактура выданный и полученный, и ВводОстатков, поэтому при удалении СФ, записи автоматом удалятся... Поэтому еще одно одноименное измерение "СчетФактура" излишне делать ведущим...
Вот и все, я свой гештальт закрыл.
Получается, что в каждом конкретном случае нужно понимать для чего вам надо делать измерение "ведущим" или "индексировать".
А про цитату "индексировать все ссылочные измерения" - это я погорячился. А с вами тем более надо выбирать выражения - чтобы вы не цеплялись за слова.
(13) Кластерный индекс независимого регистра сведений состоит из всех измерений, идущих по порядку как заданы в конфигураторе. Автор видимо это упустил. А вообще статья... "фейспам".
https://its.1c.ru/db/metod8dev#content:1590:hdoc
(15)не фейспам, а фейспалм. Жаль, что вы не поняли суть статьи. За ссылку спасибо, но про индексы на ИТС очень много написано, можно ещё с десяток привести. Какой в этом смысл?
Мы в школе 15 лет назад проходили, что
palm [pɑːm] - ладонь
даже в таких простых вопросах можно начать спорить.....
слово "Маркетинг" мы произносим с буквой "р", а в англ. транскрипции эту букву мы не произносим. Такова природа англицизмов.
Какой в этом смысл?
Этим и я задавался, увидев статью.
Смысл статьи - обратить внимание на видео-кейс Виктора Богачева, в котором он находит проблему в измерении, которое не является ведущим и не имеет признака "Индексировать"...
Какой смысл вам прикладывать ссылку на статью ИТС, что все измерения индексируются платформой автоматом - когда у Виктора нашлось одно измерение, которое не проиндексировано - тут никто не разберет....
Виктор - вроде ведущий эксперт, и сомневаться в его словах нет смысла.
Я в обучающих целях реализовал список всех таких измерений - которые не являются ведущими, и не имеют признак "Индексировать". На большее не претендую.
НЕ понимаю, о чем мы спорим? Просто посмотрите видео-кейс, выводы делайте сами, можете поделиться своими знаниями и опытом, видением ситуации.
Переписываться в стиле : "вот тебе теория" - " а вот тебе другая теория" - "а вот еще одна теория" - не вижу смысла...
Смысл статьи - обратить внимание на видео-кейс Виктора Богачева, в котором он находит проблему в измерении, которое не является ведущим и не имеет признака "Индексировать"...
У него там частичное использование кластерного индекса, потому что не по всем измерениям отбор установлен был. Но в реальности это совсем не означает, что нужно бежать индексировать его. Заметил, что там строчка кода записи набора РС ссылается на модуль обновления ИБ, полагаю, что скорее всего показанная ситуация воспроизведена чисто для учебного примера, а на практике она вовсе не встретится.
Разработка структуры регистра заключается в создании наборов измерений, ресурсов и реквизитов.
Для управления списком измерений, ресурсов и реквизитов регистра и редактирования их свойств служат управляющие элементы групп Измерения, Ресурсы, Реквизиты окна редактирования Регистр. С точки зрения настройки элементы этих групп одинаковы. Описание порядка использования этих управляющих элементов см. здесь.
5.14.2.4.1. Свойства измерения (ресурса, реквизита) регистра сведений
Свойства измерений, ресурсов и реквизитов редактируются при помощи палитры свойств. В основном они совпадают с общими свойствами объектов конфигурации. Ниже в этом разделе будут описаны уникальные свойства измерений, ресурсов и реквизитов.
Ведущее ‑ установка этого свойства имеет смысл для измерений, тип данных которых ‑ ссылка на объект конфигурации. В этом случае считается, что запись регистра сведений имеет смысл, только пока существует этот объект. При удалении объекта записи по нему будут автоматически удалены из регистра.
Запрет пустых значений ‑ установка этого флажка включает механизм запрета записи регистра с пустым значением измерения.
Индексировать ‑ для измерений свойство доступно для редактирования, если измерение не является ведущим. Для измерений, ресурсов и реквизитов с установленным свойством Индексировать создается отдельный индекс, что увеличивает производительность при работе с регистром. Для ведущих измерений индекс создается всегда.
При просмотре регистра в режиме 1С:Предприятие существует возможность сортировать записи регистра по индексированным измерениям, ресурсам и реквизитам. Необходимое число форм для просмотра и редактирования регистра должно быть создано в процессе разработки конфигурации.
Большинство прикладных объектов конфигурации имеют в составе подчиненных объектов группу Реквизиты. В этой группе указываются дополнительные характеристики объектов.
В режиме 1С:Предприятие часто требуется осуществлять отбор данных по значению какого-либо реквизита или сортировать списки данных по реквизитам. Средства «1С:Предприятия» позволяют выполнить подобную задачу, однако если данных достаточно много, такая задача может выполняться долго.
Чтобы ускорить эту работу, следует реквизитам, по которым будет выполняться отбор или сортировка, устанавливать свойство Индексировать. Если свойство установлено (выбрано значение Индексировать или Индексировать с доп. упорядочиванием), то подобные задачи будут выполняться эффективнее. Для примитивных типов реквизитов указание индексирования предоставляет пользователям средство сортировки списка по щелчку мыши в области заголовка колонки.
Наряду с сортировкой по реквизиту или отбором данных по значению какого-либо реквизита часто требуется, чтобы в результирующем списке данные были дополнительно отсортированы по основному представлению (наименованию или коду), т. е. в пределах одного значения реквизита записи были отсортированы по представлению. Добиться правильного результата можно, если выбрано значение индексирования Индексировать, а в условиях сортировки списка указаны реквизит и представление.
3) Выводы. Собственно, список показывает измерения, по которым не задано свойство Ведущее и признак Индексировать. Если вы обслуживаете типовые конфы, то можете проверить эффективность типовых регистров - конечно, нужно ли индексировать или нет - зависит от применяемых запросов и алгоритмов обработки, а это зависит напрямую от целей задачи, для которой регистр был создан...
Если у вас своя разработка - то список покажет вам потенциальные проблемы - локализует регистр и измерение - далее исходя из своих запросов и алгоритмов вы решите , нужно ли индексировать или нет....
Делать ли ведущим измерение - это совершенно другой вопрос, создавать ли дополнительно индекс по реквизиту - это другой вопрос - эти вопросы по сути относятся к разным задачам....
Так получилось, что проиндексировать измерение можно, сделав его ведущим - но насколько это оправдано - это тоже вопрос - может при удалении документа - не надо чтобы удалялись записи?! - Виктор этот вопрос не освещает. Я думаю, что он также в обучающих целях создал пример и продемонстрировал кейс.
4) расшифрую ссылку , которую вы прислали: платформа на некоторые измерения сама создает индексы
Индекс кластерный, если регистр независимый.
,
на другие только при условии
Измерению "ИзмерениеN" задано свойство "Индексировать" или свойство "Ведущее" и при этом это не единственное измерение.
(22) Судя по коду обработки статьи, то она выводит измерения РС (почему только РС?!), по которым отсутствует дополнительный индекс (опираясь на данные встроенной функции получения структуры конфигурации, но на самом деле индекс может быть добавлен в СУБД).
Но вы не учли, что кластерный индекс есть всегда (считаем, что хотя бы одно измерение имеется) и первое измерение в цикле нужно пропустить.
Если НЕ Измерение.Ведущее И Измерение.Индексирование = Метаданные.СвойстваОбъектов.Индексирование.НеИндексировать
И Регистр.Измерения.Индекс(Измерение) > 0 Тогда
А то получается, что он попадёт в "потенциальные"... чего-то там :).
По факту эти полученные данные по измерениям ничего не несут - все зависит от конкретной конфигурации и случая.
По факту эти полученные данные по измерениям ничего не несут
тут спорно - поскольку у каждого своя база, и могут быть допущены ошибки на уровне архитектуры решения - добавлены измерения, которые особенно надо индексировать - опять-таки гипотетически рассуждаю, поскольку анализ остается не за обработкой, а за разработчиком....
(26) Полагаю, что анализ об использовании индексов нужно производить из метрик СУБД (в ms sql это sys.dm_db_missing_index_details), там будет предельно исчерпывающая информация по ним. А эта обработка только вносит путаницу.
(26)
насколько он приемлем в отборах и поисках по конкретному измерению? допустим, что рассматриваем случай РС с двумя измерениями....
Если по первому измерению - то все ок, если по первому и второму - тоже, а если только по второму - то скан.
(28) у многих файловые базы, и конечно чаще бывает что отборы по измерениям независимы, чем зависимы, поиск должен быть как по первому так и по второму измерению одинаково быстрым.
(15) Добавил анализ режима записи регистра (Независимый, Подчинен регистратору) и периодичность (Непериодический, Периодический). Поскольку от этого зависит - какие индексы создаст платформа согласно условиям.
Хоть кластерный индекс и создается всегда для независимого непериодического регистра сведений, непонятно, насколько оптимально он используется при поисках и отборах по конкретному измерению? Я думаю, для оптимальной работы надо создать отдельный индекс по конкретному измерению - а это делается через принудительное указание признаков "Ведущее" или "Индексировать"... Поясните, пож-та, вашу точку зрения.
Обработка создана в обучающих целях по следам просмотра видео-кейса Виктора Богачева.
Вопросы по индексам лучше задавать Виктору Богачеву, который преподаёт курс 1С:Эксперт.
Случайно это не та же проблема что и в регистрах остатков, когда первое измерение товар, второе склад, не оптимально выбирать остатки товаров по складу?
Рауз эту проблему решает радикально, одно общее измерение на всех, но это именно регистр сведений и нагрузка на него большая.
"Обработка показывает неиндексированные измерения регистров сведений, из-за которых случаются блокировки. Для любых баз 1С - на обычных и управляемых формах. "
Как-то непрофессионально написано... блокировки случаются и они не случайны, причем тут вообще с индексация реквизитов.
Этот случай - капля в море проблем с производительностью. Начинается все с ошибок проектирования регистров и непродуманных запросов.
(30) находите запроектированный вами или вашими прогерами регистр, смотрите через глобальный поиск в каких запросах участвует. Далее анализируете все ли оптимально.
а по поводу непрофессионально написано, и капля в море, так я не спорю и не претендую на большее.
Представлена универсальная обработка для расчета АВС-категорий группы товаров для любых конфигураций на управляемых формах. Продемонстрирован простой способ презентации АВС-анализа потенциальным клиентам.
Просмотр свойств на примере объектов метаданных - справочников, документов, подписок на события, поиск свойства по нужному значению. Например, можно сформировать список всех справочников, которые не имеют "Кодов",увидеть новые реквизиты расширений, движения документов.
Представлен простейший алгоритм решения задачи АВС-анализа. На данном примере продемонстрирован метод табличного программирования, описанный в книге "Совершенный код. Мастер-класс", автор Стив Макконнелл.
Расширение для БП 3.0 - теперь в акте сверки можно задать начальное сальдо и выделить красным цветом неподписанные реализации (то есть по которым нет подписанных оригиналов).
С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2.
Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.
Наверное, каждый программист 1С (да и не только программист), открывая «Функции для технического специалиста» (ранее «Все функции») на массивных конфигурациях вроде ERP 2.4 и т.п., в своей жизни много раз задавался вопросом – почему же они так долго открываются??
Действительно, в зависимости от мощностей сервера «Все функции» могут открываться от 20 секунд до 2 минут!
«Ну, слишком много объектов в конфигурации, огромное количество констант, справочников, документов, регистров… – Отвечали себе страдающие пользователи. – Пока программа обойдёт в цикле все метаданные, пока построит дерево… Тут ничего не поделаешь…».
И все они были не правы! Я провёл собственное расследование, которое показало, что 97% времени построения дерева метаданных тратится на…
В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.
Представлена статья-исследование: поговорим о технологиях и принципах ценообразования услуг 1С-ника, о расстановке приоритетов по задачам на день/неделю, об АВС-анализе клиентов.
Если вашим пользователям нужно вывести в динамический список разные показатели, которые нельзя напрямую получить из таблиц ссылочных объектов, и вы не хотите изменять структуру справочников или документов - тогда эта подсистема для вас. С помощью нее вы сможете в пользовательском режиме создать свой показатель, который будет рассчитываться по формуле или с помощью запроса. Этот показатель вы сможете вывести в динамический список, как любую другую характеристику объекта. Также можно будет настроить отбор или условное оформление с использованием созданного показателя.
Данная публикация является продолжением описания функционирования обработки "FormCodeGenerator " в режиме сравнения форм и генерирования кода на основании сравнения. Подходит для перевода уже доработанных форм с интерактивной доработки на программную. Данный режим работы обработки снизит издержки при дальнейших обновлениях конфигураций.
Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.
Универсальная проверка ведения учета, построенная на запросах.
Выполнена в виде расширения, имеет функции подключения к другим информационным базам по технологии внешних соединений и отладчик, поддерживает конструктор запросов.
Предназначена для использования как информационно-техническими специалистами, так и для самостоятельного использования конечными пользователями.
Внешний регламент сделан для тех, кто ценит свое время и время заказчика.
После одноразового встраивания в конфигурацию, внешний регламент на лету позволяет добавлять, изменять внешние модули, которые могут выполнятся как регламентные задачи с указанным интервалом или запускаться в ручном режиме для отладки.
Все модули (внешние обработки) находятся и выполняются на стороне сервера, что позволяет исключить подмену алгоритмов со стороны клиента.
Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.
В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.
Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд).
Точность распознания до 98%.
Подсистема позволяет описать модель данных объекта, где описана зависимость между реквизитами, и затем использовать эту модель в разных сценариях работы с объектом.
Версия платформы: 8.3.6 и выше. С небольшими доработками будет работать на 8.2.
Обработка для анализа файлов обновлений (.cfu) и расширений (.cfe) в режиме предприятия в любой конфигурации для 1С 8.3.+.
Основана на разработке https://infostart.ru/public/97194/.
Вы все еще тестируете свои конфигурации 1С вручную? Да вы просто тратите жизнь впустую! В данном туториале попробуем скрестить ADD и jenkins для автоматического запуска тестов.
Практический кейс построения HTTP-сервиса, который работает по принципу HTTP-сервера, с разбором всех методов построения и разработки класса задач построения личных кабинетов и сопряжения их с центральной базой.
СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.
Привет, Инфостарт!
Сегодня расскажу, как я решил проблему с выключенными регламентными заданиями в рабочих базах.
Желая исключить человеческий фактор и минимизировать количество ошибок, я написал небольшую конфигурацию.
В конфигурации два регламентных задания. Первое периодически подключается к кластеру и сохраняет текущие параметры: имя, Сервер БД, базу СУДБ, блокировки входа и регламентных заданий и т.д. Второе задание периодически проверяет эти параметры на ошибки.
Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.
Когда в локальной сети много пользователей, а еще большое количество различных баз и при этом каждому нужны свои, то администрирование этого зоопарка превращается в АД!
Этот комплекс позволяет централизованно управлять списком доступных баз в разрезе пользователей. За пару кликов можно добавить или убрать базу у всех пользователей.
Эффективное средство для устранения ошибок, возникающих в локальном кэше 1С на клиенте, которым легко сможет воспользоваться пользователь с любым уровнем знаний.
Wsf-скрипт, созданный на стандартном языке автоматизации Windows - "WSH JScript", очищает кэш 1С просто, быстро и безопасно.
Кроме варианта, очищающего кэш текущего пользователя, имеется также вариант для чистки кэша 1С всех пользователей терминального-сервера.
1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя.
Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.
Универсальная внешняя обработка для просмотра метаданных конфигураций баз 1С 8.3.
Отображает свойства и реквизиты объектов конфигурации, их количество, основные права доступа и т.д.
Отображаемые характеристики объектов: свойства, реквизиты, стандартные рекизиты, реквизиты табличных частей, предопределенные данные, регистраторы для регистров, движения для документов, команды, чужие команды, подписки на события, подсистемы.
Отображает структуру хранения объектов базы данных, для регистров доступен сервис "Управление итогами".
Платформа 8.3, управляемые формы. Версия 1.1.0.93 от 12.03.2023
Идея данной обработки заключается в создании простого, функционального и универсального инструментария для внедренцев и программистов 1С, который будет работать как в толстом клиенте на обычных и на управляемых формах, так и в тонком клиенте. Интерфейс и логика работы максимально идентичны у обычных форм и управляемых. Инструментарий включает в себя: Консоль кода, Консоль запросов, Консоль отчетов (СКД), Универсальную обработку объектов, Средства для работы с таблицами базы данных 1С, Редактирование регистров сведений базы, Инструмент по работе с табличными документами - загрузка данных из табличного документа.
Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.
Работа с запросом и СКД,
Полная поддержка пакетных запросов, временных таблиц,
Сравнение результатов, текстов,
Разбор структуры запроса в виде дерева,
Анализ плана запроса,
Групповая обработка
Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.