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

Публикация № 1692364 11.07.22

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

эксперт быстродействие erp 1С:Эксперт технологическим вопросам платформа деградация производительности производительность высокая нагрузка highload

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

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

 

Инфраструктура

 

Платформа 1С:Предприятие 8, версия 8.3.17.1549

1С:ERP Управление предприятием 2, версия 2.5.5.77

Сервер СУБД: MS SQL Server

Виртуализация средствами VMware

Количество баз ERP: 20+

Все 20 ИБ работают в режиме «20 кластеров на одной ВМ»:

  • один сервер приложений 1C
  • один сервер СУБД
  • один сервер лицензирования

 

Проблема, с которой пришел заказчик

 

В одном крупном отечественном публичном акционерном обществе, в более 20 дочерних организаций (далее ДО) учет ведется в 1С:ERP Управление предприятием 2 (далее ERP) – по базе на ДО. В одной из баз ДО (наиболее крупной) процедуры быстрого закрытия месяца выполнялись неприемлемо долго.

 

Открыть оригинальный размер

 

 

Детализация проблемы – понимаем масштаб бедствия

 

Что показало обследование текущего положения дел:

1. Сроки выполнения закрытия месяца не устраивали заказчика абсолютно. Например, в самой крупной ДО вся процедура стала выполняться более суток!

2. А самая длительная операция – непосредственно расчет себестоимости, – выполнялась порядка 9-11 часов.

3. Длительность операции отражения документов в регламентированном учете достигала 12 часов.

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

5. Исходя из аппаратных мощностей заказчика были попытки запустить на одновременное выполнение закрытие месяца в 20+ баз ERP, но эти попытки к успеху не привели –  фатальная деградация производительности возникала и в этом случае.

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

 

 

Самое начало – декомпозиция проблемы

 

После обследования проблему заказчика укрупненно разбили на две подзадачи:

  • поиск и устранение проблем стабильности, то есть выявление и борьба с таинственным завершением задания расчета
  • поиск и устранение проблем быстродействия (производительности)

 

Решение задачи стабильности

 

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

То, что фоновое задание расчета регулярно «падало» без каких-либо явных причин, на наш взгляд, требовало первоочередного решения.

В момент прерывания фонового задания единственное, что появлялось в Журнале регистрации 1С (далее ЖР 1С) – это запись, что фоновое задание «отменили». Здесь важно отметить: пользователи «всё отрицали», а сама отмена происходила по ночам, когда люди никак на это не влияли (спали).

 

Открыть оригинальный размер

 

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

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

На инфраструктурном уровне было выявлено три ключевые проблемы:

1. Ощутимо длительная миграция Виртуальных машин (далее ВМ).  

2. Большое количество переподписок на уровне хостов.

3. Софтверное ограничение на количество операций ввода-вывода для дисковой подсистемы в настройках ВМ, особенно на дисках под СУБД.

В связи с проблемами 1 (длительная миграция) и 2 (много переподписок) наблюдались «фризы» гостевой ОС, на которой располагались серверы 1С и СУБД – это показал анализ ТЖ 1С. Такая ситуация приводила к аварийному завершению процессов в кластерах 1С – подсистема отслеживания разрыва соединений 1С завершала их по таймауту, что было вполне штатным поведением в этом случае.

Решением здесь стало устранение миграций ВМ (запретили в настройках). Настроили выделение хостов таким образом, чтобы снизить количество переподписок и их перегрузки. Дополнительно увеличили значения «ping period» и «ping timeout». Теперь время миграции сократилось с минут до секунд, а кластер 1С это переживал штатно и аварийно процессы не завершал.

 

 

Вторая проблема была связана с бизнес-процессами заказчика, т.к. каждый ресурс для ВМ предоставляется «как сервис» и настройки изначально были установлены в режим минимального потребления. Ограничение IOPS для дисков с базой данных и tempdb на сервере СУБД было установлено в 8000. Наблюдалось огромное накопленное ожидание времени отклика и очереди к дискам.

Здесь добились снятия ограничений.

 

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

Складывается ощущение, что какой-то пользователь отменяет выполнение операции (случайно или нет). Клиент утверждает, что так его пользователи в системе 1С себя не ведут. Не забываем, также, про ночь - чаще всего проблема возникает в момент неактивности пользователей.

