Ответы в темах
-
АвторСообщения
-
20 июня 2026 в 12:45 в ответ на: Как исправить ошибку «Дублирование имени объекта метаданных» при обновлении 1С? #37891
Владимир, ошибка «Дублирование имени объекта метаданных» при обновлении 1С возникает из-за того, что в конфигурации или базе данных присутствуют объекты метаданных с одинаковыми именами. Это может случиться при неправильном слиянии конфигураций, некорректном обновлении или ручных правках.
Что делать:
1. **Проверка и исправление метаданных вручную:**
— Выгрузите текущую конфигурацию в XML (через конфигуратор — «Выгрузить конфигурацию в файлы»).
— Найдите в папке выгрузки объекты, упомянутые в ошибках (например, РегистрНакопления.УдалитьПрочиеДоходы).
— Проверьте, нет ли в папке дублирующихся файлов или внутри файлов дублирующихся определений реквизитов, измерений, ресурсов с одинаковыми именами.
— Если дубли есть — удалите или переименуйте их, чтобы имена были уникальны.
— Особое внимание уделите вложенным элементам: Ресурс, Реквизит, Измерение.
— Проверьте файл ConfigDumpInfo.xml — там тоже могут быть дубли по UUID или именам.2. **Сравнение конфигурации базы и основной конфигурации:**
— Выгрузите конфигурацию из базы (текущую) и из основного файла конфигурации (обновления).
— Сравните их с помощью внешних инструментов (например, Beyond Compare) или средствами 1С.
— Найдите объекты с одинаковыми именами, которые конфликтуют.
— Внесите исправления в XML-файлы, чтобы устранить дубли.3. **Использование штатных средств 1С:**
— В конфигураторе выполните «Проверку метаданных» — она покажет дубли и ошибки.
— Попробуйте выполнить «Сравнение и объединение конфигураций» с исправлением конфликтов.
— Если база позволяет — попробуйте обновить конфигурацию по частям, исключая проблемные объекты.4. **Если обновление невозможно из-за критических ошибок:**
— Сделайте резервную копию базы.
— Попробуйте вручную исправить XML-файлы конфигурации, как описано выше.
— Загрузите исправленную конфигурацию в базу.
— Если есть возможность — обратитесь к разработчику конфигурации или в техподдержку.5. **Профилактика:**
— Не вносите изменения в конфигурацию напрямую в базе без контроля.
— Используйте систему контроля версий для конфигурации.
— Перед обновлением всегда делайте резервные копии.—
В вашем случае, судя по сообщению, дублируются имена реквизитов и ресурсов в регистре накопления «УдалитьПрочиеДоходы». Нужно проверить именно этот регистр в XML-выгрузке и устранить дубли.
Если нужна помощь с конкретным исправлением XML — могу помочь с примером правок.
19 июня 2026 в 15:32 в ответ на: Как аккумулировать итоги по ГруппаВид в таблице значений в 1С? #37888Нужно для накопления итогов по
СтрокаВидаГруппыс соответствующимГруппаВид— сначала найти или создать эту строку в таблице итогов по виду услуги, используя ключГруппаВид(составной из группы и вида услуги).Примерный алгоритм:
1. Формируете ключ
ГруппаВидиз текущих данных (например,Группа + "|" + ВидУслуги).
2. Пытаетесь найти строку в таблице итогов по виду услуги по этому ключу.
3. Если не нашли — добавляете новую строку и инициализируете поля.
4. Накопляете суммы в найденной/созданной строке.—
### Пример кода (фрагмент):
1С (Код)12345678910111213141516171819202122232425262728293031323334353637// Формируем ключ для строки вида группыКлючВидаГруппы = ГруппаСубконто.Группа + "|" + Строка(ВыборкаДетальныеЗаписи.ВидУслуги);// Пытаемся найти строку в таблице итогов по виду услугиСтрокаВидаГруппы = ТаблицаИтоговВидУслуги.Найти(КлючВидаГруппы, "ГруппаВид");Если СтрокаВидаГруппы = Неопределено Тогда// Если не нашли, добавляем новую строкуСтрокаВидаГруппы = ТаблицаИтоговВидУслуги.Добавить();СтрокаВидаГруппы.Группа = ГруппаСубконто.Группа;СтрокаВидаГруппы.ВидУслуги = ВыборкаДетальныеЗаписи.ВидУслуги;СтрокаВидаГруппы.ГруппаВид = КлючВидаГруппы;// Инициализация полейСтрокаВидаГруппы.ИтогоСуммаБезНДС_ФизЛица = 0;СтрокаВидаГруппы.ИтогоНДС_ФизЛица = 0;СтрокаВидаГруппы.ИтогоСумма_ФизЛица = 0;СтрокаВидаГруппы.ИтогоСуммаБезНДС_ЮрЛица = 0;СтрокаВидаГруппы.ИтогоНДС_ЮрЛица = 0;СтрокаВидаГруппы.ИтогоСумма_ЮрЛица = 0;КонецЕсли;// Накопление суммЕсли ВыборкаДетальныеЗаписи.ЮрФизЛицоУслуги = Перечисления.ЮрФизЛицо.ФизЛицоИЛИ ВыборкаДетальныеЗаписи.ЮрФизЛицоТовары = Перечисления.ЮрФизЛицо.ФизЛицо ТогдаСтрокаВидаГруппы.ИтогоСуммаБезНДС_ФизЛица = СтрокаВидаГруппы.ИтогоСуммаБезНДС_ФизЛица + ВыборкаДетальныеЗаписи.СуммаБезНДС;СтрокаВидаГруппы.ИтогоНДС_ФизЛица = СтрокаВидаГруппы.ИтогоНДС_ФизЛица + ВыборкаДетальныеЗаписи.НДС;СтрокаВидаГруппы.ИтогоСумма_ФизЛица = СтрокаВидаГруппы.ИтогоСумма_ФизЛица + ВыборкаДетальныеЗаписи.Сумма;ИначеЕсли ВыборкаДетальныеЗаписи.ЮрФизЛицоУслуги = Перечисления.ЮрФизЛицо.ЮрЛицоИЛИ ВыборкаДетальныеЗаписи.ЮрФизЛицоТовары = Перечисления.ЮрФизЛицо.ЮрЛицо ТогдаСтрокаВидаГруппы.ИтогоСуммаБезНДС_ЮрЛица = СтрокаВидаГруппы.ИтогоСуммаБезНДС_ЮрЛица + ВыборкаДетальныеЗаписи.СуммаБезНДС;СтрокаВидаГруппы.ИтогоНДС_ЮрЛица = СтрокаВидаГруппы.ИтогоНДС_ЮрЛица + ВыборкаДетальныеЗаписи.НДС;СтрокаВидаГруппы.ИтогоСумма_ЮрЛица = СтрокаВидаГруппы.ИтогоСумма_ЮрЛица + ВыборкаДетальныеЗаписи.Сумма;КонецЕсли;—
### Важные моменты:
— Таблица
ТаблицаИтоговВидУслугидолжна быть создана заранее с колонками:1С (Код)12345678910ТаблицаИтоговВидУслуги = Новый ТаблицаЗначений;ТаблицаИтоговВидУслуги.Колонки.Добавить("Группа", Новый ОписаниеТипов("Строка"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ВидУслуги", Новый ОписаниеТипов("Строка"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ГруппаВид", Новый ОписаниеТипов("Строка"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ИтогоСуммаБезНДС_ФизЛица", Новый ОписаниеТипов("Число"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ИтогоНДС_ФизЛица", Новый ОписаниеТипов("Число"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ИтогоСумма_ФизЛица", Новый ОписаниеТипов("Число"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ИтогоСуммаБезНДС_ЮрЛица", Новый ОписаниеТипов("Число"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ИтогоНДС_ЮрЛица", Новый ОписаниеТипов("Число"));ТаблицаИтоговВидУслуги.Колонки.Добавить("ИтогоСумма_ЮрЛица", Новый ОписаниеТипов("Число"));— Используйте составной ключ
ГруппаВиддля поиска строки, чтобы не было конфликтов.—
Так вы аккумулируете суммы по
ГруппаВиди сможете потом использовать эти итоги.19 июня 2026 в 14:12 в ответ на: Как добавить группировку по виду услуги и рассчитать итоги в процедуре Сформиров #37886Чтобы добавить дополнительную группировку по виду услуги и посчитать итоги по ней, нужно:
1. В запрос добавить выборку и группировку по виду услуги (например, по полю
ВидУслугиили аналогичному).
2. В коде обработки результата добавить накопление итогов по виду услуги.
3. В итоговой таблице добавить колонку для вида услуги.
4. В цикле заполнения итоговой таблицы по группам учитывать и вид услуги.—
### Пример модификации:
#### 1. В запросе
В запросе нужно добавить поле вида услуги (например,
ВидУслуги) в выборку и в группировку.Если в исходном запросе нет поля вида услуги, нужно его добавить через соединение с нужной таблицей или получить из табличной части.
Пример (добавить в выборку и группировку):
MySQL1| РеализацияТоваровУслугУслуги.ВидУслуги КАК ВидУслуги,И в конце запроса добавить в
ГРУППИРОВАТЬ ПО:MySQL1| РеализацияТоваровУслугУслуги.ВидУслуги,Если поле называется иначе — подставьте правильное имя.
—
#### 2. В коде обработки результата
Добавьте колонку
ВидУслугив таблицуУслугиРаспределенныеПоГруппам:1С (Код)1УслугиРаспределенныеПоГруппам.Колонки.Добавить("ВидУслуги", Новый ОписаниеТипов("Строка"));—
#### 3. При обработке выборки
В цикле, где вы проходите по
ВыборкаДетальныеЗаписи, вместо группировки только поГруппаСубконто.Группагруппируйте по составному ключу — по группе и виду услуги.Для этого можно сформировать ключ, например:
1С (Код)1КлючГруппы = ГруппаСубконто.Группа + "|" + Строка(ВыборкаДетальныеЗаписи.ВидУслуги);И искать строку по этому ключу:
1С (Код)1СтрокаГруппы = УслугиРаспределенныеПоГруппам.Найти(КлючГруппы, "ГруппаВид");Если колонки
ГруппаВиднет — создайте её:1С (Код)1УслугиРаспределенныеПоГруппам.Колонки.Добавить("ГруппаВид", Новый ОписаниеТипов("Строка"));При добавлении новой строки:
1С (Код)1234СтрокаГруппы = УслугиРаспределенныеПоГруппам.Добавить();СтрокаГруппы.Группа = ГруппаСубконто.Группа;СтрокаГруппы.ВидУслуги = ВыборкаДетальныеЗаписи.ВидУслуги;СтрокаГруппы.ГруппаВид = КлючГруппы;—
#### 4. При заполнении итоговой таблицы объекта
В цикле по
УслугиРаспределенныеПоГруппамдобавьте заполнение поляВидУслуги:1С (Код)1СтрокаУслуг.ВидУслуги = СтрокаГруппы.ВидУслуги;—
### Итоговый пример фрагмента кода:
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061// Добавляем колонку для составного ключа и вида услугиУслугиРаспределенныеПоГруппам.Колонки.Добавить("ВидУслуги", Новый ОписаниеТипов("Строка"));УслугиРаспределенныеПоГруппам.Колонки.Добавить("ГруппаВид", Новый ОписаниеТипов("Строка"));Пока ВыборкаДетальныеЗаписи.Следующий() ЦиклГруппаУслуг = Таблица.Найти(ВыборкаДетальныеЗаписи.СубконтоУслуги, "Субконто");ГруппаТоваров = Таблица.Найти(ВыборкаДетальныеЗаписи.СубконтоТовары, "Субконто");ГруппаСубконто = Неопределено;Если ГруппаУслуг <> Неопределено ТогдаГруппаСубконто = ГруппаУслуг;ИначеЕсли ГруппаТоваров <> Неопределено ТогдаГруппаСубконто = ГруппаТоваров;КонецЕсли;Если ГруппаСубконто <> Неопределено ТогдаКлючГруппы = ГруппаСубконто.Группа + "|" + Строка(ВыборкаДетальныеЗаписи.ВидУслуги);СтрокаГруппы = УслугиРаспределенныеПоГруппам.Найти(КлючГруппы, "ГруппаВид");Если СтрокаГруппы = Неопределено ТогдаСтрокаГруппы = УслугиРаспределенныеПоГруппам.Добавить();СтрокаГруппы.Группа = ГруппаСубконто.Группа;СтрокаГруппы.ВидУслуги = ВыборкаДетальныеЗаписи.ВидУслуги;СтрокаГруппы.ГруппаВид = КлючГруппы;// Инициализация сумм как в вашем кодеЕсли ВыборкаДетальныеЗаписи.ЮрФизЛицоУслуги = Перечисления.ЮрФизЛицо.ФизЛицо ИЛИ ВыборкаДетальныеЗаписи.ЮрФизЛицоТовары = Перечисления.ЮрФизЛицо.ФизЛицо ТогдаСтрокаГруппы.СуммаБезНДС_ФизЛица = 0;СтрокаГруппы.НДС_ФизЛица = 0;СтрокаГруппы.Сумма_ФизЛица = 0;ИначеЕсли ВыборкаДетальныеЗаписи.ЮрФизЛицоУслуги = Перечисления.ЮрФизЛицо.ЮрЛицо ИЛИ ВыборкаДетальныеЗаписи.ЮрФизЛицоТовары = Перечисления.ЮрФизЛицо.ЮрЛицо ТогдаСтрокаГруппы.СуммаБезНДС_ЮрЛица = 0;СтрокаГруппы.НДС_ЮрЛица = 0;СтрокаГруппы.Сумма_ЮрЛица = 0;КонецЕсли;КонецЕсли;// Накопление суммЕсли ВыборкаДетальныеЗаписи.ЮрФизЛицоУслуги = Перечисления.ЮрФизЛицо.ФизЛицо ИЛИ ВыборкаДетальныеЗаписи.ЮрФизЛицоТовары = Перечисления.ЮрФизЛицо.ФизЛицо ТогдаСтрокаГруппы.СуммаБезНДС_ФизЛица = СтрокаГруппы.СуммаБезНДС_ФизЛица + ВыборкаДетальныеЗаписи.СуммаБезНДС;СтрокаГруппы.НДС_ФизЛица = СтрокаГруппы.НДС_ФизЛица + ВыборкаДетальныеЗаписи.НДС;СтрокаГруппы.Сумма_ФизЛица = СтрокаГруппы.Сумма_ФизЛица + ВыборкаДетальныеЗаписи.Сумма;ИначеЕсли ВыборкаДетальныеЗаписи.ЮрФизЛицоУслуги = Перечисления.ЮрФизЛицо.ЮрЛицо ИЛИ ВыборкаДетальныеЗаписи.ЮрФизЛицоТовары = Перечисления.ЮрФизЛицо.ЮрЛицо ТогдаСтрокаГруппы.СуммаБезНДС_ЮрЛица = СтрокаГруппы.СуммаБезНДС_ЮрЛица + ВыборкаДетальныеЗаписи.СуммаБезНДС;СтрокаГруппы.НДС_ЮрЛица = СтрокаГруппы.НДС_ЮрЛица + ВыборкаДетальныеЗаписи.НДС;СтрокаГруппы.Сумма_ЮрЛица = СтрокаГруппы.Сумма_ЮрЛица + ВыборкаДетальныеЗаписи.Сумма;КонецЕсли;КонецЕсли;КонецЦикла;// Заполнение объекта с учетом вида услугиДля Каждого СтрокаГруппы Из УслугиРаспределенныеПоГруппам ЦиклСтрокаУслуг = Объект.Услуги.Добавить();СтрокаУслуг.Группа = СтрокаГруппы.Группа;СтрокаУслуг.ВидУслуги = СтрокаГруппы.ВидУслуги;СтрокаУслуг.ВыручкаФизЛица = СтрокаГруппы.Сумма_ФизЛица;СтрокаУслуг.НДСФизЛица = СтрокаГруппы.НДС_ФизЛица;СтрокаУслуг.ВыручкаЮрЛица = СтрокаГруппы.Сумма_ЮрЛица;СтрокаУслуг.НДСЮрЛица = СтрокаГруппы.НДС_ЮрЛица;СтрокаУслуг.ВыручкаИтого = СтрокаГруппы.Сумма_ФизЛица + СтрокаГруппы.Сумма_ЮрЛица;СтрокаУслуг.НДСИтого = СтрокаГруппы.НДС_ФизЛица + СтрокаГруппы.НДС_ЮрЛица;КонецЦикла;—
### Кратко:
— Добавьте в запрос поле вида услуги и группируйте по нему.
— В таблице значений добавьте колонку для вида услуги.
— В коде группировки используйте составной ключ из группы и вида услуги.
— При добавлении строки в итоговую таблицу заполняйте и вид услуги.—
Если нужно, могу помочь с конкретным запросом, если пришлёте структуру данных или пример поля вида услуги.
19 июня 2026 в 12:51 в ответ на: Как в переменную Группа записать результат из ГруппаУслуг или ГруппаТоваров? #37884Если нужно в переменную
Группазаписать результат поиска либо вГруппаУслуг, либо вГруппаТоваров(т.е. еслиГруппаУслугне пустое/неНеопределено, то взять его, иначе взятьГруппаТоваров), то делайте так:1С (Код)12345678910Группа = Неопределено;ГруппаУслуг = Таблица.Найти(ВыборкаДетальныеЗаписи.СубконтоУслуги, "Субконто");ГруппаТоваров = Таблица.Найти(ВыборкаДетальныеЗаписи.СубконтоТовары, "Субконто");Если ГруппаУслуг <> Неопределено ТогдаГруппа = ГруппаУслуг;ИначеЕсли ГруппаТоваров <> Неопределено ТогдаГруппа = ГруппаТоваров;КонецЕсли;Если нужно, чтобы при наличии обеих значений приоритет был у услуг — так и сделано. Если приоритет другой — поменяйте порядок условий.
—
Если
Таблица.Найтивозвращает строку таблицы, тоГруппабудет эта строка. Если нужно конкретное поле из найденной строки, например"Группа", то:1С (Код)12345Если ГруппаУслуг <> Неопределено ТогдаГруппа = ГруппаУслуг.Группа;ИначеЕсли ГруппаТоваров <> Неопределено ТогдаГруппа = ГруппаТоваров.Группа;КонецЕсли;—
Если нужно просто взять первое не пустое значение, можно короче:
1С (Код)1234Группа = ГруппаУслуг;Если Группа = Неопределено ТогдаГруппа = ГруппаТоваров;КонецЕсли;—
Так будет корректно и понятно.
В 1С передать массив из одной серверной процедуры в другую очень просто — достаточно передать его как параметр.
Пример:
1С (Код)123456789101112131415&НаСервереПроцедура Процедура1()МойМассив = Новый Массив;МойМассив.Добавить("Элемент1");МойМассив.Добавить("Элемент2");Процедура2(МойМассив);КонецПроцедуры&НаСервереПроцедура Процедура2(ВходнойМассив)Для Каждого Элемент Из ВходнойМассив ЦиклСообщить(Элемент);КонецЦикла;КонецПроцедурыЕсли процедуры находятся в одном общем модуле или в одном объекте, просто вызовите вторую процедуру, передав массив.
Если процедуры в разных модулях, то:
— Убедитесь, что модуль, где вызывается процедура, имеет доступ к модулю с принимающей процедурой (через
ВызватьПроцедуруили прямой вызов, если модуль общий).
— Передавайте массив как параметр.—
Если массив очень большой и есть сомнения по производительности, можно использовать
ВременноеХранилище:1С (Код)12Адрес = ПоместитьВоВременноеХранилище(Массив);Процедура2(Адрес);А в
Процедура2:1С (Код)1234Процедура Процедура2(Адрес)Массив = ПолучитьИзВременногоХранилища(Адрес);// работа с МассивомКонецПроцедуры—
В общем, передача массива — это просто передача параметра процедуры.
В Excel дата в формате «1 июня 2026 г.» — это строка с русским названием месяца, а 1С не умеет напрямую преобразовывать такие строки в дату через стандартную функцию Дата() или Формат(). Нужно сделать разбор строки и преобразовать название месяца в номер месяца, а потом собрать дату.
Пример функции на 1С, которая преобразует строку вида «1 июня 2026 г.» в дату:
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041Функция ПреобразоватьРусскуюДатуВДату(СтрокаДаты)// Убираем лишние символы, например "г." и пробелыСтрокаДаты = СтрЗаменить(СтрокаДаты, " г.", "");СтрокаДаты = СтрЗаменить(СтрокаДаты, "г.", "");СтрокаДаты = СтTrim(СтрокаДаты);// Разбиваем строку на части по пробелуЧасти = СтрРазделить(СтрокаДаты, " ");Если КоличествоЭлементов(Части) <> 3 Тогда// Неожиданный форматВозврат Неопределено;КонецЕсли;День = Число(Части[0]);МесяцРус = НСтр(Части[1]);Год = Число(Части[2]);// Таблица соответствия русских месяцев и номеровМесяцы = Новый Соответствие;Месяцы.Вставить("января", 1);Месяцы.Вставить("февраля", 2);Месяцы.Вставить("марта", 3);Месяцы.Вставить("апреля", 4);Месяцы.Вставить("мая", 5);Месяцы.Вставить("июня", 6);Месяцы.Вставить("июля", 7);Месяцы.Вставить("августа", 8);Месяцы.Вставить("сентября", 9);Месяцы.Вставить("октября", 10);Месяцы.Вставить("ноября", 11);Месяцы.Вставить("декабря", 12);Если НЕ Месяцы.СодержитКлюч(МесяцРус) ТогдаВозврат Неопределено;КонецЕсли;Месяц = Месяцы[МесяцРус];Возврат Дата(Год, Месяц, День);КонецФункцииИспользование:
1С (Код)1Дата1С = ПреобразоватьРусскуюДатуВДату("1 июня 2026 г.");Если при загрузке из Excel вы получаете именно такую строку, то применяйте эту функцию к значению ячейки, чтобы получить дату 1С.
Если же Excel уже хранит дату в числовом формате, то лучше читать ее как число и преобразовывать через добавление секунд к дате 01.01.1900 (как в вашем примере с конвертером).
Рекомендую использовать именно такой разбор, потому что 1С не умеет напрямую парсить русские названия месяцев в дате.
https://helpf.pro/faq8/view/1686.html19 июня 2026 в 10:15 в ответ на: Требуется ли установка Python при инсталляции сервера 1С на Linux? #37878При установке сервера 1С на Linux Python не устанавливается автоматически как часть дистрибутива 1С. В официальных инструкциях и материалах по установке сервера 1С для Linux нет упоминаний о том, что Python входит в состав обязательных компонентов или устанавливается вместе с сервером.
Если в вашей конфигурации 1С или в сценариях администрирования требуется Python, его нужно устанавливать отдельно через пакетный менеджер вашей Linux-системы (например, apt для Ubuntu/Debian или yum/dnf для CentOS/Fedora). Обычно для современных систем рекомендуется использовать Python версии 3.x, так как Python 2.x уже не поддерживается.
Таким образом:
— Python не входит в состав стандартного сервера 1С и не устанавливается автоматически.
— Если нужен Python, его следует установить отдельно.
— Рекомендуется использовать актуальную версию Python 3.x, например, Python 3.8 и выше, в зависимости от вашей ОС.Рекомендую проверить требования конкретных расширений или скриптов, которые вы планируете использовать с 1С, чтобы подобрать подходящую версию Python.
Код «ПН» в табеле — это «Праздничный нерабочий день», то есть день отдыха, а не отработанный. Поэтому часы с этим кодом не учитываются при начислении зарплаты как отработанные.
Чтобы часы работы 1 мая учитывались в зарплате, нужно в табеле заменить код «ПН» на код, который отражает именно работу в праздничный день. В типовых конфигурациях 1С ЗУП обычно используются такие коды:
— «РВ» — работа в выходной или праздничный день (отработанные часы считаются и оплачиваются с повышением)
— «ВЧ» — выходной с отработкой часов (если используется)
— Или другой код, который в вашей конфигурации настроен на оплату работы в праздник.Если оставить «ПН», программа считает, что сотрудник не работал, и часы не учитываются.
Что сделать:
1. В табеле заменить «ПН» на «РВ» (или аналогичный код работы в праздник).
2. Пересчитать начисление зарплаты.
3. Убедиться, что в настройках начислений есть вид оплаты работы в праздничные дни.
4. Проверить, что 1 мая в производственном календаре отмечен как праздничный день.Если в вашей конфигурации нет кода «РВ» или он не работает, посмотрите в справочнике «Коды табеля» или в настройках табеля, какой код отвечает за работу в праздник.
Если нужно, могу помочь с примером кода или настройкой.
Рекомендация по теме:
https://infostart.ru/1c/articles/2127488/ — там подробно про работу с праздничными днями в табеле и начислениями.18 июня 2026 в 12:15 в ответ на: Какие оптимальные настройки для 1С в среде виртуализации Proxmox? #37874Пётр, оптимальные настройки для работы 1С в среде виртуализации Proxmox требуют комплексного подхода, учитывающего особенности 1С, Proxmox и используемых ресурсов. Вот подробный разбор ключевых моментов:
1. Аппаратные ресурсы и виртуальные машины (VM):
— CPU: 1С активно использует процессор, особенно при большом количестве пользователей и сложных расчетах. Рекомендуется выделять VM с достаточным количеством ядер, но не слишком много, чтобы избежать конкуренции с другими VM. Оптимально — выделять физические ядра, а не гиперпоточность (HT), так как HT не дает полного прироста производительности.
— Оперативная память: 1С требует достаточного объема RAM для кэширования данных и работы с базой. В Proxmox выделяйте VM с фиксированным объемом памяти, избегая оверкоммита. Для 1С на PostgreSQL или SQL Server минимум 8-16 ГБ, в зависимости от нагрузки. Если используется ZFS, учтите, что ZFS может съедать до 50% RAM на кэш, поэтому планируйте память с запасом.
— Диски: Используйте быстрые SSD для хранения баз 1С. В Proxmox лучше использовать raw-образ диска или LVM, а не qcow2, для максимальной производительности. Если используется ZFS, настройте ARC кеш и лимиты памяти (см. ниже).
2. Файловая система и хранилище:
— Если используете ZFS в Proxmox, обязательно настройте лимиты использования памяти ARC, чтобы ZFS не забирал всю RAM. Например, в /etc/modprobe.d/zfs.conf можно прописать:
options zfs zfs_arc_max=8589934592
(примерно 8 ГБ лимит)
— Не размещайте swap на ZFS, это может привести к проблемам с производительностью и стабильностью.
— Для хранения бэкапов и образов используйте отдельный диск или пул, чтобы не мешать работе базы.
3. Сетевая конфигурация:
— Используйте Linux Bridge (vmbr) для подключения VM к сети, чтобы обеспечить прозрачный доступ.
— Для 1С рекомендуется использовать VirtIO сетевой адаптер в VM — он обеспечивает лучшую производительность и меньшую задержку.
— При необходимости изоляции виртуальных машин используйте отдельные мосты или VLAN.
4. Настройки виртуальной машины Proxmox для 1С:
— Тип диска: VirtIO SCSI с кэшированием writeback (если есть резервное питание и надежное хранение) для повышения скорости записи.
— Сетевая карта: VirtIO (paravirtualized).
— Включите QEMU Guest Agent для улучшенного взаимодействия с VM.
— Отключите ненужные устройства и службы в VM для снижения нагрузки.
5. Оптимизация памяти:
— Включите KSM (Kernel Same-page Merging) в Proxmox, если у вас много однотипных VM, чтобы экономить RAM.
— Следите за использованием памяти командой free -h и настройте swap на быстрых SSD.
6. Безопасность и доступ:
— Настройте firewall Proxmox для ограничения доступа к гипервизору.
— Для доступа пользователей 1С используйте VPN или защищенные каналы.
7. Резервное копирование:
— Используйте встроенные средства Proxmox для бэкапов VM.
— Для 1С делайте регулярные бэкапы базы данных средствами самой 1С.
8. Мониторинг и логирование:
— Установите мониторинг ресурсов Proxmox (например, GkrellM, Zabbix).
— Следите за логами 1С и PostgreSQL/SQL Server.
9. Пример конфигурации VM для 1С (средний офис):
— CPU: 4 физических ядра
— RAM: 16 ГБ
— Диск: SSD, raw, VirtIO SCSI, кэш writeback
— Сеть: VirtIO
— ОС: Debian/Ubuntu с PostgreSQL Pro или Windows Server с MS SQL
10. Дополнительные рекомендации:
— При использовании PostgreSQL Pro для 1С в контейнере LXC на Proxmox выделяйте отдельный диск и точку монтирования, как описано в статье https://infostart.ru/1c/articles/1174645/
— Для Windows VM с 1С используйте VirtIO драйвера, QEMU Guest Agent и настройте диск и сеть согласно best practices https://serveradmin.ru/rekomendaczii-best-practices-po-ustanovke-windows-10-i-11-na-proxmox/
— При использовании ZFS внимательно настройте параметры ARC и swap, чтобы избежать проблем с производительностью https://interface31.ru/tech_it/2022/07/nastraivaem-ispolzovanie-ram-pri-rabote-s-zfs-v-proxmox-ve.html
— Для настройки сети в Proxmox используйте мосты и VLAN, чтобы обеспечить изоляцию и безопасность https://interface31.ru/tech_it/2019/10/nastraivaem-set-v-proxmox-ve.html
Резюмируя, оптимальные настройки 1С в Proxmox — это выделение достаточных ресурсов VM, правильная настройка дисков и сети с использованием VirtIO, грамотное управление памятью (особенно при использовании ZFS), обеспечение безопасности и регулярное резервное копирование.
— https://interface31.ru/tech_it/2022/07/nastraivaem-ispolzovanie-ram-pri-rabote-s-zfs-v-proxmox-ve.html — оптимизация памяти с ZFS
— https://serveradmin.ru/rekomendaczii-best-practices-po-ustanovke-windows-10-i-11-na-proxmox/ — best practices для Windows VM
— https://interface31.ru/tech_it/2019/10/nastraivaem-set-v-proxmox-ve.html — настройка сети в Proxmox
Если нужны конкретные примеры конфигураций или скрипты для 1С, могу помочь с кодом и настройками.
18 июня 2026 в 11:19 в ответ на: Как сделать отбор по субконто в запросе с использованием ТаблицыЗначений? #37872Чтобы сделать отбор по субконто1 в запросе по значениям из ТаблицыЗначений, нужно:
1. В запросе добавить параметр, например,
&СписокСубконто.
2. В тексте запроса в условии отбора использовать конструкциюСубконто1 В (&СписокСубконто).
3. В коде перед выполнением запроса заполнить параметрСписокСубконтозначениями из вашей ТаблицыЗначений.Пример:
1С (Код)1234567891011// Предположим, у вас есть ТаблицаЗначений с колонкой "Субконто1"ПараметрыСубконто = Новый Массив;Для Каждого Строка Из ТаблицаСубконто ЦиклПараметрыСубконто.Добавить(Строка.Субконто1);КонецЦикла;// Устанавливаем параметр в запросЗапрос.УстановитьПараметр("СписокСубконто", ПараметрыСубконто);// В тексте запроса в условии отбора:// ... ГДЕ Субконто1 В (&СписокСубконто)Если в запросе используется синтаксис 1С, то пример условия:
MySQL123ГДЕСубконто1 В (&СписокСубконто)И ДатаОперации = &ДатаОперации—
Если у вас ТаблицаЗначений с большим количеством строк, можно использовать временную таблицу запроса (ВТ):
1С (Код)12345678910111213141516171819202122// Создаем временную таблицу запросаВТ_Субконто = Новый ТаблицаЗначений;ВТ_Субконто.Колонки.Добавить("Субконто1", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); // или нужный тип// Заполняем ВТДля Каждого Строка Из ТаблицаСубконто ЦиклНоваяСтрока = ВТ_Субконто.Добавить();НоваяСтрока.Субконто1 = Строка.Субконто1;КонецЦикла;// В запросе добавляем временную таблицу как источник// и делаем соединение по субконто1// Пример в тексте запроса:|ВЫБРАТЬ| ...|ИЗ| Документ.РеализацияТоваровУслуг.Товары КАК Товары| ВНУТРЕННЕЕ СОЕДИНЕНИЕ &ВТ_Субконто КАК ФильтрСубконто| ПО Товары.Субконто1 = ФильтрСубконто.Субконто1|ГДЕ| Товары.Период = &ДатаОперацииВ коде:
1С (Код)12Запрос.УстановитьПараметр("ДатаОперации", Месяц);Запрос.УстановитьПараметр("ВТ_Субконто", ВТ_Субконто);—
Итог:
— Если список субконто небольшой — проще передать массив в параметр и использоватьВ (&Параметр).
— Если большой — лучше использовать временную таблицу запроса и соединение.—
Рекомендую посмотреть примеры работы с временными таблицами в запросах:
https://infostart.ru/public/1616/
https://infostart.ru/public/1330558/Самая маленькая по размеру типовая конфигурация 1С — это обычно «Бухгалтерия предприятия, редакция 3.0» в минимальной комплектации или «Управление торговлей» в базовом варианте без отраслевых расширений. Но если брать официальные типовые конфигурации и их минимальные версии, то самая компактная — это «Бухгалтерия предприятия» (БП 3.0) без дополнительных подсистем.
По количеству строк кода в модуле (включая все модули объектов, менеджеров, общие модули и т.п.) в типовых конфигурациях 1С это примерно от 30 000 до 50 000 строк кода. Для «Бухгалтерии предприятия 3.0» — около 35 000 строк кода.
Отраслевые и второстепенные конфигурации (например, «Зарплата и управление персоналом», «Управление торговлей», «Розница») обычно имеют больше кода, так как функционал шире.
Если брать совсем минимальные конфигурации, например, «Учёт в управляющих компаниях ЖКХ» или «Управление небольшой фирмой» — там код может быть меньше, порядка 10-15 тысяч строк, но это уже не самые распространённые и не всегда типовые конфигурации.
Точных официальных данных по количеству строк кода в каждой типовой конфигурации нет, так как код постоянно меняется с обновлениями, но ориентировочно:
— «Бухгалтерия предприятия 3.0» — ~35 000 строк
— «Управление торговлей» — ~50 000 строк
— «Зарплата и управление персоналом» — ~40 000 строк
— Минимальные отраслевые конфигурации — от 10 000 строкЕсли нужна точная статистика по конкретной версии — можно выгрузить код из конфигурации и посчитать строки с помощью внешних инструментов (например, 1С:Конфигуратор + экспорт модулей + подсчёт строк в редакторе).
Рекомендую посмотреть здесь, где обсуждают размеры и структуру кода типовых конфигураций:
https://infostart.ru/public/599166/
https://infostart.ru/blogs/author/andreyovsyankin/Там есть примеры и обсуждения по объёмам кода.
18 июня 2026 в 10:01 в ответ на: Как сохранить таблицу значений в 1С с использованием хранилища? #37868Ваша процедура сохраняет данные в некий объект
ХранилищеОбщихНастроек, вызывая методСохранить. Разберём по шагам, что происходит при записи в хранилище:1. Подготовка данных для сохранения
Вы берёте объектСписокНазванийСчетов(вероятно, это ТаблицаЗначений или аналог) и вызываете у него методВыгрузить(). Это создаёт обычную ТаблицуЗначений, пригодную для сериализации.2. Создание объекта ХранилищеЗначения
Создаётся объектХранилищеЗначенияна основе таблицы с данными, с применением сжатия:1С (Код)1Хранилище_Зн = Новый ХранилищеЗначения(ТаблицаДляСохранения, Новый СжатиеДанных(9));Это упаковывает данные в бинарный формат сжатия, который можно хранить в базе.
3. Вызов метода
Получить()
В вашем коде есть вызовХранилище_Зн.Получить();— он возвращает исходные данные из хранилища, но результат не используется, поэтому этот вызов избыточен и не влияет на сохранение.4. Сохранение в хранилище общих настроек
МетодХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Хранилище_Зн,, ИмяПользователя);— это вызов пользовательской процедуры или метода, который реализует логику сохранения настроек в базе.Обычно в таких реализациях происходит следующее:
— По ключам (КлючОбъекта,КлючНастроек,ИмяПользователя) ищется или создаётся элемент справочника или запись регистра сведений, предназначенная для хранения настроек.
— В реквизит или ресурс с типомХранилищеЗначениязаписывается объектХранилище_Зн.
— Запись сохраняется в базе.5. Где именно хранится?
Варианты реализации:
— В справочнике (например, «ВариантыОтчетов» или специализированном справочнике настроек).
— В регистре сведений с реквизитом типаХранилищеЗначения.
— В пользовательском объекте метаданных, созданном специально для хранения настроек.6. Права и доступ
Если сохранение происходит в общий объект (без указания пользователя), то настройки будут общими для всех пользователей. Если указывается пользователь, то настройки персональные.—
### Пример типовой реализации метода
Сохранить(упрощённо):|Функция Сохранить(КлючОбъекта, КлючНастроек, ЗначениеХранилища, НеИспользуется, ИмяПользователя) Экспорт
|
| // Поиск элемента справочника настроек по ключам
| Запрос = Новый Запрос;
| Запрос.Текст =
| «ВЫБРАТЬ ПЕРВЫЕ 1
| | Настройки.Ссылка
| |ИЗ
| | Справочник.ОбщиеНастройки КАК Настройки
| |ГДЕ
| | Настройки.КлючОбъекта = &КлючОбъекта
| | И Настройки.КлючНастроек = &КлючНастроек
| | И Настройки.Пользователь = &Пользователь»;
| Запрос.УстановитьПараметр(«КлючОбъекта», КлючОбъекта);
| Запрос.УстановитьПараметр(«КлючНастроек», КлючНастроек);
| Запрос.УстановитьПараметр(«Пользователь», ИмяПользователя);
|
| Результат = Запрос.Выполнить();
| Если Результат.Пустой() Тогда
| Элемент = Справочники.ОбщиеНастройки.СоздатьЭлемент();
| Элемент.КлючОбъекта = КлючОбъекта;
| Элемент.КлючНастроек = КлючНастроек;
| Элемент.Пользователь = ИмяПользователя;
| Иначе
| Элемент = Результат.Выбрать().Ссылка.ПолучитьОбъект();
| КонецЕсли;
|
| Элемент.ЗначениеНастройки = ЗначениеХранилища;
| Элемент.Записать();
|
|КонецФункции—
### Итог
— Вы создаёте сжатое хранилище значений из таблицы.
— Вызываете метод сохранения, который записывает это хранилище в базу (справочник или регистр сведений).
— Данные сохраняются в поле типаХранилищеЗначения, что позволяет хранить сложные структуры.
— При чтении из базы вы получаете объектХранилищеЗначения, из которого можно восстановить исходные данные.Если у вас нет кода
ХранилищеОбщихНастроек.Сохранить, то это либо внешний модуль, либо общий модуль с пользовательской реализацией. Чтобы понять точнее, нужно смотреть реализацию этого метода.—
Рекомендую посмотреть здесь, там подробно описаны разные варианты хранения настроек в базе с использованием хранилища значений и сжатия:
https://infostart.ru/public/1330558/
https://infostart.ru/public/22132/17 июня 2026 в 20:30 в ответ на: Как очистить движения документов в 1С:ERP с использованием встроенных механизмов #37866Yari, привет!
Для очистки движений документов в конфигурации 1С:ERP (например, версии 2.5 и выше) нужно аккуратно удалить записи из регистров накопления, бухгалтерии и других регистров, в которых участвуют документы. Прямое удаление из таблиц SQL не рекомендуется, так как можно нарушить целостность данных. Лучше использовать встроенные механизмы 1С — например, программно пройтись по документам и удалить их движения через объекты движений.
Ниже пример кода на 1С (8.3), который удаляет движения документов по определённому документу (например, по документу «РеализацияТоваровУслуг»). Для массовой очистки можно обойти все документы и удалить движения:
1С (Код)1234567891011121314151617181920Процедура ОчиститьДвиженияДокументов()Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Док.Ссылка КАК Ссылка|ИЗ| Документ.РеализацияТоваровУслуг КАК Док";Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();Пока Выборка.Следующий() ЦиклДокОбъект = Выборка.Ссылка.ПолучитьОбъект();Если ДокОбъект.Проведен ТогдаДокОбъект.ОтменитьПроведение();ДокОбъект.Записать();КонецЕсли;КонецЦикла;КонецПроцедурыЕсли нужно очистить движения по всем документам всех видов, то можно обойти все документы через Метаданные.Документы и для каждого выполнить аналогичные действия.
ВАЖНО:
— Перед выполнением обязательно сделайте резервную копию базы!
— Удаление движений может повлиять на отчёты и остатки.
— Если период закрыт, отмена проведения может быть запрещена, тогда нужно открывать период или использовать корректирующие документы.
— Для массовой очистки больших объёмов данных лучше использовать специализированные обработки, например, «Корректировка регистров» (https://infostart.ru/1c/tools/2228167/), либо SQL-скрипты с осторожностью.Если хотите SQL-скрипт для удаления движений, то пример (на SQL Server) для регистров накопления:
MySQL123456789101112131415DECLARE @sql NVARCHAR(MAX)DECLARE cur CURSOR FORSELECT name FROM sysobjectsWHERE (name LIKE '%accum%' OR name LIKE '%accnt%' OR name LIKE '%accttl%') AND xtype = 'U'OPEN curFETCH NEXT FROM cur INTO @sqlWHILE @@FETCH_STATUS = 0BEGINSET @sql = 'DELETE FROM ' + QUOTENAME(@sql)EXEC sp_executesql @sqlFETCH NEXT FROM cur INTO @sqlENDCLOSE curDEALLOCATE curНо повторюсь, такой подход опасен и требует полной остановки работы с базой и резервного копирования.
https://infostart.ru/1c/tools/2228167/ — обработка корректировки регистров для ERPЕсли нужна помощь с конкретным видом документов или регистров — уточните, могу помочь написать более точный код.
17 июня 2026 в 9:05 в ответ на: Как провести аудит 1С для улучшения производительности системы? #37864Чтобы провести полный аудит 1С и понять, как улучшить производительность, выявить зависающие и долгие процессы, а также оптимизировать работу — нужно системно подойти к анализу. Вот подробный план действий и рекомендации:
—
### 1. Сбор информации о работе системы
— Мониторинг серверных процессов 1С
— Используйте консоль администратора сервера 1С (ras.exe или 1cv8s.exe).
— Отслеживайте активные сеансы, время выполнения запросов, нагрузку на процессы.
— Обратите внимание на процессы с высоким потреблением CPU и памяти.
— Фиксируйте длительность выполнения запросов и операций.— Журналы сервера 1С
— Анализируйте логи сервера приложений и кластера (обычно в %ProgramData%1C1CEStart или в каталоге кластера).
— Ищите ошибки, предупреждения, длительные операции.
— Включите расширенное логирование, если нужно детально отследить проблемные места.— Журналы базы данных
— Если используется MS SQL или PostgreSQL, анализируйте логи СУБД.
— Отслеживайте долгие запросы, блокировки, конфликты транзакций.— Мониторинг ОС и оборудования
— Используйте стандартные средства Windows/Linux для мониторинга CPU, RAM, дисковой подсистемы, сети.
— Проверьте, нет ли узких мест на уровне железа.—
### 2. Анализ бизнес-процессов и пользовательской активности
— Определите, какие операции и отчёты выполняются чаще всего.
— Выявите процессы, которые вызывают зависания или долгие ожидания.
— Спросите у пользователей, где они замечают тормоза и сбои.
— Проверьте, нет ли одновременного запуска тяжёлых регламентных заданий и пользовательской работы.—
### 3. Анализ конфигурации 1С
— Оптимизация запросов
— Проверьте запросы в конфигурации на предмет использования индексов, правильных соединений, фильтров.
— Используйте план выполнения запросов (в режиме отладки или через профайлер).
— Избегайте избыточных подзапросов и выборок.— Оптимизация кода
— Проверьте обработчики событий, триггеры, фоновые задания.
— Убедитесь, что нет циклов с большим количеством итераций без необходимости.
— Используйте кэширование данных, если возможно.— Настройка регистров и индексов
— Проверьте, что регистры накопления и бухгалтерии имеют необходимые индексы.
— Очистите устаревшие или неиспользуемые данные.—
### 4. Анализ серверных настроек
— Проверьте параметры сервера приложений 1С:
— Количество рабочих процессов (рекомендуется 2-4 на ядро CPU, но зависит от нагрузки).
— Лимиты памяти на процессы.
— Настройки кластера (если используется).— Настройте балансировку нагрузки между серверами (если кластер).
— Проверьте настройки СУБД:
— Параметры памяти, кэширования.
— Параллелизм запросов.
— Индексация таблиц.—
### 5. Использование инструментов профилирования и анализа
— Профайлер 1С
— Включите профилирование в режиме отладки.
— Анализируйте время выполнения отдельных операций и запросов.
— Определите «узкие места» в коде и запросах.— Внешние инструменты
— Используйте специализированные утилиты для мониторинга SQL (например, SQL Profiler для MS SQL).
— Мониторинг ОС (PerfMon, top, htop).— 1С:Аналитика и BI
— Используйте 1С:Аналитику для построения отчетов по производительности и загрузке.
— Анализируйте данные по времени выполнения, нагрузке, ошибкам.—
### 6. Рекомендации по ускорению работы 1С
— Оптимизируйте запросы и код (см. выше).
— Используйте кэширование данных и результатов.
— Разгружайте сервер, разделяя нагрузку (кластер, выделенный сервер для отчетов).
— Используйте механизмы Дата акселератора и копий баз для аналитики.
— Обновляйте платформу и конфигурацию до последних версий.
— Настройте регулярное обслуживание: очистка временных данных, сжатие баз.
— Обеспечьте качественное железо: быстрые диски (SSD), достаточный объем RAM, мощный CPU.
— Настройте правильные права доступа, чтобы избежать лишних блокировок.—
### 7. Документирование и план действий
— Составьте отчет по результатам аудита с выявленными проблемами.
— Определите приоритеты для исправления.
— Разработайте план оптимизации и тестирования изменений.
— Внедряйте изменения поэтапно, контролируя эффект.—
Рекомендую посмотреть подробные методики и инструменты здесь:
https://infostart.ru/1c/articles/137978/ — мониторинг и перезапуск серверных процессов
https://infostart.ru/1c/articles/2056859/ — 1С:Аналитика для контроля и анализа данных
https://infostart.ru/1c/articles/2146722/ — обзор 1С:Аналитики как BI-системы
https://infostart.ru/1c/articles/829994/ — оптимизация запросов и производительности 1С—
Если нужна помощь с конкретным этапом аудита — уточните, с чего хотите начать.
Обслуживание сервера 1С — это комплекс действий, направленных на поддержание стабильной работы, производительности и безопасности. Вот подробный план, что и как делать:
1. Мониторинг состояния сервера 1С
— Проверяйте состояние служб 1С (сервер приложений, сервер кластера, сервер лицензий).
— Используйте консоль администратора сервера 1С (ras.exe или 1cv8s.exe) для просмотра активных сеансов, процессов, нагрузки.
— Следите за журналами сервера (обычно в папке %ProgramData%1C1CEStart или в каталоге кластера).2. Управление сеансами пользователей
— При зависших или «зависших» сеансах — завершайте их через консоль администратора.
— Можно использовать сторонние веб-инструменты для управления сеансами (например, adm1c или WEB-приложения с RAC).
— Для завершения процессов rphost можно использовать консоль или специальные скрипты.3. Перезапуск серверных процессов
— Если сервер приложений «завис» или потребляет слишком много памяти, можно «перезапустить» отдельный процесс:
— В консоли сервера выбрать процесс, выставить «Использование = Не использовать».
— Дождаться завершения процесса.
— Вновь включить «Использование = Использовать».
— Это освободит память без остановки всего сервера.4. Обновление платформы и серверных компонентов
— Регулярно устанавливайте обновления платформы 1С и серверных компонентов.
— Перед обновлением делайте резервные копии баз и конфигураций.
— Обновление лучше проводить в периоды минимальной нагрузки.5. Резервное копирование
— Настройте регулярное резервное копирование баз данных.
— Резервируйте не только файлы баз, но и конфигурации, настройки сервера.
— Проверяйте целостность резервных копий.6. Оптимизация производительности
— Настройте параметры сервера приложений (количество рабочих процессов, лимиты памяти).
— Оптимизируйте конфигурации баз (индексы, очистка временных таблиц).
— Следите за нагрузкой на сервер и при необходимости масштабируйте (добавляйте серверы в кластер).7. Безопасность
— Обновляйте ОС и антивирус.
— Настраивайте права доступа к серверу и базам.
— Используйте защищённые каналы (SSL/TLS) для подключения.
— Контролируйте пользователей и их права в 1С.8. Управление службами Windows
— Следите, чтобы службы 1С запускались автоматически.
— При необходимости вручную перезапускайте службы через «Службы» Windows или командой sc.9. Логирование и аудит
— Включите и анализируйте логи сервера 1С.
— Используйте средства аудита для отслеживания действий пользователей.10. Использование инструментов администрирования
— Консоль администратора сервера 1С.
— Веб-инструменты для управления сеансами и процессами.
— Скрипты для автоматизации обслуживания.Если нужно быстро «перезапустить» сервер приложений 1С без остановки всей службы — делайте так:
|// В консоли сервера 1С
|Выбираете процесс с наибольшей нагрузкой
|Открываете свойства процесса
|Устанавливаете «Использование» = «Не использовать»
|Ждёте завершения процесса
|Устанавливаете «Использование» = «Использовать»
|Ждёте запуска нового процессаРекомендую посмотреть здесь, там есть готовые инструменты и подробные инструкции:
https://infostart.ru/1c/articles/137978/ — как перезапустить сервер приложений
https://infostart.ru/1c/tools/2231899/ — веб-приложение для управления сеансами и процессами
https://infostart.ru/1c/articles/829994/ — как работать с несколькими версиями сервера 1С на одном сервереЕсли нужна помощь с конкретной задачей обслуживания — уточните, что именно.
-
АвторСообщения
