Миссия невыполнима. Общие реквизиты разделители против временных таблиц

Публикация № 1706475 05.08.22

Администрирование БД - HighLoad оптимизация

Разделители данных производительность план запроса

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

Миссия невыполнима?

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

Ловушка общих реквизитов-разделителей

Механизм общих реквизитов-разделителей данных - это жизненная необходимость прежде всего для облачных сервисов Fresh, нежели чем для холдингов или аффилированных юрлиц. Даже если она не используется, соответствующее поле автоматически добавляется в новые объекты, индексы и текст запроса к СУБД. В принципе, с этим можно жить даже на базе в 5 терабайт, основанной на Бухгалтерии 3.0 (Пример базы тут Методика похудения для 1С 100%), но поведение этого механизма с временными таблицами все портит (кратко и емко о механизме см. Официально о механизме разделителей данных).

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

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

Работа в модели сервиса БСП

Что происходит с общими реквизитами\разделителями при сохранении во временную таблицу?

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

Таблица РегистрСведений.СУУ_АгрегированнаяСделкаКП (на MS SQL _InfoRg18968)

 

Период

_Period

ОбластьДанныхОсновныеДанные

_Fld628

ИсходнаяСистема

_Fld19138RRef

ИдИсхСистемы

_Fld19139

ОсновнойСчет

_Fld19140RRef

НогаСделки

_Fld19141RRef

ТипОперацииВИсходнойСистеме

_Fld19142RRef

Удалено

_Fld19143

Дата

_Fld19144

ТипСделкиОтносительноОсновногоСчета

_Fld19145RRef

BufferMsgCounter

_Fld19146

НКД

_Fld19147

ДатаПоставкиФакт

_Fld19148

ДатаПлатежаФакт

_Fld19149

Сумма

_Fld19150

СуммаСНКД

_Fld19151

Цена

_Fld19152

ВалютаЦены

_Fld19153RRef

Количество

_Fld19154

ФинансовыйИнструмент

_Fld19155RRef

ТорговаяПлощадка

_Fld19156RRef

ВладелецОсновногоСчета

_Fld19157RRef

СчетКонтрагента

_Fld19158RRef

Брокер

_Fld19159RRef

Контрагент

_Fld19160RRef

ТипОперации

_Fld19161RRef

СтавкаЗайма

_Fld19162

МетодРасчетаЗайма

_Fld19163RRef

МестоХраненияДеньгиОсновнойСчет

_Fld19164RRef

МестоХраненияБумагиОсновнойСчет

_Fld19165RRef

МестоХраненияДеньгиКонтрагент

_Fld19166RRef

МестоХраненияБумагиКонтрагент

_Fld19167RRef

ДатаПоставкиПлан

_Fld19168

ДатаПлатежаПлан

_Fld19169

ВалютаПлатежа

_Fld19170RRef

ВалютаДоговора

_Fld19171RRef

СуммаДоговора

_Fld19172

 

Вот некоторые индексы с полем разделителя

 

 

И сделаем запрос по данным полям (запрос упрощен, чтобы увидеть суть проблемы)

 

ВЫБРАТЬ    

            СУУ_АгрегированнаяСделкаКП.Период КАК Период,

            СУУ_АгрегированнаяСделкаКП.НогаСделки КАК НогаСделки,

            СУУ_АгрегированнаяСделкаКП.Сумма КАК Сумма,

            СУУ_АгрегированнаяСделкаКП.Дата КАК Дата

ПОМЕСТИТЬ SavedRecords

ИЗ

            РегистрСведений.СУУ_АгрегированнаяСделкаКП КАК СУУ_АгрегированнаяСделкаКП

 

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

INSERT INTO #tt3 WITH(TABLOCK) (_Q_001_F_000, _Q_001_F_001RRef, _Q_001_F_002, _Q_001_F_003) SELECT

T1._Period,

T1._Fld19141RRef,

T1._Fld19150,

T1._Fld19144

FROM dbo._InfoRg18968 T1

WHERE (T1._Fld628 = @P1)

Поскольку временная таблица является локальной #, а не глобальной ## – мы не можем штатным способом видеть ее данные из другой сессии MS SQL, но мы можем видеть ее структуру.