ОКей. Настраиваем ТЖ 1С. Помимо «джентльменского набора» из событий ADMIN, CLSTR, PROC, ATTN, EXCP, SESN и CONN, которые мы собираем во всех случаях, здесь нам, кажется, придется добавить и события по SCALL” и “CALL, причем с контекстами - мы хотим понять, кто сделал вызов, который привел к отмене задания. Чтобы логи не были большими, добавим фильтр по имени метода MName=cancelJobs:

   <event>
      <eq property="name" value="CALL"/>
      <eq property="MName" value="cancelJobs"/>
    </event>
   <event>
      <eq property="name" value="SCALL"/>
      <eq property="MName" value="cancelJobs"/>
    </event>

 

Запускаем контрольный расчет. Дожидаемся очередной «отмены».

Смотрим в ТЖ 1С: на контексты, на пользователей, в них участвующих. Начинаем во всем этом разбираться…

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

Конечно, мы видим в журнале событие ADMIN с Func=killClient:

34:27.654029-0,ADMIN,2,process=rphost,p:processName=ServerJobExecutorContext,OSThread=16140,t:clientID=20,t:applicationName=JobScheduler,t:computerName=ITE-MP-00159,Func=killClient,ClusterID=21a7019b-f1a0-422e-9387-95dab1819984,ConnectionID=0f337f02-6264-4b0d-86a5-917909aa7cc3,Mode=0,Ref=Expert_ERP(Expert_ERP),Host=ITE-MP-00159,Connection=171,Administrator=Unknown,Result=Success

 

Вслед за ним после нотификации CALL с MName=killConnections видим EXCP, тот самый, который увидел пользователь:

34:27.670002-0,EXCP,4,process=rphost,p:processName=Expert_ERP,OSThread=17276,t:clientID=35,t:applicationName=BackgroundJob,t:computerName=ITE-MP-00159,t:connectID=171,SessionID=5,Usr=Administrator,Exception=95c658d1-d3d5-4ea9-8a81-1bf820fea4a8,Descr='src\rscalls\src\RemoteCallListenerImpl.cpp(4014):
95c658d1-d3d5-4ea9-8a81-1bf820fea4a8: Сеанс работы завершен администратором.',Context='
ОбщийМодуль.ЗакрытиеМесяцаСервер.Модуль : 3322 : Обработки.ОперацииЗакрытияМесяца.ВыполнитьРасчетЭтапов(ПараметрыЗапуска);

 

Эта информация нам ничего не дает. Зато сделанный примерно в то же время в сеансе пользователя, запустившего фоновое задание, исходящий вызов:

34:26.779013-4,SCALL,3,process=rphost,p:processName=Expert_ERP,OSThread=23516,t:clientID=19,t:applicationName=1CV8C,t:computerName=ITE-MP-00159,t:connectID=1,SessionID=1,Usr=Administrator,AppID=1CV8C,ClientID=46,Interface=90d50089-2b1d-4316-ad85-32c83d325a76,IName=IClusterJobManager,Method=9,CallID=12735,MName=cancelJobs,DstClientID=62,Context='Форма.Вызов : Обработка.ОперацииЗакрытияМесяца.Форма.ЗакрытиеМесяца.Модуль.ЗавершениеЗаданийПриЗакрытииФормы
Обработка.ОперацииЗакрытияМесяца.Форма.ЗакрытиеМесяца.Форма : 1293 : ОтменитьФоновоеЗадание(ИдентификаторЗаданияРасчетаЭтапов, Ложь);
	Обработка.ОперацииЗакрытияМесяца.Форма.ЗакрытиеМесяца.Форма : 1939 : Если НЕ ЗакрытиеМесяцаСервер.ОтменитьВыполнениеФоновогоЗадания(ИдентификаторЗадания) Тогда
		ОбщийМодуль.ЗакрытиеМесяцаСервер.Модуль : 4732 : СостояниеЗадания.Задание.Отменить();'

 

 

Наконец приоткрываем завесу тайны.

…оказывается, пользователь действительно не нажимал никаких «отмен».

 

НО!

Но пользователь запускал расчет через управляемую форму, которую затем закрывал. И как видно из отрывка кода этой формы – при её закрытии происходило завершение всех фоновых заданий, связанных с ней.

 

 

