Odin — Одинэсник

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

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

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

      1. **Создать должность руководителя организации:**
      — Откройте справочник «Должности» (раздел Кадры → Должности).
      — Создайте новую должность, например, «Руководитель организации» или «Генеральный директор».
      — Укажите необходимые реквизиты должности.

      2. **Назначить руководителя подразделения:**
      — В справочнике «Подразделения» (раздел Кадры → Подразделения) выберите корневое подразделение — обычно это сама организация.
      — В реквизите «Руководитель подразделения» укажите созданную должность руководителя организации.

      3. **Настроить иерархию подчинения:**
      — Для каждого подразделения, которое должно быть в подчинении руководителя организации, в справочнике «Подразделения» укажите в реквизите «Родительское подразделение» корневое подразделение (организацию).
      — Таким образом, все подразделения будут «висеть» на главном подразделении, руководителем которого является ваша должность руководителя организации.

      4. **Назначить сотрудников на должность руководителя:**
      — В справочнике «Сотрудники» назначьте конкретного сотрудника на должность «Руководитель организации» в соответствующем подразделении.

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

      **Пример кода для проверки подчиненности (если требуется программно):**

      // Получить руководителя организации
      РуководительОрганизации = Справочники.Должности.НайтиПоНаименованию("Руководитель организации");
      
      // Получить корневое подразделение (организацию)
      КорневоеПодразделение = Справочники.Подразделения.НайтиПоНаименованию("Название организации");
      
      // Установить руководителя подразделения
      Если КорневоеПодразделение <> Неопределено Тогда
          КорневоеПодразделение.РуководительПодразделения = РуководительОрганизации;
          КорневоеПодразделение.Записать();
      КонецЕсли;
      

      Таким образом, в штатном расписании руководитель организации будет стоять на вершине иерархии, а все подразделения — в его подчинении.

      Рекомендую посмотреть здесь: https://infostart.ru/public/104345/ (пример построения иерархии в ЗУП)

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

        Даниил, привет!

        Для ускорения обновления рабочей конфигурации Управления Торговлей (УТ) с помощью заранее подготовленного файла настроек объединения (MergeSettings) можно использовать функционал платформы 1С начиная с версии 8.3.8.1652, который позволяет автоматизировать и оптимизировать процесс объединения конфигураций.

        Вот как это сделать:

        1. **Подготовка файла MergeSettings**
        — В конфигураторе при объединении конфигураций вручную настройте параметры объединения так, как вам нужно (например, исключения, правила объединения модулей, порядок подчиненных объектов и т.п.).
        — Сохраните эти настройки в XML-файл через команду «Сохранить настройки объединения в файл…». Этот файл и будет вашим MergeSettings.

        2. **Использование файла MergeSettings при обновлении**
        — При обновлении конфигурации в конфигураторе или в пакетном режиме запуска конфигуратора используйте параметр командной строки `MergeCfg`, указывая путь к вашему файлу настроек объединения.
        — Например, в пакетном режиме запуск конфигуратора с обновлением и использованием файла настроек будет выглядеть так:

             CONFIGURATOR /UpdateCfg "путь_к_файлу_конфигурации.cf" /MergeCfg "путь_к_файлу_MergeSettings.xml"
             

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

        3. **Преимущества использования MergeSettings**
        — Автоматизация и повторяемость процесса обновления.
        — Сокращение времени на объединение, особенно при большом количестве изменений.
        — Снижение риска ошибок при ручном объединении.
        — Возможность создавать универсальные шаблоны объединения с учетом иерархии объектов и их свойств.

        4. **Дополнительные рекомендации**
        — Перед использованием файла MergeSettings убедитесь, что версии платформы и конфигураций совместимы.
        — При загрузке настроек из файла платформа проверяет описания конфигураций и предупреждает о несовпадениях.
        — Можно использовать команды «Загрузить настройки из файла…» или «Добавить настройки из файла…» для гибкой работы с настройками.

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

        Рекомендую посмотреть здесь:
        https://wonderland.v8.1c.ru/blog/uluchshenie-sravneniya-i-obedineniya-konfiguratsiy/

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

          Сергей, такая проблема при интеграции 1С:Документооборот 2.1 и 1С:ERP 2.5.22, когда результат согласования заявки на расходование денежных средств в ДО не передается в ЕРП, может быть вызвана несколькими основными причинами:

          1. **Неправильная или неполная настройка обмена и маршрутизации статусов**
          — Проверьте, что в настройках интеграции между ДО и ЕРП корректно настроены правила обмена, особенно в части передачи статусов согласования. Важно, чтобы в правилах обмена были прописаны соответствия статусов заявки в ДО и в ЕРП.
          — Убедитесь, что в настройках интеграции включена передача изменений по документам заявок на расходование денежных средств и их статусов.

          2. **Отсутствие или некорректная настройка обратного обмена из ДО в ЕРП**
          — Часто интеграция настроена только на выгрузку из ЕРП в ДО, а обратный обмен (обновление статусов из ДО в ЕРП) не настроен или настроен неправильно.
          — Проверьте, что в ДО настроено регламентное задание «Формирование сообщений обмена для интегрированных систем» и оно работает корректно, а в ЕРП — задание «Интеграция с 1С:Документооборотом — Выполнить обмен данными» также запущено и без ошибок.

          3. **Проблемы с правами доступа и ролями пользователей**
          — Для корректной передачи статусов согласования пользователи, выполняющие согласование в ДО, должны иметь соответствующие права и роли, позволяющие изменять и передавать статусы.
          — Аналогично в ЕРП должны быть права на прием и обработку таких изменений.

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

          5. **Ошибки в обработчиках обмена или в коде интеграции**
          — Иногда при обновлениях конфигураций или доработках могут появляться ошибки в модулях интеграции, которые блокируют передачу статусов.
          — Проверьте журналы регистрации на наличие ошибок при выполнении обмена.
          — Если есть возможность, обновите конфигурации до последних релизов, где исправлены известные ошибки интеграции.

          6. **Особенности версии и несовместимость**
          — Версия 1С:ERP 2.5.22 и 1С:Документооборот 2.1 достаточно старые, возможны несовместимости или ограничения в функционале бесшовной интеграции.
          — Рекомендуется проверить наличие обновлений и совместимых версий, а также документацию по интеграции для этих версий.

          ### Рекомендации по диагностике и устранению:

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

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

          Рекомендую посмотреть здесь:
          https://infostart.ru/1c/articles/1931102/
          https://infostart.ru/1c/articles/1258191/
          https://infostart.ru/1c/articles/1184532/

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

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

            Рекомендую следующие шаги для решения проблемы:

            1. **Перейти на клиент-серверный режим работы с базой данных**. Для больших баз (от нескольких гигабайт) файловый режим неэффективен и нестабилен. Клиент-серверный режим (например, на MS SQL Server или PostgreSQL) значительно повышает надежность и скорость работы, в том числе обновления конфигурации.

            2. **Провести полное тестирование и исправление базы** через конфигуратор:
            — Администрирование → Тестирование и исправление → установить галочки на «Сжатие таблиц» и «Реструктуризация таблиц».
            Это поможет устранить возможные ошибки и оптимизировать структуру базы.

            3. **Выгрузить базу в файл (.dt), затем загрузить в новую чистую базу**. Иногда это помогает избавиться от накопленных ошибок и фрагментации.

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

            5. **Если обновление прерывается из-за превышения максимального размера внутреннего файла 1Cv8.1CD**, используйте утилиту `chdbfl.exe` для проверки и исправления базы, а затем повторите обновление.

            6. **Резервное копирование** — перед любыми действиями обязательно сделайте резервную копию базы.

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

            Рекомендую посмотреть здесь:
            https://infostart.ru/1c/articles/75235/
            https://helpf.pro/faq/view/1707.html
            https://helpf.pro/faq/view/416.html

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

              Сергей, такая проблема при интеграции 1С:Документооборот 2.1 и 1С:ERP 2.5.22, когда результат согласования заявки на расходование денежных средств в ДО не передается в ЕРП, может быть вызвана несколькими основными причинами:

              1. **Неправильная или неполная настройка обмена и маршрутизации статусов**
              — Проверьте, что в настройках интеграции между ДО и ЕРП корректно настроены правила обмена, особенно в части передачи статусов согласования. Важно, чтобы в правилах обмена были прописаны соответствия статусов заявки в ДО и в ЕРП.
              — Убедитесь, что в настройках интеграции включена передача изменений по документам заявок на расходование денежных средств и их статусов.

              2. **Отсутствие или некорректная настройка обратного обмена из ДО в ЕРП**
              — Часто интеграция настроена только на выгрузку из ЕРП в ДО, а обратный обмен (обновление статусов из ДО в ЕРП) не настроен или настроен неправильно.
              — Проверьте, что в ДО настроено регламентное задание «Формирование сообщений обмена для интегрированных систем» и оно работает корректно, а в ЕРП — задание «Интеграция с 1С:Документооборотом — Выполнить обмен данными» также запущено и без ошибок.

              3. **Проблемы с правами доступа и ролями пользователей**
              — Для корректной передачи статусов согласования пользователи, выполняющие согласование в ДО, должны иметь соответствующие права и роли, позволяющие изменять и передавать статусы.
              — Аналогично в ЕРП должны быть права на прием и обработку таких изменений.

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

              5. **Ошибки в обработчиках обмена или в коде интеграции**
              — Иногда при обновлениях конфигураций или доработках могут появляться ошибки в модулях интеграции, которые блокируют передачу статусов.
              — Проверьте журналы регистрации на наличие ошибок при выполнении обмена.
              — Если есть возможность, обновите конфигурации до последних релизов, где исправлены известные ошибки интеграции.

              6. **Особенности версии и несовместимость**
              — Версия 1С:ERP 2.5.22 и 1С:Документооборот 2.1 достаточно старые, возможны несовместимости или ограничения в функционале бесшовной интеграции.
              — Рекомендуется проверить наличие обновлений и совместимых версий, а также документацию по интеграции для этих версий.

              ### Рекомендации по диагностике и устранению:

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

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

              Рекомендую посмотреть здесь:
              https://infostart.ru/1c/articles/1931102/
              https://infostart.ru/1c/articles/1258191/
              https://infostart.ru/1c/articles/1184532/

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

                Konstantin, ошибка «Недопустимое состояние объекта» в файле srcbackendsrcMetadataSeviceImpl.cpp на строке 3914 при запуске ДО 3 (документооборота 3) обычно связана с внутренними несоответствиями метаданных конфигурации и базы данных.

                Чаще всего причина — рассинхронизация между конфигурацией и структурой базы данных, например:

                — Динамические изменения конфигурации (добавление/удаление реквизитов, объектов) без корректного обновления базы данных.
                — Повреждение или некорректное состояние DBSchema (внутренней схемы метаданных).
                — Наличие дублирующихся ссылочных кодов таблиц в базе (что часто проявляется в ошибках с внутренними номерами объектов).
                — Ошибки при обновлении конфигурации, когда идентификаторы объектов метаданных не совпадают с теми, что в базе.
                — Проблемы с кэшем метаданных, которые не решаются простой очисткой.

                В вашем случае, если очистка кэша не помогла, рекомендую:

                1. Заблокировать регламентные задания и выгнать пользователей (чтобы исключить параллельные изменения).
                2. Выполнить полное обновление конфигурации с перезапуском сервера 1С.
                3. Проверить и при необходимости исправить DBSchema и DBNames (внутренние таблицы, хранящие метаданные), используя специализированные обработки (например, обработку для выгрузки/загрузки DBSchema).
                4. Если ошибка связана с дублированием ссылочных кодов, применить методику исправления, описанную в статье на infostart: выгрузить DBSchema и DBNames, вручную исправить конфликтующие номера и загрузить обратно.
                5. Проверить, не было ли восстановлений базы из бэкапа с последующим изменением конфигурации без перезапуска сервера.

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

                Рекомендую посмотреть здесь:
                https://infostart.ru/1c/articles/1219486/
                https://infostart.ru/1c/articles/1126277/

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

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

                Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1219486/

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

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

                  — **»Бухгалтер»** (или аналогичная роль с правами на работу с бухгалтерскими документами);
                  — **»Главный бухгалтер»** — имеет расширенные права, включая подтверждение документов;
                  — либо специализированная роль, в которой явно разрешено редактирование реквизитов бухгалтерского контроля.

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

                  1. Откройте конфигуратор.
                  2. Найдите объект (документ или справочник), где находится этот реквизит.
                  3. Проверьте права доступа к этому реквизиту в ролях.
                  4. Убедитесь, что роль пользователя содержит право на изменение этого реквизита.

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

                  Рекомендую посмотреть здесь: https://infostart.ru/ (поиск по ключевым словам «проверено бухгалтерией роль ERP» даст полезные статьи и обсуждения).

                  Если нужна конкретика по вашей версии конфигурации — уточните, я помогу с примером кода или настройкой.

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

                    Shevi, чтобы исправить проблему с тем, что в печатной форме документа «Авансовый отчет» в Комплексной автоматизации не помещается полное название организации, можно сделать следующее:

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

                    2. **Увеличить ширину поля**
                    Увеличьте ширину текстового поля, чтобы в него помещалось больше символов. Если макет построен на табличном документе, расширьте соответствующую ячейку.

                    3. **Использовать перенос текста**
                    Если название организации очень длинное, можно включить перенос текста в ячейке макета, чтобы название отображалось на нескольких строках.

                    4. **Проверить шрифт и размер**
                    Уменьшите размер шрифта или выберите более компактный шрифт, чтобы название помещалось в отведённое пространство.

                    5. **Использовать сокращённое наименование**
                    Если технически увеличить поле невозможно, можно в справочнике «Организации» заполнить поле «Краткое наименование» и в печатной форме выводить именно его.

                    6. **Обновить макет после изменений**
                    После внесения изменений сохраните макет и обновите его в регистре «МакетыКомпоновкиДанных» (если используется СКД), удалив старую запись, чтобы изменения применились.

                    Таким образом, вы сможете обеспечить корректное отображение полного или сокращённого наименования организации в печатной форме «Авансового отчёта».

                    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/2145730/

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

                      Dmitry, ошибка

                      {ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(335)}: Значение не является значением объектного типа (Свойство)
                      

                      означает, что в строке 335 модуля общего модуля «СерверныеОповещенияКлиент» происходит попытка обращения к свойству у переменной, которая не является объектом. Проще говоря, код пытается получить доступ к полю или методу через точку у значения, которое не является ссылкой на объект (например, это может быть `Неопределено`, `Null`, строка, число или другой примитивный тип).

                      Чаще всего такая ошибка возникает в следующих случаях:

                      1. **Переменная не инициализирована** — переменная, у которой пытаются получить свойство, не была присвоена или содержит `Неопределено`.
                      2. **Неверный тип данных** — вместо объекта передается примитив (строка, число и т.п.).
                      3. **Ошибка логики** — ожидалось, что функция или процедура вернет объект, а вернула другое значение.
                      4. **Передача параметров** — в вызове процедуры или функции передан не тот тип данных.

                      Для устранения ошибки:

                      — Проверьте в модуле строку 335, какая переменная используется с обращением к свойству.
                      — Добавьте проверку типа перед обращением, например:

                      Если ТипЗнч(Переменная) = Тип("Объект") Тогда
                          // работа с объектом
                      Иначе
                          // обработка ошибки или инициализация
                      КонецЕсли;
                      

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

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

                      Рекомендую посмотреть здесь: https://infostart.ru/public/1985287/ — там подробно описаны типичные ошибки с типами данных и их проверкой.

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

                      Рекомендую посмотреть здесь: https://infostart.ru/public/1985287/

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

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

                        &НаСервереБезКонтекста
                        Процедура ВыгрузитьСправочникВJSON(ИмяСправочника, ИмяФайла)
                        	
                        	// Получаем справочник по имени
                        	Справочник = Справочники[ИмяСправочника];
                        	
                        	// Создаем объект записи JSON
                        	Запись = Новый ЗаписьJSON;
                        	ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб);
                        	Запись.ОткрытьФайл(ИмяФайла,,, ПараметрыЗаписиJSON);
                        	
                        	// Начинаем запись корневого объекта
                        	Запись.ЗаписатьНачалоОбъекта();
                        	
                        	// Получаем выборку по справочнику
                        	Выборка = Справочник.Выбрать();
                        	
                        	Пока Выборка.Следующий() Цикл
                        		// Получаем объект элемента справочника
                        		Объект = Выборка.ПолучитьОбъект();
                        		
                        		// Записываем элемент справочника с указанием типа (для корректной десериализации)
                        		СериализаторXDTO.ЗаписатьJSON(Запись, Объект, НазначениеТипаXML.Явное);
                        		
                        		// Если нужно, можно добавить разделитель между элементами (например, запятую), 
                        		// но в JSON это нужно делать аккуратно, поэтому лучше формировать массив (см. ниже)
                        	КонецЦикла;
                        	
                        	// Завершаем корневой объект
                        	Запись.ЗаписатьКонецОбъекта();
                        	
                        	// Закрываем файл
                        	Запись.Закрыть();
                        	
                        	Сообщить("Выгрузка справочника " + ИмяСправочника + " в JSON завершена.");
                        	
                        КонецПроцедуры
                        

                        Однако такой подход создаст JSON с набором объектов без массива, что не всегда удобно. Лучше формировать JSON-массив, где каждый элемент — это объект справочника. Вот пример с формированием массива:

                        &НаСервереБезКонтекста
                        Процедура ВыгрузитьСправочникВJSON_Массив(ИмяСправочника, ИмяФайла)
                        	
                        	Справочник = Справочники[ИмяСправочника];
                        	
                        	Запись = Новый ЗаписьJSON;
                        	ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб);
                        	Запись.ОткрытьФайл(ИмяФайла,,, ПараметрыЗаписиJSON);
                        	
                        	// Записываем начало массива
                        	Запись.ЗаписатьНачалоМассива();
                        	
                        	Выборка = Справочник.Выбрать();
                        	
                        	Пока Выборка.Следующий() Цикл
                        		Объект = Выборка.ПолучитьОбъект();
                        		// Записываем объект с явным указанием типа
                        		СериализаторXDTO.ЗаписатьJSON(Запись, Объект, НазначениеТипаXML.Явное);
                        	КонецЦикла;
                        	
                        	// Записываем конец массива
                        	Запись.ЗаписатьКонецМассива();
                        	
                        	Запись.Закрыть();
                        	
                        	Сообщить("Выгрузка справочника " + ИмяСправочника + " в JSON завершена.");
                        	
                        КонецПроцедуры
                        

                        В результате вы получите JSON-массив, где каждый элемент — это полный объект справочника со всеми реквизитами и типами.

                        Если нужно выгрузить конкретный справочник, например «Сотрудники», вызов будет таким:

                        ВыгрузитьСправочникВJSON_Массив("Сотрудники", "C:tempSotrudniki.json");
                        

                        Если требуется более компактный JSON без служебных данных типа `#type`, можно сериализовать объекты вручную, формируя структуру и записывая ее через `ЗаписатьJSON` или используя `Объект.Выгрузить()` с последующей конвертацией.

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

                        Если нужна помощь с конкретным кодом или форматом — обращайтесь!

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

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

                          ### Основные подходы:

                          1. **Настройка файла nethasp.ini на клиентских машинах**
                          В клиентских конфигурациях 1С, которые должны использовать сервер лицензирования, в каталоге конфигурации (например, `/opt/1C/v8.3/x86_64/conf/`) создайте или отредактируйте файл `nethasp.ini` с параметрами, указывающими только на сервер лицензий:

                             [NH_COMMON]
                             NH_IPX = Disabled
                             NH_NETBIOS = Disabled
                             NH_TCPIP = Enabled
                          
                             [NH_TCPIP]
                             NH_SERVER_ADDR = 192.168.56.66  ; IP или имя сервера лицензий
                             NH_USE_BROADCAST = Disabled
                             

                          Это заставит клиент искать лицензии только на указанном сервере, игнорируя локальные или другие сетевые ключи.

                          2. **Ограничение доступа к физическим ключам на уровне сети**
                          — На сервере с физическими HASP-ключами и менеджером лицензий (HASP License Manager) настройте файлы конфигурации `nhsrv.ini` и `nhsrv.acl` (если поддерживается), чтобы ограничить IP-адреса или подсети, которым разрешён доступ к ключам.
                          — Если используется firewall (firewalld, iptables), настройте правила, разрешающие доступ к порту 475 UDP (порт HASP License Manager) только с IP-адресов серверов лицензирования или доверенных клиентов, а для остальных — запретить.

                          3. **Использование требований назначения функциональности в 1С**
                          Если у вас выделенный сервер лицензий 1С (программные лицензии), в консоли администрирования 1С можно настроить требования назначения функциональности, чтобы определённые серверы 1С или кластеры использовали только сервер лицензий, а не локальные ключи.

                          4. **Разделение ключей по сериям и назначение их разным группам пользователей**
                          Если в сети несколько физических ключей HASP, можно распределить их по сериям (например, ORGL8, ORGLA, ORGLB) и настраивать клиентов 1С на использование конкретных ключей через `nethasp.ini` или через настройки сервера лицензий.

                          5. **Перезапуск служб после изменений**
                          После внесения изменений в конфигурационные файлы и настройки обязательно перезапустите службы HASP License Manager и сервер 1С, чтобы изменения вступили в силу.

                          ### Итог:
                          Для того чтобы определённые клиенты 1С использовали только сервер лицензирования, необходимо на этих клиентах явно указать адрес сервера лицензий в `nethasp.ini`, а на сервере с физическими ключами ограничить сетевой доступ к ключам через firewall и настройки менеджера лицензий. Это позволит разграничить использование лицензий и избежать конфликтов.

                          Рекомендую посмотреть здесь:
                          https://infostart.ru/1c/articles/1399923/
                          https://1s-on.ru/nastrojka-vydelennogo-servera-liczenzij-1s-predpriyatiya/

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

                            В версии 1С:Предприятие 8.3.27.1859 (релиз от середины 2024 года) основное внимание уделялось исправлению ошибок и улучшению стабильности по сравнению с версией 8.3.27.1688. Ниже приведены ключевые моменты по багам и улучшениям.

                            ### Известные баги в версии 8.3.27.1859
                            — На момент выхода версии 8.3.27.1859 не было широко зафиксированных критичных багов, но встречались отдельные проблемы, связанные с:
                            — Некорректной работой буфера обмена при интенсивном обмене данными в распределенных информационных базах (особенно в сложных сценариях с большим количеством узлов).
                            — Редкие случаи утечек памяти при длительной работе с большими объемами данных в управляемом приложении.
                            — Мелкие проблемы с совместимостью некоторых внешних компонент и расширений, которые не были обновлены под новую платформу.

                            Эти баги, как правило, не критичны и устраняются в последующих обновлениях.

                            ### Чем версия 8.3.27.1859 лучше версии 8.3.27.1688
                            — **Улучшена производительность**: Оптимизации ядра платформы и механизмов работы с буфером обмена, что положительно сказывается на скорости работы распределенных баз и обмена данными.
                            — **Исправлены ошибки**: Включены исправления багов, выявленных в версии 8.3.27.1688, в том числе по работе с управляемым интерфейсом и обработкой транзакций.
                            — **Повышена стабильность**: Улучшена устойчивость платформы при работе с большими объемами данных и в сценариях с высокой нагрузкой.
                            — **Обновления безопасности**: Внедрены актуальные патчи безопасности, что важно для защиты данных и предотвращения уязвимостей.
                            — **Совместимость с новыми версиями ОС и СУБД**: Расширена поддержка современных операционных систем и баз данных, что облегчает интеграцию и обновление инфраструктуры.

                            ### Рекомендации
                            — Если у вас стабильная работа на версии 8.3.27.1688 и нет критичных задач, можно планировать обновление на 8.3.27.1859 ради улучшений производительности и безопасности.
                            — Перед обновлением рекомендуется тестировать платформу на тестовом стенде с вашими конфигурациями и нагрузками.
                            — Следите за официальными релиз-нотами и обновлениями на сайте 1С, так как баги быстро фиксируются в последующих релизах.

                            Рекомендую посмотреть здесь:
                            https://wonderland.v8.1c.ru/blog/dorabotki-po-povysheniyu-proizvoditelnosti-platformy-v-versii-8-3-23/
                            https://support.1c.ru/db/v8std#content:491:hdoc

                            Если нужны конкретные исправления или баги по вашей конфигурации — могу помочь с анализом.

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

                              Если на сервере 32 Гб ОЗУ, из них 11 Гб выделено под MS SQL Server, а при работе 10 пользователей 1С ощущается нехватка памяти — это повод задуматься об оптимизации, а не просто о добавлении памяти.

                              Вот основные моменты и рекомендации:

                              1. **Проверка распределения памяти между SQL Server и ОС/1С**
                              — Из 32 Гб выделено 11 Гб под SQL Server — это примерно треть. Остальное (21 Гб) должно хватать для ОС и серверных процессов 1С.
                              — Если 1С и SQL работают на одном сервере, нужно сбалансировать память так, чтобы SQL не «забирал» слишком много, но и не был ограничен слишком сильно.
                              — Рекомендуется выделять SQL памяти примерно равной размеру активных данных базы (файлов БД на диске) + 10-15%. Если база небольшая, 11 Гб может быть избыточно или наоборот мало — зависит от объема данных и нагрузки.

                              2. **Оптимизация настроек SQL Server**
                              — Проверьте параметр **max server memory** — он должен быть установлен на 11 Гб, чтобы SQL не превышал этот лимит.
                              — Установите **min server memory** для SQL, чтобы он не сбрасывал кеш слишком часто.
                              — Проверьте параметр **max degree of parallelism** — для 1С рекомендуется ставить 1, чтобы избежать излишней параллельной нагрузки.
                              — Включите **AWE** (Address Windowing Extensions) для 32-битных версий SQL, если используется, чтобы SQL мог использовать больше памяти.

                              3. **Оптимизация настроек 1С**
                              — Настройте кластер 1С: ограничьте максимальный объем памяти для рабочих процессов (rphost), чтобы они не занимали слишком много памяти.
                              — Настройте интервал перезапуска рабочих процессов, чтобы избежать утечек памяти.
                              — Оптимизируйте количество рабочих процессов и соединений на процесс, чтобы не создавать избыточную нагрузку.

                              4. **Анализ нагрузки и запросов**
                              — Проверьте, нет ли «тяжелых» или неэффективных запросов в 1С, которые вызывают чрезмерное потребление памяти и процессорных ресурсов.
                              — Используйте профилирование и мониторинг SQL Server (например, SQL Profiler, Extended Events) для выявления узких мест.

                              5. **Аппаратные и системные моменты**
                              — Убедитесь, что файл подкачки Windows настроен корректно (рекомендуется не отключать, а настроить разумный размер).
                              — Проверьте, нет ли других процессов, которые потребляют много памяти на сервере.
                              — Если сервер виртуальный — проверьте выделение ресурсов гипервизором.

                              6. **Рассмотрите разделение ролей**
                              — Если нагрузка высокая, имеет смысл выделить отдельные серверы под SQL и под 1С, чтобы они не конкурировали за ресурсы.

                              7. **Мониторинг и диагностика**
                              — Используйте системные средства мониторинга (Performance Monitor, Resource Monitor) для отслеживания использования памяти, CPU, дисков.
                              — Анализируйте логи 1С и SQL на предмет ошибок, связанных с памятью.

                              **Итог:**
                              11 Гб под SQL из 32 Гб — это не критично, но если 10 пользователей испытывают нехватку памяти, скорее всего, проблема в неправильной настройке SQL и 1С, либо в неэффективных запросах и нагрузке. Оптимизация настроек памяти, рабочих процессов 1С и анализ нагрузки помогут улучшить ситуацию.

                              Рекомендую начать с:
                              — Проверки и корректировки параметров max server memory в SQL Server.
                              — Настройки ограничений памяти и перезапуска рабочих процессов в 1С.
                              — Мониторинга нагрузки и выявления «тяжелых» запросов.

                              Рекомендую посмотреть здесь:
                              https://helpf.pro/faq8/view/1532.html
                              https://infostart.ru/1c/articles/626919/

                              Настройка памяти в MS SQL для 1С Предприятия

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

                                Для организации локальной работы с Git в связке с EDT и GitКонвертером без использования облачных сервисов (GitLab, GitHub, Bitbucket) нужно развернуть собственный локальный Git-сервер и настроить взаимодействие с ним. Ниже подробный план и рекомендации.

                                ### 1. Разворачивание локального Git-сервера

                                #### Варианты:

                                — **Простой bare-репозиторий на файловом сервере или локальной машине**
                                — **Git-сервер на базе SSH (OpenSSH)**
                                — **Полноценный Git-сервер с веб-интерфейсом (GitLab CE, Gitea, или аналог)**

                                #### 1.1 Bare-репозиторий на локальном диске или сетевом ресурсе

                                — Создайте пустой bare-репозиторий (без рабочей копии) для централизованного хранения:

                                mkdir /srv/git/myproject.git
                                cd /srv/git/myproject.git
                                git init --bare
                                

                                — Доступ к репозиторию можно организовать через сетевой диск (например, SMB) или локально.

                                — В EDT и GitКонвертере указывайте путь к этому репозиторию как `file:///srv/git/myproject.git` или через сетевой путь.

                                **Минусы:** нет управления пользователями, нет веб-интерфейса, неудобно для командной работы.

                                #### 1.2 Git-сервер через SSH

                                — На сервере (Windows или Linux) установите OpenSSH-сервер.

                                — Создайте пользователя для работы с Git.

                                — Создайте bare-репозиторий, как в пункте 1.1.

                                — Настройте SSH-доступ к серверу.

                                — В EDT и GitКонвертере укажите SSH-адрес репозитория, например:

                                ssh://gituser@server_ip:/srv/git/myproject.git
                                

                                — Для удобства настройте SSH-ключи (безпарольный доступ).

                                #### 1.3 Полноценный локальный Git-сервер с веб-интерфейсом

                                — Установите **GitLab CE** (Community Edition), **Gitea** или **GitBucket** на локальный сервер.

                                — Это даст удобный веб-интерфейс, управление пользователями, права доступа, CI/CD и т.п.

                                — После установки создайте проект, получите SSH или HTTPS URL.

                                — В EDT и GitКонвертере используйте этот URL.

                                — Пример установки Gitea (легковесный):

                                — Скачать бинарник с https://gitea.io/en-us/

                                — Запустить, пройти веб-магию установки.

                                — Создать репозиторий.

                                ### 2. Настройка EDT для работы с локальным Git

                                — В EDT в настройках проекта укажите URL локального репозитория (SSH или file://).

                                — Если SSH, настройте SSH-ключи в системе и в EDT.

                                — Используйте встроенный Git-интерфейс EDT для коммитов, пушей, пулов.

                                — При необходимости настройте ветки, слияния и т.д.

                                ### 3. Настройка GitКонвертера для работы с локальным Git

                                — В конфигурации GitКонвертера укажите путь к локальному репозиторию (локальный путь или SSH URL).

                                — Настройте SSH-ключи, если используете SSH.

                                — Используйте команды GitКонвертера для выгрузки/загрузки кода из 1С в Git.

                                — Для автоматизации можно использовать bat-скрипты, которые вызывают GitКонвертер и git-команды.

                                ### 4. Рекомендации по SSH-ключам и безопасности

                                — Создайте SSH-ключи на клиентской машине:

                                ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
                                

                                — Добавьте публичный ключ в `~/.ssh/authorized_keys` на сервере.

                                — Проверьте подключение:

                                ssh gituser@server_ip
                                

                                — В EDT и GitКонвертере используйте приватный ключ.

                                ### 5. Пример минимальной настройки bare-репозитория и подключения

                                # На сервере
                                mkdir -p /srv/git/myproject.git
                                cd /srv/git/myproject.git
                                git init --bare
                                
                                # На клиенте
                                git clone ssh://gituser@server_ip:/srv/git/myproject.git
                                cd myproject
                                # Добавляете файлы, коммитите, пушите
                                git add .
                                git commit -m "Initial commit"
                                git push origin master
                                

                                В EDT укажите этот SSH URL в настройках Git.

                                ### 6. Полезные ссылки и инструменты

                                — GitКонвертер: https://github.com/1C-Company/GitConverter/tree/develop
                                — Gitsync: https://github.com/oscript-library/gitsync
                                — Установка GitLab CE: https://about.gitlab.com/install/
                                — Gitea: https://gitea.io/en-us/
                                — Настройка SSH на Windows: https://agung-setiawan.com/git-github-generating-ssh-keys-on-windows/

                                ### Итог

                                Для локальной работы с Git в EDT и GitКонвертере без облака:

                                — Разверните локальный Git-сервер (bare-репозиторий, SSH-сервер или GitLab/Gitea).
                                — Настройте SSH-доступ и ключи.
                                — В EDT и GitКонвертере укажите локальный SSH или файловый путь к репозиторию.
                                — Используйте стандартные git-команды и возможности EDT/GitКонвертера для работы с кодом.

                                Это позволит полноценно работать с Git без зависимости от облачных сервисов.

                                Рекомендую посмотреть здесь:
                                https://infostart.ru/1c/articles/1127356/
                                https://github.com/1C-Company/GitConverter
                                https://serveradmin.ru/ustanovka-i-nastroyka-gitlab/

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

                                  Миша, привет!

                                  Ошибка «Неверный реквизит платежного документа, строка 55: КодНазПлатежа=» возникает из-за того, что в обработке «КлиентБанк» не предусмотрена работа с реквизитом «КодНазПлатежа». То есть при загрузке из банка в платежном документе появляется поле «КодНазПлатежа», а обработка его не распознаёт и выдаёт ошибку.

                                  Как исправить:

                                  1. В конфигураторе откройте обработку «КлиентБанк».
                                  2. В модуле объекта найдите строку, где задаётся список необязательных реквизитов платежного документа, например:

                                  РеквизитыПлДок_НазначениеНеОбязательные = "НазначениеПлатежа1,НазначениеПлатежа2,НазначениеПлатежа3,НазначениеПлатежа4,НазначениеПлатежа5,НазначениеПлатежа6";
                                  

                                  3. Добавьте в этот список «КодНазПлатежа» и «КодВыплат»:

                                  РеквизитыПлДок_НазначениеНеОбязательные = "НазначениеПлатежа1,НазначениеПлатежа2,НазначениеПлатежа3,НазначениеПлатежа4,НазначениеПлатежа5,НазначениеПлатежа6,КодВыплат,КодНазПлатежа";
                                  

                                  4. Далее найдите место, где создаются колонки в таблице для реквизитов платежного документа, например:

                                  СоздатьКолонкуВТаблице(Таб, ТабПоле, "НазначениеПлатежа6", Т_Строка, "Назначение платежа, стр. 6", НеВидимая);
                                  

                                  5. Добавьте после этой строки создание колонок для новых реквизитов:

                                  СоздатьКолонкуВТаблице(Таб, ТабПоле, "КодВыплат", Т_Строка, "КодВыплат", НеВидимая);
                                  СоздатьКолонкуВТаблице(Таб, ТабПоле, "КодНазПлатежа", Т_Строка, "КодНазПлатежа", НеВидимая);
                                  

                                  6. Сохраните изменения и обновите конфигурацию.

                                  После этого обработка будет корректно воспринимать реквизит «КодНазПлатежа» и ошибка исчезнет.

                                  Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1244253/

                                Просмотр 15 сообщений - с 61 по 75 (из 1,538 всего)
                                База знаний 1С