Поля созданной временной таблицы определим запросом. В нем важно указать имя таблицы по маске ‘tt3%’ поскольку MS SQL генерит им свои уникальные имена

 

select top 10   so.name "tab_name", sc.name "tab_column",st.name "col_type"  from tempdb.sys.sysobjects so

inner join tempdb.sys.columns sc on so.name like '#tt3%' and so.id=sc.object_id

inner join tempdb.sys.types st on sc.system_type_id=st.system_type_id

 

Результат будет ниже, всего 4 поля, таких же, как в запросе. Вроде ничего удивительного, но заглянем глубже.

 

Быстрое соединение с временной таблицей – фантастика!

 

 

Типы соединений с большими таблицами описаны тут Типы соединений MS SQL

  • Можно соединяться медленно Nested loop, когда индексов НЕдостаточно с обеих сторон
  • Можно соединяться быстро Merge Join, когда есть индексы с обеих сторон, которые дают нужную сортировку
  • Можно соединяться  “как повезет” по  Hash join, если оптимизатор MS SQL посчитал, что сумеет по выборке его построить

Пример. Мы сохранили отобранные по сложным условиям сделки во временную #ТаблицаСделок(Номер, Дата, Сумма),  проиндексировали по (Номер). Далее решили соединить ее с  постоянной таблицей\регистром сведений ТаблицаТрансферов  (НомерТрансфера,  ДатаТрансфера, НомерСделки, ДатаСделки, СуммаТрансфера), у которой один из индексов по (НомерСделки).

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

Соединение будет «как повезет» либо свалится в loop join и key lookup, либо в каких-то случаях произойдет hash join

 

Агент Хант как никогда был близок к провалу

 

 

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

  1. Добавить параллельные индексы без ОбластьДанныхОсновныеДанные – замедлим и так не блестящую скорость записи в  1С и место потратим
  2. Отказаться от использования ОбластьДанныхОсновныеДанные в нужных  нам таблицах\объектах (явно)  - получим проблемы в соединении с таблицами, где от этого НЕ отказались . Например, со справочниками - ведь условия типа WHERE (T1._Fld628 = @P1)  не просто так добавляет платформа. Допустим, в справочнике поле осталось, а в регистре убрали, установив Использование=НеИспользовать вместо Автоматически. Соединение регистра со справочником пойдет по неоптимальному плану. Это, кстати, еще один недостаток механизма разделителя!
  3. Отказаться от использования ОбластьДанныхОсновныеДанные в типовой конфигурации вообще -  нужно проверять поведение конкретной БСП
  4. Отказаться от использования типовой конфигурации – утратим скорость внедрения в разы. Собирать свое на основе БСП тоже не быстрый вариант, ведь собранная помощниками 1С БСП без правки кода не заработает
  5. Писать запросы без временных таблиц – в теории можно, на практике MS SQL создаст очень плохие планы, которые будут вариациями сканирования кластерного индекса

В общем, пока 1С это не исправит, хорошего варианта нет. Если кто-то знает хороший способ обхода данной проблемы с разделителями

  1. Отсутствие разделителя во временной таблице
  2. Неэффективное соединение при частично отключенных на объектах разделителях

Буду рад прочитать. 

P. S.

Подождите, а как быть с покрывающими индексами? Подробно о покрывающем индексе написано тут  На примере о покрывающем индексе. Если сказать просто - это индекс, в который поля из условия запроса попадают в первые поля индекса, причем без разрыва.  В рассматриваемом случае это компенсируется автодобавляемым условием WHERE (T1._Fld628 = @P1), но если вы передадите в виртуальную таблицу 1с\или условие подзапрос с временной таблицей - план тоже пойдет по плохой дороге.

Вообще временные таблицы в 1С странно сделаны, с одной стороны, они одноразовые, т.е. данные туда записать можно один раз а дописать нельзя (странно, ведь субд это позволяет).

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