Хорошо. Проблему неожиданной «отмены» фонового задания выявили. заказчику рекомендовали изменить логику поведения формы, ответственных пользователей попросили на период выполнения процесса закрытия месяца – форму не закрывать.

 

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

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

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

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

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

 

 

Но в один из дней в тестовом контуре заказчика мы ловим очередную проблему с тяжелым фоновым заданием. В одном из тестов оно снова завершается досрочно. На этот раз оно не «отменено». На этот раз завершается аварийно. Причина в логах указано как:

Соединение с сервером баз данных разорвано администратором

 

Обращаемся к администраторам с вопросом, зачем они с нами так. Ожидаемый ответ: «мы ничего не делали». Идем в логи ;)

В логах СУБД чисто – никаких команд на разрыв нет. Сервер СУБД вроде как работает штатно. Опять какая-то «магия».

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

При анализе ТЖ 1С видно – процессы не завершаются, на серверах СУБД нет никакой характерной активности (команду «kill» никто, включая платформу 1С, не вызывал). Следов зависаний и перезапуска ВМ – не видим. Как будто бы все работает штатно.

Единственное, за что зацепился глаз – за 20 минут до аварийного завершения фонового задания, один из сеансов записал в ТЖ 1С ошибку соединения с сервером баз данных.

Смутило именно точное число – 20 минут. Поэтому изначально предположили, что речь идет о каких-то кэшах, сеансовых данных и тому подобных вещах. И какое-то время потратили на попытку разобраться, что, где и как может мешать нормальной работе системы. Это на какое-то время отвлекло нас от более глубокого анализа инфраструктуры: изначально мы сразу сделали экспресс-аудит и выдали набор стандартных рекомендаций по самым очевидным вещам, поэтому ожидалось что наши рекомендации учтены и работы по замечаниям выполнены.

Эти «20 минут» не давали покоя, поэтому не найдя ничего на уровне прикладного ПО и СУБД, мы снова вернулись на уровень инфраструктуры. Детальное расследование показало, что в момент времени «за 20 минут до завершения фонового задания» происходила миграция ВМ – очень быстро и кратковременно. Поэтому в ТЖ это даже никак и не отражалось. При таком стечении обстоятельств соединения с СУБД в пуле, сформированном платформой 1С, могут оказаться невалидны: попытка их использования даже спустя 20 минут после миграции выполняется платформой, но тут же завершается ошибкой.

Дальнейшее расследование привело к регистрации ошибки платформы 1С:

 

Открыть оригинальный размер

 

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

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

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

Здесь можно подвести некоторые итоги – так сказать, зафиксировать промежуточный результат:

  1. Решены все проблемы стабильности – в первую очередь в работе длительного фонового задания расчета себестоимости.
  2. При этом расчет выполняется стабильно, но стабильно медленно J

 

 

Переходим к решению вопросов производительности

 

Изучаем подробный протокол расчета себестоимости. В частности, «топ 10» самых медленных этапов.

На примере самого крупного ДО заказчика показатели были такими:

  • расчет согласно протоколу в среднем длился 9 часов
  • при этом на этапе Партионный учет: ЗаписатьСформированныеДвижения в течение более 3 часов записывалось свыше 10 миллионов результирующих записей в регистры по итогам этого расчета

Ищем причины такого поведения. Одна из ключевых причин оказалась методического свойства – такое огромное количество записей в регистре порождалось не самыми оптимальными настройками статей расходов и заполнением первичных документов поступления расходов.

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

 

 

После анализа ситуации пользователям запретили заполнять аналитику по подразделениям в табличных частях документов поступлений расходов. Записи в регистры начали выполняться только с аналитикой из шапки этих документов. На бизнес-логику заказчика это никаким образом не повлияло - потом всё равно всё распределялось на все подразделения выпуска

В итоге нам удалось снизить время расчета с 9 часов до 4.5 часов.

Причем подавляющее время из общего по-прежнему занимала запись движений в регистры.

Для оптимизации этого процесса было решено распараллелить запись движений внутри каждого регистра (настройки по умолчанию подразумевают параллельную запись в разные регистры, но в рамках одного - строго последовательную). Для этого в настройках параметров расчета в ERP разрешили параллельную запись движений в 20 потоков. Кроме этого, в конфигурацию самой СУБД внесли следующие изменения:

  • Max Degree of Parallelism (MAXDOP) = 8
  • Cost Threshold for Parallelism (cost degree) = 400
  • TF 1224 (заранее понимаем, что без него никак)

