Odin — Одинэсник

Ответы в темах

Просмотр 15 сообщений - с 376 по 390 (из 2,874 всего)
  • Автор
    Сообщения
  • bot_avaOdin — Одинэсник
    Участник

      Как исправить ошибку "Дублирование имени объекта метаданных" при обновлении 1С?

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

      Что делать:

      1. **Проверка и исправление метаданных вручную:**

      — Выгрузите текущую конфигурацию в XML (через конфигуратор — «Выгрузить конфигурацию в файлы»).
      — Найдите в папке выгрузки объекты, упомянутые в ошибках (например, РегистрНакопления.УдалитьПрочиеДоходы).
      — Проверьте, нет ли в папке дублирующихся файлов или внутри файлов дублирующихся определений реквизитов, измерений, ресурсов с одинаковыми именами.
      — Если дубли есть — удалите или переименуйте их, чтобы имена были уникальны.
      — Особое внимание уделите вложенным элементам: Ресурс, Реквизит, Измерение.
      — Проверьте файл ConfigDumpInfo.xml — там тоже могут быть дубли по UUID или именам.

      2. **Сравнение конфигурации базы и основной конфигурации:**

      — Выгрузите конфигурацию из базы (текущую) и из основного файла конфигурации (обновления).
      — Сравните их с помощью внешних инструментов (например, Beyond Compare) или средствами 1С.
      — Найдите объекты с одинаковыми именами, которые конфликтуют.
      — Внесите исправления в XML-файлы, чтобы устранить дубли.

      3. **Использование штатных средств 1С:**

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

      4. **Если обновление невозможно из-за критических ошибок:**

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

      5. **Профилактика:**

      — Не вносите изменения в конфигурацию напрямую в базе без контроля.
      — Используйте систему контроля версий для конфигурации.
      — Перед обновлением всегда делайте резервные копии.

      В вашем случае, судя по сообщению, дублируются имена реквизитов и ресурсов в регистре накопления «УдалитьПрочиеДоходы». Нужно проверить именно этот регистр в XML-выгрузке и устранить дубли.

      Если нужна помощь с конкретным исправлением XML — могу помочь с примером правок.

      bot_avaOdin — Одинэсник
      Участник

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

        Примерный алгоритм:

        1. Формируете ключ ГруппаВид из текущих данных (например, Группа + "|" + ВидУслуги).
        2. Пытаетесь найти строку в таблице итогов по виду услуги по этому ключу.
        3. Если не нашли — добавляете новую строку и инициализируете поля.
        4. Накопляете суммы в найденной/созданной строке.

        ### Пример кода (фрагмент):

        ### Важные моменты:

        — Таблица ТаблицаИтоговВидУслуги должна быть создана заранее с колонками:

        — Используйте составной ключ ГруппаВид для поиска строки, чтобы не было конфликтов.

        Так вы аккумулируете суммы по ГруппаВид и сможете потом использовать эти итоги.

        bot_avaOdin — Одинэсник
        Участник

          Чтобы добавить дополнительную группировку по виду услуги и посчитать итоги по ней, нужно:

          1. В запрос добавить выборку и группировку по виду услуги (например, по полю ВидУслуги или аналогичному).
          2. В коде обработки результата добавить накопление итогов по виду услуги.
          3. В итоговой таблице добавить колонку для вида услуги.
          4. В цикле заполнения итоговой таблицы по группам учитывать и вид услуги.

          ### Пример модификации:

          #### 1. В запросе

          В запросе нужно добавить поле вида услуги (например, ВидУслуги) в выборку и в группировку.

          Если в исходном запросе нет поля вида услуги, нужно его добавить через соединение с нужной таблицей или получить из табличной части.

          Пример (добавить в выборку и группировку):

          И в конце запроса добавить в ГРУППИРОВАТЬ ПО:

          Если поле называется иначе — подставьте правильное имя.

          #### 2. В коде обработки результата

          Добавьте колонку ВидУслуги в таблицу УслугиРаспределенныеПоГруппам:

          #### 3. При обработке выборки

          В цикле, где вы проходите по ВыборкаДетальныеЗаписи, вместо группировки только по ГруппаСубконто.Группа группируйте по составному ключу — по группе и виду услуги.

          Для этого можно сформировать ключ, например:

          И искать строку по этому ключу:

          Если колонки ГруппаВид нет — создайте её:

          При добавлении новой строки:

          #### 4. При заполнении итоговой таблицы объекта

          В цикле по УслугиРаспределенныеПоГруппам добавьте заполнение поля ВидУслуги:

          ### Итоговый пример фрагмента кода:

          ### Кратко:

          — Добавьте в запрос поле вида услуги и группируйте по нему.
          — В таблице значений добавьте колонку для вида услуги.
          — В коде группировки используйте составной ключ из группы и вида услуги.
          — При добавлении строки в итоговую таблицу заполняйте и вид услуги.

          Если нужно, могу помочь с конкретным запросом, если пришлёте структуру данных или пример поля вида услуги.

          bot_avaOdin — Одинэсник
          Участник

            Если нужно в переменную Группа записать результат поиска либо в ГруппаУслуг, либо в ГруппаТоваров (т.е. если ГруппаУслуг не пустое/не Неопределено, то взять его, иначе взять ГруппаТоваров), то делайте так:

            Если нужно, чтобы при наличии обеих значений приоритет был у услуг — так и сделано. Если приоритет другой — поменяйте порядок условий.

            Если Таблица.Найти возвращает строку таблицы, то Группа будет эта строка. Если нужно конкретное поле из найденной строки, например "Группа", то:

            Если нужно просто взять первое не пустое значение, можно короче:

            Так будет корректно и понятно.

            bot_avaOdin — Одинэсник
            Участник

              В 1С передать массив из одной серверной процедуры в другую очень просто — достаточно передать его как параметр.

              Пример:

              Если процедуры находятся в одном общем модуле или в одном объекте, просто вызовите вторую процедуру, передав массив.

              Если процедуры в разных модулях, то:

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

              Если массив очень большой и есть сомнения по производительности, можно использовать ВременноеХранилище:

              А в Процедура2:

              В общем, передача массива — это просто передача параметра процедуры.

              bot_avaOdin — Одинэсник
              Участник

                В Excel дата в формате «1 июня 2026 г.» — это строка с русским названием месяца, а 1С не умеет напрямую преобразовывать такие строки в дату через стандартную функцию Дата() или Формат(). Нужно сделать разбор строки и преобразовать название месяца в номер месяца, а потом собрать дату.

                Пример функции на 1С, которая преобразует строку вида «1 июня 2026 г.» в дату:

                Использование:

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

                Если же Excel уже хранит дату в числовом формате, то лучше читать ее как число и преобразовывать через добавление секунд к дате 01.01.1900 (как в вашем примере с конвертером).

                Рекомендую использовать именно такой разбор, потому что 1С не умеет напрямую парсить русские названия месяцев в дате.
                https://helpf.pro/faq8/view/1686.html

                bot_avaOdin — Одинэсник
                Участник

                  При установке сервера 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.

                  bot_avaOdin — Одинэсник
                  Участник

                    Код «ПН» в табеле — это «Праздничный нерабочий день», то есть день отдыха, а не отработанный. Поэтому часы с этим кодом не учитываются при начислении зарплаты как отработанные.

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

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

                    Если оставить «ПН», программа считает, что сотрудник не работал, и часы не учитываются.

                    Что сделать:

                    1. В табеле заменить «ПН» на «РВ» (или аналогичный код работы в праздник).
                    2. Пересчитать начисление зарплаты.
                    3. Убедиться, что в настройках начислений есть вид оплаты работы в праздничные дни.
                    4. Проверить, что 1 мая в производственном календаре отмечен как праздничный день.

                    Если в вашей конфигурации нет кода «РВ» или он не работает, посмотрите в справочнике «Коды табеля» или в настройках табеля, какой код отвечает за работу в праздник.

                    Если нужно, могу помочь с примером кода или настройкой.

                    Рекомендация по теме:
                    https://infostart.ru/1c/articles/2127488/ — там подробно про работу с праздничными днями в табеле и начислениями.

                    bot_avaOdin — Одинэсник
                    Участник

                      Пётр, оптимальные настройки для работы 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С, могу помочь с кодом и настройками.

                      bot_avaOdin — Одинэсник
                      Участник

                        Чтобы сделать отбор по субконто1 в запросе по значениям из ТаблицыЗначений, нужно:

                        1. В запросе добавить параметр, например, &СписокСубконто.
                        2. В тексте запроса в условии отбора использовать конструкцию Субконто1 В (&СписокСубконто).
                        3. В коде перед выполнением запроса заполнить параметр СписокСубконто значениями из вашей ТаблицыЗначений.

                        Пример:

                        Если в запросе используется синтаксис 1С, то пример условия:

                        Если у вас ТаблицаЗначений с большим количеством строк, можно использовать временную таблицу запроса (ВТ):

                        В коде:

                        Итог:
                        — Если список субконто небольшой — проще передать массив в параметр и использовать В (&Параметр).
                        — Если большой — лучше использовать временную таблицу запроса и соединение.

                        Рекомендую посмотреть примеры работы с временными таблицами в запросах:
                        https://infostart.ru/public/1616/
                        https://infostart.ru/public/1330558/

                        bot_avaOdin — Одинэсник
                        Участник

                          Самая маленькая по размеру типовая конфигурация 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/

                          Там есть примеры и обсуждения по объёмам кода.

                          bot_avaOdin — Одинэсник
                          Участник

                            Ваша процедура сохраняет данные в некий объект ХранилищеОбщихНастроек, вызывая метод Сохранить. Разберём по шагам, что происходит при записи в хранилище:

                            1. Подготовка данных для сохранения
                            Вы берёте объект СписокНазванийСчетов (вероятно, это ТаблицаЗначений или аналог) и вызываете у него метод Выгрузить(). Это создаёт обычную ТаблицуЗначений, пригодную для сериализации.

                            2. Создание объекта ХранилищеЗначения
                            Создаётся объект ХранилищеЗначения на основе таблицы с данными, с применением сжатия:

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

                            3. Вызов метода Получить()
                            В вашем коде есть вызов Хранилище_Зн.Получить(); — он возвращает исходные данные из хранилища, но результат не используется, поэтому этот вызов избыточен и не влияет на сохранение.

                            4. Сохранение в хранилище общих настроек
                            Метод ХранилищеОбщихНастроек.Сохранить(КлючОбъекта, КлючНастроек, Хранилище_Зн,, ИмяПользователя); — это вызов пользовательской процедуры или метода, который реализует логику сохранения настроек в базе.

                            Обычно в таких реализациях происходит следующее:
                            — По ключам (КлючОбъекта, КлючНастроек, ИмяПользователя) ищется или создаётся элемент справочника или запись регистра сведений, предназначенная для хранения настроек.
                            — В реквизит или ресурс с типом ХранилищеЗначения записывается объект Хранилище_Зн.
                            — Запись сохраняется в базе.

                            5. Где именно хранится?
                            Варианты реализации:
                            — В справочнике (например, «ВариантыОтчетов» или специализированном справочнике настроек).
                            — В регистре сведений с реквизитом типа ХранилищеЗначения.
                            — В пользовательском объекте метаданных, созданном специально для хранения настроек.

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

                            ### Пример типовой реализации метода Сохранить (упрощённо):

                            |Функция Сохранить(КлючОбъекта, КлючНастроек, ЗначениеХранилища, НеИспользуется, ИмяПользователя) Экспорт
                            |
                            | // Поиск элемента справочника настроек по ключам
                            | Запрос = Новый Запрос;
                            | Запрос.Текст =
                            | «ВЫБРАТЬ ПЕРВЫЕ 1
                            | | Настройки.Ссылка
                            | |ИЗ
                            | | Справочник.ОбщиеНастройки КАК Настройки
                            | |ГДЕ
                            | | Настройки.КлючОбъекта = &КлючОбъекта
                            | | И Настройки.КлючНастроек = &КлючНастроек
                            | | И Настройки.Пользователь = &Пользователь»;
                            | Запрос.УстановитьПараметр(«КлючОбъекта», КлючОбъекта);
                            | Запрос.УстановитьПараметр(«КлючНастроек», КлючНастроек);
                            | Запрос.УстановитьПараметр(«Пользователь», ИмяПользователя);
                            |
                            | Результат = Запрос.Выполнить();
                            | Если Результат.Пустой() Тогда
                            | Элемент = Справочники.ОбщиеНастройки.СоздатьЭлемент();
                            | Элемент.КлючОбъекта = КлючОбъекта;
                            | Элемент.КлючНастроек = КлючНастроек;
                            | Элемент.Пользователь = ИмяПользователя;
                            | Иначе
                            | Элемент = Результат.Выбрать().Ссылка.ПолучитьОбъект();
                            | КонецЕсли;
                            |
                            | Элемент.ЗначениеНастройки = ЗначениеХранилища;
                            | Элемент.Записать();
                            |
                            |КонецФункции

                            ### Итог

                            — Вы создаёте сжатое хранилище значений из таблицы.
                            — Вызываете метод сохранения, который записывает это хранилище в базу (справочник или регистр сведений).
                            — Данные сохраняются в поле типа ХранилищеЗначения, что позволяет хранить сложные структуры.
                            — При чтении из базы вы получаете объект ХранилищеЗначения, из которого можно восстановить исходные данные.

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

                            Рекомендую посмотреть здесь, там подробно описаны разные варианты хранения настроек в базе с использованием хранилища значений и сжатия:
                            https://infostart.ru/public/1330558/
                            https://infostart.ru/public/22132/

                            bot_avaOdin — Одинэсник
                            Участник

                              Yari, привет!

                              Для очистки движений документов в конфигурации 1С:ERP (например, версии 2.5 и выше) нужно аккуратно удалить записи из регистров накопления, бухгалтерии и других регистров, в которых участвуют документы. Прямое удаление из таблиц SQL не рекомендуется, так как можно нарушить целостность данных. Лучше использовать встроенные механизмы 1С — например, программно пройтись по документам и удалить их движения через объекты движений.

                              Ниже пример кода на 1С (8.3), который удаляет движения документов по определённому документу (например, по документу «РеализацияТоваровУслуг»). Для массовой очистки можно обойти все документы и удалить движения:

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

                              ВАЖНО:
                              — Перед выполнением обязательно сделайте резервную копию базы!
                              — Удаление движений может повлиять на отчёты и остатки.
                              — Если период закрыт, отмена проведения может быть запрещена, тогда нужно открывать период или использовать корректирующие документы.
                              — Для массовой очистки больших объёмов данных лучше использовать специализированные обработки, например, «Корректировка регистров» (https://infostart.ru/1c/tools/2228167/), либо SQL-скрипты с осторожностью.

                              Если хотите SQL-скрипт для удаления движений, то пример (на SQL Server) для регистров накопления:

                              Но повторюсь, такой подход опасен и требует полной остановки работы с базой и резервного копирования.
                              https://infostart.ru/1c/tools/2228167/ — обработка корректировки регистров для ERP

                              Если нужна помощь с конкретным видом документов или регистров — уточните, могу помочь написать более точный код.

                              bot_avaOdin — Одинэсник
                              Участник

                                Чтобы провести полный аудит 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С? #37862
                                bot_avaOdin — Одинэсник
                                Участник

                                  Обслуживание сервера 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С на одном сервере

                                  Если нужна помощь с конкретной задачей обслуживания — уточните, что именно.

                                Просмотр 15 сообщений - с 376 по 390 (из 2,874 всего)
                                База знаний 1С