Например. Вам нужно в таблице ТаблицаТрансферов  (НомерТрансфера,  ДатаТрансфера, НомерСделки, ДатаСделки, СуммаТрансфера)  иметь два индекса

  1. Один по НомерТрансфера – для соединения с таблицей\регистром дополнительных реквизитов трансфера
  2. Второй по НомеруСделки – для соединения  со сделками

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

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

Оставьте свое сообщение

См. также

Использование классов .Net в 1С для новичков Промо

Механизмы платформы 1С v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    89232    Serginio    116    

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы v8 УХ Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    3175    sapervodichka    37    

Шпаргалка по функциям АСИНХ

Механизмы платформы 1С v8 Россия Бесплатно (free)

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

29.07.2022    3384    zeltyr    15    

Экспертный взгляд на оптимизацию производительности на примере исправления и декомпозиции запроса

HighLoad оптимизация Технологический журнал Мониторинг Запросы v8 ERP2 УТ11 КА2 Бесплатно (free)

Еще один интересный пример оптимизации производительности ERP. Описываем решение проблемы подробно по шагам.

20.07.2022    2798    ivanov660    17    

Использование программных перечислений, ч.1: строковые константы Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    42088    unichkin    74    

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы v8 ERP2 Бесплатно (free)

В данной статье хотим рассказать об одном нашем непростом расследовании, в котором удалось собрать сразу несколько проблем на разных уровнях инфраструктуры заказчика и изначальной методологии ведения учета. Само расследование в какой-то момент стало напоминать детективную историю, с роялями в кустах, ошибками платформы, странным поведением пользователей и магическим поведением хорошо знакомых механизмов. Но мы реалисты, поэтому все проблемы были выявлены и устранены ;)

11.07.2022    3924    it-expertise    27    

Производительный режим работы RLS

HighLoad оптимизация Роли и права v8 8.3.14 8.3.6 8.3.8 ERP2 БП3.0 КА2 Бесплатно (free)

Функционал подсистемы УправлениеДоступом позволяет работать с RLS в двух режимах: стандартном и производительном. Каждый из режимов имеет свои преимущества и недостатки относительно другого. Основные из них будут рассмотрены в данном материале.

14.06.2022    2813    Neti    6    

Исправляем проблемы производительности в конфигурации ERP - 7 примеров

HighLoad оптимизация v8 ERP2 УТ11 КА2 Бесплатно (free)

Злободневные примеры поиска и исправления проблемных мест в конфигурациях ERP/УТ/КА на СУБД Postgres.

23.05.2022    3245    ivanov660    25    

Вспомогательные инструкции в коде 1С Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    38517    tormozit    107    

Динамическое обновление - это зло?

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    10853    YPermitin    75    

Несколько слов про платформенный механизм оптимизации RLS

HighLoad оптимизация v8 Бесплатно (free)

Смотрим, как работает платформенный механизм оптимизации RLS, сравним поведение на разных СУБД MS SQL, Postgres 11,13,14.

07.04.2022    2932    ivanov660    21    

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

HighLoad оптимизация Механизмы типовых конфигураций Запросы v8 ERP2 Бесплатно (free)

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    3886    it-expertise    92    

Как прикрутить ГУИД к регистру сведений Промо

Механизмы платформы 1С v8 Бесплатно (free)

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

16.04.2019    24237    m-rv    18    

Фишки платформы 1С 8.3 для начинающего разработчика

Механизмы платформы 1С v8 1cv8.cf Россия Бесплатно (free)

В данной заметке рассмотрены вспомогательные инструменты платформы, которыми часто пренебрегают начинающие программисты 1С.

11.03.2022    8378    Dimbayyyy    96    

Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками

HighLoad оптимизация Технологический журнал v8 Бесплатно (free)

Рассмотрим по шагам процесс обнаружения, анализа и решения проблемы производительности на примере базы ERP, сравним отличия в работе Postgres и MS SQL.

28.02.2022    8604    ivanov660    18    

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

Универсальные функции Механизмы платформы 1С v8 Бесплатно (free)

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

12.11.2021    9306    acces969    95    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

05.12.2017    31522    itriot11    34    

Как спроектировать структуру регистра сведений

Механизмы платформы 1С v8 v8::Запросы Бесплатно (free)