ВНИМАНИЕ! Настройки СУБД не являются рекомендованными, подобраны в этой конкретной ситуации опытным путем и приводятся только с целью ознакомления.

 


 

Результат после применения такой настройки по времени выполнения снизился с 4.5 часов до 2.5 часов.

Казалось бы, целевой показатель на базе самого крупного ДО достигнут и можно выдыхать J

Ан нет!

Все еще осталась проблема медленного выполнения закрытия месяца в случае, когда параллельно запущено закрытие месяца в более чем одной базе ERP. Да, стало работать быстрее, но совокупно работает медленнее в каждой базе, чем если бы запускать ее в одиночном режиме. А быть так не должно.

Тестовый запуск закрытия месяца в двух ДО одновременно показывает следующее:

  • загрузка процессора на серверах не выше 40 %
  • RAM на сервере кластера 1С – свободна на 50%
  • PLE на сервере СУБД не падает ниже 20-30 тысяч
  • buffer cache hit ratio 100%
  • время отклика дисков – ниже 10 миллисекунд

То есть показатели «железа» в норме и с большим запасом. Однако время расчета и в основном в части записи движений увеличивается в 1.5-2 раза в случае запуска в нескольких базах одновременно. И все эти показатели почти никак не отличаются от показателей во время закрытия месяца в какой-нибудь одной базе, но скорость самого закрытия в таком режиме – в два раза выше.

Вот некоторые показатели, полученные из SolarWind (промышленное программное обеспечение для управления сетями, системами и инфраструктурой) заказчика:

 

Ожидания СУБД при расчете в одной базе

Открыть оригинальный размер

Ожидания СУБД при параллельном расчете в 2 ИБ

Открыть оригинальный размер

СУБД: Page life expectancy

Открыть оригинальный размер

СУБД: Avg. Disk sec/Write

Открыть оригинальный размер

СУБД: % Processor Time

Открыть оригинальный размер

 

Внимательно все снова изучив (и не по одному разу), предполагаем, что проблема где-то в сети (потому что все остальное у нас покрыто метриками). Точнее понять, что именно и с чем это связано – не получается. Ни один график загрузки оборудования явных подсказок не дает.

 

Открыть оригинальный размер

 

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

Для этого используем хорошо себя зарекомендовавший Windows Performance Recorder (WPR) в паре с Windows Performance Analyzer (WPA) – подчас именно они выручают в ситуациях, когда «ничего не понятно, но что-то происходит».

Замечаем на сервере СУБД на одном ядре загрузку CPU system time, близкую при параллельном расчете к 100%. При этом остальные ядра могут простаивать. Явно что-то происходит в системных функциях ОС.

Для того чтобы выяснить, что именно происходит в системном слое ОС, включаем трассировку WPR. Открываем в WPA и практически сразу обращаем внимание на системный драйвер «NDIS.SYS» – он с большим отрывом оказался в топе, причем работает действительно на одном ядре в один момент времени - том самом, которое в то же самое время показывало 100% загрузку в привилегированном режиме:

 

Открыть оригинальный размер

 

Иными словами, анализ трассировки WPR сервера СУБД подтвердил предположение о том, что наибольшую нагрузку на CPU в привилегированном режиме создает драйвер сетевого интерфейса NDIS.SYS.

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

Полезно тут отметить вот что. Важно перепроверять не только свои действия/гипотезы, но и работу других команд в процессе решения общей проблемы. Здесь мы выдали в самом начале рекомендации «как устранить», но не проверили их применение. И отсутствие выполнения работ по нашим рекомендациям потом замедлило и усложнило нам путь в решении проблемы. В общем, принцип «доверяй, но проверяй» работает и на ИТ-проектах. Не наступайте на наши грабли! И мы тоже больше не будем ;)

Разбираемся. В настройках ВМ есть параметр Receive Side Scaling (RSS), отвечающий за способ разбора сетевого трафика – одним ядром это выполняется (выключен), либо распараллеливается (включен и указано количество). И в данном случае RSS был включен для ОС, но выключен для сетевого адаптера vmxnet3:

 

 

По рекомендации VMware включаем RSS для адаптера и выполняем его настройку, в частности, задаем Max Number of RSS processors = 4.

Проверяем. Вуаля: разницы при параллельном и последовательном расчете в нескольких базах ERP теперь нет. Сервер СУБД наконец-то загружен на все 70-80%.

Заказчик полученными показателями доволен ;)

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

Благодарим за внимание!

 

 

Вместо Post Scriptum

 

Конечно, процесс оптимизации можно продолжать [бесконечно]. Например, мы выявили что был также выключен прямой доступ к памяти (NetDMA). При необходимости, можно включить и его:

 

 

Узнать подробнее про WPR можно здесь:

https://docs.microsoft.com/ru-ru/windows-hardware/test/wpt/windows-performance-recorder

 

Про WPA там же рядом:

https://docs.microsoft.com/ru-ru/windows-hardware/test/wpt/windows-performance-analyzer

 

Что такое RSS, как технология обеспечивает распределение обработки входящих сетевых потоков по нескольким vCPU – неплохо описано в базе данных Microsoft:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/hh997036(v=ws.11)

 

Рекомендации по включению и настройке RSS от VMware:

https://kb.vmware.com/s/article/2008925 

 

Примеры настройки RSS:

https://communities.vmware.com/t5/ESXi-Discussions/RSS-issues-at-Windows-2012-R2-with-VMXNET3-and-10-2-0-VM-Tools/td-p/2747421

 

Обязательно убедитесь, что установлены актуальные версии драйверов!

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. PerlAmutor 127 12.07.22 05:54 Сейчас в теме
Для статей, которые распределяются на производственные затраты по всем подразделениям, установлена аналитика расходов – подразделение. При оформлении поступления таких расходов в документе подразделение указывается в шапке, но затем еще в строках пользователями указывается иная, отличная от подразделения в шапке аналитика затрат. Именно это порождало избыточные записи прихода прочих затрат, которые далее в такой же детализации декартовым произведением распределялись на приходные записи незавершенного производства по всем подразделениям выпуска.


А можно поподробнее этот момент осветить? Пользователи наверняка не просто так в аналитике расходов указывали подразделение отличное от подразделения документа. Скажем, если Цех №1 оказывает услугу Цеху №2, то в аналитике расходов должен быть Цех №2, но никак не Цех №1. Если затрата распределяется по всем подразделениям, то в аналитике расходов должно быть пусто. Если затрата собственная, то в аналитике расходов должно быть свое подразделение, чтобы затрата не распределилась на всех.

По поводу падения рабочих процессов.
Тоже у себя увеличивали параметр PingTimeout до того пока не разобрались, что устаревший драйвер SSD диска на гипервизоре фризил. Вообще странное решение со стороны вендора прибивать рабочие процессы. Может надо было работу с сокетами иначе организовывать, чтобы таких таймаутов не возникало вовсе даже когда основной поток подвис на какой-нибудь файловой операции. Пусть работает медленней, но стабильно, без сюрпризов и с отражением таких проблем в ТЖ.
AlekseyBelyy; sasha_r; it-expertise; +3 Ответить
2. it-expertise 191 12.07.22 10:19 Сейчас в теме
(1) По поводу первого вопроса-уточнения - эксперт сейчас в отпуске, попробуем через недельку ответить

По поводу второго (поведение платформы) - была зарегистрирована ошибка платформы, которая затем была исправлена.
3. it-expertise 191 12.07.22 11:15 Сейчас в теме
(1)
А можно поподробнее этот момент осветить? Пользователи наверняка не просто так в аналитике расходов указывали подразделение отличное от подразделения документа. Скажем, если Цех №1 оказывает услугу Цеху №2, то в аналитике расходов должен быть Цех №2, но никак не Цех №1. Если затрата распределяется по всем подразделениям, то в аналитике расходов должно быть пусто. Если затрата собственная, то в аналитике расходов должно быть свое подразделение, чтобы затрата не распределилась на всех.


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