«Что может быть проще?» — это первое, что приходит в голову. Но что, если это не так? В этой статье мы попробуем затронуть некоторые вопросы, которые могут возникнуть при проектировании больших регистров.

08.11.2021    7109    Neti    60    

Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности

HighLoad оптимизация Рефакторинг и качество кода Технологический журнал v8 Бесплатно (free)

Расскажем про инструменты, рассмотрим планы запросов, увидим, как отслеживать и бороться с проблемами производительности на боевой базе.

07.09.2021    8646    ivanov660    26    

Обработчик ожидания. Нюансы

Механизмы платформы 1С v8 Бесплатно (free)

ПодключитьОбработчикОжидания: некоторые подробности и особенности работы

24.08.2021    15042    Yashazz    25    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Механизмы платформы 1С v8 Бесплатно (free)

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

04.09.2017    61631    m-rv    63    

Адекватный параллелизм в 1С

HighLoad оптимизация v8 Бесплатно (free)

Параллелизм ускоряет выполнение тяжелых регламентных операций на СУБД, но может негативно влиять на работу многопользовательских учетных систем. О том, как анализировать влияние параллелизма и настраивать его для MS SQL и PostgreSQL, рассказал ведущий разработчик компании ООО МКК «Ваш Инвестор» Вадим Фоминых.

13.08.2021    8679    Shmell    7    

Распространенные ошибки разработчиков, приводящие к проблемам производительности

HighLoad оптимизация Рефакторинг и качество кода v8 Бесплатно (free)

Рассмотрим примеры ошибок, анализ, исправление и мероприятия по недопущению подобного в будущем. Всего будет 18 примеров.

02.08.2021    13231    ivanov660    77    

Поиск причин блокировок СУБД

HighLoad оптимизация v8 v8::blocking 1cv8.cf Бесплатно (free)

Расследование блокировок СУБД. Статья написана по мотивам вебинара Виктора Богачева.

28.04.2021    7068    vasilev2015    13    

Регулярные выражения без внешних компонент? Легко! Промо

Механизмы платформы 1С v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    76143    starik-2005    111    

Программное создание расширения

Механизмы платформы 1С v8 Бесплатно (free)

Создание нового расширения "на лету", только штатными средствами 1С.

06.04.2021    5558    Yashazz    14    

Неочевидные нюансы записи управляемой формы

Механизмы платформы 1С v8 v8::УФ Платформа 1C v8.2 1cv8.cf Бесплатно (free)

Разберем несколько нюансов записи управляемой формы.

02.04.2021    20922    SeiOkami    56    

Решение нестандартных проблем производительности на реальных примерах

HighLoad оптимизация v8 Бесплатно (free)

На екатеринбургском Infostart Meetup выступил с докладом архитектор ИС центра разработки ФТО Александр Криулин. Он поделился с коллегами кейсами нестандартных проблем производительности и рассказал о способах их решения.

24.03.2021    6534    AlexKriulin    37    

Методика переопределения и вызова обработчиков событий обычной формы Промо

Механизмы платформы 1С v8 1cv8.cf Россия Бесплатно (free)

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

24.06.2007    90769    tormozit    31    

Советы из Желтой тетради 📒 #1

Механизмы платформы 1С v8 Бесплатно (free)

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

15.03.2021    5649    builin    120    

Соединение вложенными циклами

HighLoad оптимизация v8 Бесплатно (free)

Nested loops и отсутствующие индексы. Статья написана по мотивам вебинара Виктора Богачева.

12.03.2021    4300    vasilev2015    22    

Флаг "Использовать ПОЧТИ всегда", или Нюанс динамических списков

Механизмы платформы 1С v8 Платформа 1C v8.2 1cv8.cf Бесплатно (free)

Небольшая пятничная история по программной работе со строкой динамического списка.

11.02.2021    7604    SeiOkami    36    

Отладка подключаемых обработок Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

04.01.2017    83447    unichkin    118    

О формах 1С замолвите слово... Необычное использование знакомого всем объекта

Механизмы платформы 1С v8 Бесплатно (free)

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

13.01.2021    9224    CyberCerber    46    

Наследование свойств элементов, или Как пользователь может сломать вашу форму

Механизмы платформы 1С v8 Платформа 1C v8.2 1cv8.cf Бесплатно (free)

В 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на папку. Об этом подробнее в видео.

12.01.2021    5220    SeiOkami    27    

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

Механизмы платформы 1С v8 v8::УФ Бесплатно (free)

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

15.11.2020    11111    Eugen-S    11    

Программные перечисления, ч.2: приемы кэширования при разработке Промо

Универсальные функции Механизмы платформы 1С Запросы v8 Бесплатно (free)

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

30.10.2017    28861    unichkin    18    

Анализ проблем производительности по динамике мониторинга RAS 1C

HighLoad оптимизация v8 1cv8.cf Бесплатно (free)

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

07.10.2020    6345    ivanov660    13    

Ускорение медленной работы строк в 1С на примере 1С:Документооборот КОРП

HighLoad оптимизация v8 ДО Бесплатно (free)

Если у вас в 1С:Документооборот КОРП 2.1.11.5 (часть более старых и новых конфигураций): 1) Долго отправляется почта в формате HTML; 2) Медленно открывается документы внутренние / входящие / исходящие; 3) Тормозит область просмотра или открытие задач. Тогда вам сюда.

02.10.2020    6230    Iaskeliainen    16    

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С v8 Россия Бесплатно (free)

Собрали 20 лайфхаков, которые используют наши программисты при работе с 1С. Формы, контрагенты, СКД, процедуры, глюки платформы и многое другое. В этой статье публикуем первую часть.

30.09.2020    8196    Neti    47    

Недокументированное использование стандартных обработок из меню "Все функции". Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Рассмотрены возможности произвольного использования стандартных функций, вызываемых из меню платформы "Все функции" - "Стандартные" (Активные пользователи, Журнал регистрации, Поиск ссылок на объект, Проведение документов ...).

19.06.2015    125418    ekaruk    141    

Новое отображение ошибок в 1С

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Рассмотрим развитие механизма отображения ошибок в 1С (начиная с 8.3.17)

10.08.2020    28891    SeiOkami    44    

Вы запускаете приложения, но делаете это без уважения

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

21.07.2020    12539    YPermitin    32    

Использование Стека вызовов в качестве условия оператора Если [...] Тогда

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.

12.07.2020    10863    sapervodichka    63    

Простая и быстрая эмуляция операций с битовыми строками Промо

Механизмы платформы 1С v8 Бесплатно (free)

Битовые строки могли бы упростить реализацию некоторых алгоритмов на языке платформы «1С: Предприятие 8». Но пока в платформе операций с битовыми строками нет. В то же время уже сделанные попытки смоделировать эти операции преобразованиями над числами опираются на циклы обработки отдельных битов, что плохо сказывается на скорости их работы. Предлагается новое простое решение, основанное на представлении битовых строк строками символов «0» и «1». Приводится примеры кода выполнения основных логических операций AND, OR, XOR, NO без использования циклов. В качестве прикладной задачи рассмотрено получение последовательных значений кода Грэя, который можно использовать для ускорения перебора вариантов.

22.06.2016    30826    ildarovich    14    

Серверные вызовы, которые нельзя вызывать

Механизмы платформы 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    11623    SeiOkami    34    

Эти занимательные временные таблицы

HighLoad оптимизация Администрирование СУБД v8 Бесплатно (free)

Кое-что интересное о временных таблицах и работе платформы 1С с ними.

06.04.2020    20912    YPermitin    0    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

HighLoad оптимизация WEB Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    17412    informa1555    35    

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

Механизмы платформы 1С v8 Бесплатно (free)

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

12.01.2016    360262    mrXoxot    209    

Анализ взаимоблокировок

HighLoad оптимизация Технологический журнал v8 v8::blocking Бесплатно (free)

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

20.03.2020    8267    vasilev2015    40    

Совместимость работы со строками. Жизнь до 8.3.6 и после

Механизмы платформы 1С v8 Бесплатно (free)

Немного о совместимости со старыми версиям платформы 1С в работе со строками.

21.02.2020    6670    YPermitin    24    

Эволюция расширения конфигурации

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

06.02.2020    19439    Xershi    47