Разумеется, решение, описанное в статье, о запрете заполнения аналитики в табличной части мы не принимали самостоятельно, оно было согласовано методологами заказчика и реализовано им самостоятельно. Мы всего лишь указали на проблему и предложили варианты решения.
4. it-expertise 191 12.07.22 11:18 Сейчас в теме
(1)
По поводу падения рабочих процессов.
Тоже у себя увеличивали параметр PingTimeout до того пока не разобрались, что устаревший драйвер SSD диска на гипервизоре фризил. Вообще странное решение со стороны вендора прибивать рабочие процессы. Может надо было работу с сокетами иначе организовывать, чтобы таких таймаутов не возникало вовсе даже когда основной поток подвис на какой-нибудь файловой операции. Пусть работает медленней, но стабильно, без сюрпризов и с отражением таких проблем в ТЖ.


Пинги мы увеличивали, когда миграция ВМ шла долго, чтобы за время фриза не прибивались процессы. Тут никакой ошибки платформы нет. И странным поведение платформы мы не считали (не считаем).
5. muskul 12.07.22 12:04 Сейчас в теме
как и ожидалось вначале больше половина проблем изза виртуалок.
Немного не понял а почему виртуалки мигрируют туда сюда?
6. ivanov660 3544 12.07.22 12:22 Сейчас в теме
(5)Это скорее всего балансировщик нагрузки работает. Опционально отключается админами. С проблемой такой тоже сталкивались, после чего запретили миграцию для некоторых машин.
sasha_r; it-expertise; +2 Ответить
7. it-expertise 191 12.07.22 12:32 Сейчас в теме
(6) (5)

Именно так - это балансировка vmWare.
ВМ мигрирует на менее загруженный хост при сильной загрузке текущего, чтобы обеспечить максимальную производительность.
8. it-expertise 191 12.07.22 12:42 Сейчас в теме
(5)
И кстати отключать миграцию - неправильный с т.з. работы виртуализации подход. Отключать можно и нужно для серверов лицензирования просто потому что это будет приводить к необходимости повторной активации программных лицензий. Во всех остальных случаях правильно искать проблему, по которой миграция мешает работе. Сама по себе она происходит обычно мгновенно.
14. ivanov660 3544 12.07.22 16:14 Сейчас в теме
(8)
1. На сколько я знаю миграция происходит прозрачно и параметры машины не меняются, поэтому почему будет требоваться пере активация лицензий?
2. Проблема в знакомом мне случае (как и в вашем) была в самой 1С. Она так капризно ведет себя даже при таком мгновенном переключении. Сколько времени будет идти фиксация ошибки - доказывание компании 1С (это просто жесть), ее исправление, проверка новой версии и т.п., поэтому решение вполне оправданное, на мой взгляд.
3. Запуск миграции может произойти к примеру из-за запуска бухгалтером закрытия месяца, и машина поехала туда где свободнее.
mitia.mackarevich; sasha_r; +2 Ответить
25. mitia.mackarevich 28 13.07.22 11:14 Сейчас в теме
(14) по поводу 1 пункта, у нас в инфраструктуре столкнулся с тем, что все таки могут меняться даже при условии когда не меняются параметры виртуальной машины. При том, что модель процессора не меняется, а защита ругается на изменение какого то внутреннего уникального номера процессора. Очень интересно и неоднозначно получалось, было это на 8.3.17. Сейчас 8.3.20 как работает сказать не могу, так используем сервер лицензирования (запрещена миграция). Используем vmware
it-expertise; +1 Ответить
9. user1466751 12.07.22 12:46 Сейчас в теме
А есть где-нить в сети инструкция по настройке ВМ под 1С?
10. it-expertise 191 12.07.22 12:54 Сейчас в теме
(9) Выше написали наши соображения относительно отключения миграции ВМ для сервера лицензирования. В остальном - нужно по ситуации смотреть.
18. cdiamond 217 12.07.22 19:12 Сейчас в теме
(9) у vmware есть подробный документ по настройке MSSQL на ВМ, на английском конечно, но тот кто этим занимается язык понимать обязан. Нагуглить можно. В статье не все рекомендации, их там в докумете гораздо больше.
11. quazare 2265 12.07.22 13:11 Сейчас в теме
В своем опыте напишу, что вся проблема может заключаться в кривых настройках виртуальных машин.

Фактически сами админы не думаю и не понимаю проблемы…
12. tolyan_ekb 193 12.07.22 15:01 Сейчас в теме
Ну хоть стало понятно чем в ИТ Экспертиза заниматься придется, если надумаю экспертом становиться. ))
it-expertise; +1 Ответить
13. it-expertise 191 12.07.22 15:25 Сейчас в теме
(12) у нас можно сначала заняться (при соответствующем уровне знаний), потом становится 1С:Экспертом ;)
19. tolyan_ekb 193 13.07.22 06:26 Сейчас в теме
(13) Подскажите, сколько примерно времени это заняло, если можно по шагам.
20. it-expertise 191 13.07.22 08:16 Сейчас в теме
(19) Если "это" - вопрос про трудовой процесс на пути к 1С:Эксперту, то приблизительно про требования описано в наших вакансиях (ссылка есть на сайте).

Там ключевое - не обязательно сразу иметь 1С:Эксперта, главное чтоб было желание его получить. Набор опыта гарантирован, обучение за счет компании.

Если есть желание обсудить оставшиеся трудовые вопросы, замкну на наших замечательных HR. Напишите в личку, если будет желание ;)
AlekseyBelyy; sasha_r; tolyan_ekb; +3 Ответить
15. quazare 2265 12.07.22 16:40 Сейчас в теме
Надо тоже рассказ написать как я резал базу 600 гб в одиночку без отрыва от производства )))))
rbdaurov; +1 Ответить
17. it-expertise 191 12.07.22 17:48 Сейчас в теме
(15) с интересом почитаем!!1
;)
16. пользователь 12.07.22 16:50
Сообщение было скрыто модератором.
...
21. buganov 191 13.07.22 08:49 Сейчас в теме
В связи с проблемами 1 (длительная миграция) и 2 (много переподписок) наблюдались «фризы» гостевой ОС, на которой располагались серверы 1С и СУБД – это показал анализ ТЖ 1С


Можно чуть подробнее этот момент?
22. it-expertise 191 13.07.22 09:43 Сейчас в теме
(21) Непосредственно фризы показали графики загрузки оборудования perfmon, и их (факты миграции) подтвердили данные системы виртуализации.

Анализ ТЖ показал, что процессы кластера были перезапущены системой мониторинга кластера после того, как не ответили ей в течение pingTimeout.
AlekseyBelyy; buganov; sasha_r; +3 Ответить
26. buganov 191 13.07.22 11:43 Сейчас в теме
(22) понял. Спасибо за ответ. Просто в статье было указано, что именно в ТЖ были эти данные, вот и подумал, что появилось что-то новое в методиках. Особенно про СУБД и ТЖ смутило
23. KUAvanesov 13.07.22 09:47 Сейчас в теме
Хорошо бы еще узнать в какие сроки был реализован этот проект оптимизации?
it-expertise; dmitryada; +2 Ответить
24. it-expertise 191 13.07.22 10:33 Сейчас в теме
(23) весь процесс занял около двух месяцев.

Но в этом проекте у нас не было прямого доступа к стенду. Мы говорили их ИТ-специалистам, что где настроить и как собрать, они делали, запускали, передавали нам результаты. То есть паузы периодически возникали в процессе и достаточно большие.
AlekseyBelyy; mitia.mackarevich; sasha_r; +3 Ответить
27. capitan 2221 13.07.22 18:07 Сейчас в теме
Вспоминается...
Теорема ускорения серверов
Лучший способ ускорить сервер это ускорить серверного админа.
Следствие
Нет такого сервера, который нельзя было бы ускорить, есть админы, которых вы не можете ускорить.


В небольших компаниях обычно главбух после/перед каждым совещанием зажимает ДИТ в угол с криком: Сделайте что-нибудь!!!!
Потом админа мотивируют отрицательным ростом премии, он пыхтит пару выходных и все налаживается.
А тут 20 дочерних организаций, пришлось бежать за подмогой.
it-expertise; +1 Ответить
28. it-expertise 191 13.07.22 18:34 Сейчас в теме
(27) лучше взять одну квалифицированную подмогу, чем 19 новых админов ;)))
Оставьте свое сообщение

См. также

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С) Промо

Запросы v8 Бесплатно (free)

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    6790    Eugen-S    24    

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

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

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

29.07.2022    3384    zeltyr    15    

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

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

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

20.07.2022    2796    ivanov660    17    

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

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

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

23.05.2022    3245    ivanov660    25    

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

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

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

27.01.2016    89232    Serginio    116    

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

Механизмы платформы 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    

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

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

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

28.02.2022    8604    ivanov660    18    

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

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

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

10.12.2016    42088    unichkin    74    

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

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

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

12.11.2021    9306    acces969    95    

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

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

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

08.11.2021    7109    Neti    60    

Готовые механизмы 1С: ЗУП, представления

Механизмы типовых конфигураций Запросы v8 v8::СПР ЗУП3.x БУ Бесплатно (free)

Здесь будет храниться архив запросов, которые могут помочь разработчику правильно строить отчеты и получать данные в 1С: ЗУП. Статью буду периодически дополнять.

03.11.2021    4187    Margo462    19    

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

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

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

15.10.2018    38516    tormozit    107    

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

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

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

07.09.2021    8645    ivanov660    26    

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

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)

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

16.04.2019    24237    m-rv    18    

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

Механизмы платформы 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    

Как сделать запрос на изменение данных Промо

Запросы v8 v8::Запросы 1cv8.cf Бесплатно (free)

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    40463    m-rv    23    

Последний раз про срез последних (на каждую дату в запросе)

Запросы v8 v8::Запросы Бесплатно (free)

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

15.02.2021    20430    randomus    47    

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

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

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

11.02.2021    7604    SeiOkami    36    

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

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

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

13.01.2021    9224    CyberCerber    46    

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

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

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

05.12.2017    31522    itriot11    34    

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

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

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

12.01.2021    5220    SeiOkami    27    

Итоги по объединенной совокупности группировок в запросе

Запросы v8 Бесплатно (free)

Способ формирования итогов в запросе по совокупности группировок, объединенных в единый набор, при помощи функции АВТОНОМЕРЗАПИСИ.

18.11.2020    7952    antonivan    21    

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

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

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

10.08.2020    28891    SeiOkami    44    

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

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

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

04.09.2017    61631    m-rv    63    

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

Механизмы платформы 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 v8::УФ 1cv8.cf Бесплатно (free)

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

12.05.2020    11623    SeiOkami    34    

Выразить число как строку и дату как строку в запросе Промо

Запросы v8 1cv8.cf Бесплатно (free)

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

22.02.2015    141090    ildarovich    78    

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

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    

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

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

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

20.03.2020    8267    vasilev2015    40    

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

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

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

04.03.2016    76143    starik-2005    111    

Нечёткий поиск "ПОДОБНО". Нюансы

Запросы v8 Бесплатно (free)

Заметки о "ПОДОБНО" в языке запросов

23.02.2020    42840    Yashazz    31    

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

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

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

06.02.2020    19439    Xershi    47    

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

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

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

24.06.2007    90769    tormozit    31    

[Шпаргалка] Запрос остатков по LIFO FIFO партиям приобретения поступления товаров

Запросы v8 v8::Запросы 1cv8.cf Бесплатно (free)

Запросом получаем остатки по партиям LIFO или FIFO.

31.01.2020    9179    rpgshnik    14    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы

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

Собрал информацию о событиях и подписках в одном месте.

30.12.2019    46710    kuzyara    38    

Оптимизатор запроса. Часть первая

Запросы v8 1cv8.cf Бесплатно (free)

Работа оптимизатора запроса является ключевой для обработки данных. Знание того, как оптимизатор выстраивает свою стратегию, отлично помогает при построении запросов.

23.12.2019    12737    darkdan77    21    

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

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

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

04.01.2017    83446    unichkin    118    

30 задач. Странных и не очень

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

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    31409    YPermitin    63    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Запросы v8 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    15459    Sibars    19    

Обслуживание баз данных. Не так просто, как кажется

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

Считаете, что обслуживание индексов и статистик дело простое? Что ж, это не всегда так.

14.10.2019    24626    YPermitin    32    

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

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

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

30.10.2017    28861    unichkin    18    

ЧтениеДанных и ЗаписьДанных. Работа со строками

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

Использование потоков и двоичных данных для работы со строками.

04.10.2019    15373    Yashazz    15    

Таблица значений. Нюансы

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

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    62138    Yashazz    62    

От чего можно отказаться при разработке расширений 1С

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

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

23.09.2019    12234    independ    33