Odin — Одинэсник

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

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

      Ermuk, привет!

      Для корректной выгрузки отчёта о розничных продажах с подарочными сертификатами из 1С:УНФ в 1С:Бухгалтерию (БП) нужно доработать правила обмена. В типовых правилах обмена обычно отсутствует полноценная обработка сертификатов, а также могут возникать ошибки при выгрузке табличной части «Товары» из-за вызова алгоритма заполнения ставки НДС.

      Основные шаги:

      — Проверьте и при необходимости настройте правила обмена, чтобы они учитывали табличные части и реквизиты, связанные с подарочными сертификатами.
      — В правилах обмена для табличной части «Товары» удалите или закомментируйте вызов алгоритма заполнения ставки НДС, который может вызывать ошибку «Не установлен приемник XML».
      — Добавьте обработку табличной части сертификатов, чтобы данные корректно передавались в БП.
      — В БП обеспечьте наличие соответствующих справочников и документов для приёма данных по сертификатам.
      — Проведите тестирование обмена и при необходимости доработайте правила.

      Таким образом, для корректного обмена нужно убрать проблемный вызов алгоритма по НДС, добавить обработку сертификатов в правила обмена и обеспечить их корректное принятие в БП.

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

      Подробности и примеры:

      1. В модуле правил обмена для табличной части «Товары» в выгрузке есть вызов алгоритма заполнения ставки НДС:

           Выполнить(Алгоритмы.ЗаполнитьСтавкуВСтрокеПоФлагуУчитыватьНДС);
           

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

         
         

      3. Для обработки подарочных сертификатов добавьте в правила обмена соответствующую табличную часть:

      // ТабличнаяЧасть ПодарочныеСертификаты
      // {
      //	НомерСертификата;
      //	Сумма;
      //	// другие реквизиты
      // }
      bot_avaOdin — Одинэсник
      Участник

        Лилия, привет!

        Для настройки подписания документов в 1С:Документообороте на iPad нужно учитывать, что iPad — мобильное устройство с ограничениями по установке драйверов и специализированного ПО, поэтому стандартные решения с графическими планшетами и локальными PDF-принтерами не подойдут напрямую. Вот как можно организовать подписание документов на iPad в 1С:

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

        2. **Электронная подпись (ЭЦП) через мобильное приложение**
        Для подписания документов на iPad обычно используется простая электронная подпись (ПЭП) или усиленная квалифицированная подпись (УКЭП) через интеграцию с облачными сервисами или мобильными токенами. Варианты:
        — Подключение к облачному сервису ЭЦП, который поддерживает мобильные устройства (например, КриптоПро CSP Cloud, Диадок, СБИС и др.).
        — Использование мобильных сертификатов, хранящихся в защищённом хранилище iPad (например, через Secure Enclave).
        — Встроенные механизмы 1С для простой электронной подписи (ПЭП), когда подпись формируется внутри приложения без внешних устройств.

        3. **Интеграция с внешними сервисами подписания**
        Если в вашей компании используется сторонний сервис ЭДО (электронного документооборота), который поддерживает мобильное подписание, то 1С:Документооборот можно настроить на интеграцию с этим сервисом. Тогда пользователь на iPad сможет подписывать документы через интерфейс мобильного приложения, а подпись будет храниться в системе.

        4. **Подписание с помощью графического планшета или стилуса**
        На iPad можно реализовать подпись с помощью стилуса (Apple Pencil) или пальцем прямо в приложении 1С, если в конфигурации предусмотрена такая возможность. Для этого:
        — В форме документа добавляется элемент для рисования подписи (например, элемент «Поле для подписи»).
        — Подпись сохраняется как изображение и прикрепляется к документу.
        — Такой способ подходит для простой электронной подписи, но не заменяет квалифицированную ЭЦП.

        5. **Настройка и доработка конфигурации 1С**
        Для полноценной работы с подписями на iPad может потребоваться доработка конфигурации:
        — Добавить обработчики для загрузки и сохранения подписей из мобильного приложения.
        — Реализовать обмен с облачными сервисами ЭЦП.
        — Настроить хранение подписанных файлов в хранилище 1С.

        6. **Безопасность и аутентификация**
        В мобильном приложении 1С:Документооборот реализованы механизмы аутентификации (Face ID, Touch ID, пароль), а также шифрование данных и защищённое хранение токенов для подписи.

        **Примерный алгоритм для пользователя на iPad:**

        — Открыть мобильное приложение 1С:Документооборот.
        — Найти документ, требующий подписи.
        — Нажать кнопку «Подписать» (если реализовано).
        — Если используется простая подпись — нарисовать подпись стилусом или пальцем.
        — Если используется ЭЦП — приложение запросит подтверждение через мобильный сертификат или облачный сервис.
        — Подписанный документ автоматически сохраняется и доступен для просмотра.

        **Рекомендации по реализации:**

        — Проверьте, что у вас установлена последняя версия мобильного приложения 1С:Документооборот.
        — Уточните у вашего системного администратора или разработчика, какие сервисы ЭЦП интегрированы с вашей конфигурацией.
        — Если требуется квалифицированная подпись, настройте интеграцию с облачными сервисами, поддерживающими мобильные устройства.
        — Для простой подписи можно реализовать элемент рисования подписи в форме документа.

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

        Если кратко — на iPad подписывать документы в 1С:Документооборот можно через мобильное приложение с использованием встроенных возможностей простой электронной подписи или через интеграцию с облачными сервисами ЭЦП, а для квалифицированной подписи потребуется дополнительная настройка и сервисы.

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

          Andrey, привет!

          Ошибка «Не удалось занять выбранный порт» в 1С:УТ 10.3.47.3 при работе со сканером штрихкода обычно связана с тем, что COM-порт, к которому подключен сканер, уже занят другим приложением или неправильно настроен.

          Что проверить и сделать:

          1. **Проверка занятости порта**
          — Откройте «Диспетчер устройств» Windows, найдите ваш COM-порт (например, COM3, COM4 и т.д.).
          — Убедитесь, что порт действительно существует и соответствует настройкам в 1С.
          — Закройте все программы, которые могут использовать этот порт (например, терминальные программы, другие учетные системы, программы для работы с оборудованием).
          — Можно использовать утилиты типа PortMon или Process Explorer, чтобы проверить, какие процессы используют порт.

          2. **Параметры порта в 1С**
          — В конфигурации 1С зайдите в настройки оборудования (Администрирование → Оборудование → Сканер штрихкода).
          — Проверьте, что выбран правильный COM-порт.
          — Проверьте скорость передачи данных (baud rate), биты данных, стоп-биты, паритет — они должны совпадать с настройками сканера. Обычно для сканеров это 9600, 8N1, но может отличаться.
          — Если есть возможность, попробуйте переключить порт на другой COM-порт.

          3. **Проверка драйверов и оборудования**
          — Убедитесь, что драйверы для сканера установлены корректно и устройство работает в системе без ошибок.
          — Попробуйте подключить сканер к другому USB-порту или другому компьютеру, чтобы исключить аппаратные проблемы.

          4. **Проверка в 1С**
          — В 1С попробуйте выполнить ручной тест устройства (кнопка «Тест» в настройках оборудования).
          — Если тест не проходит, попробуйте временно отключить автоматический тест и проверить работу сканера в режиме ввода.

          5. **Дополнительные рекомендации**
          — Иногда помогает перезагрузка компьютера, чтобы освободить порт.
          — Если используется виртуальный COM-порт (через USB-COM адаптер), попробуйте обновить драйверы адаптера.
          — Проверьте, не включена ли в системе служба, которая может блокировать порт (например, службы удаленного доступа).

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

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

          Кратко: ошибка «Не удалось занять порт» — порт занят или параметры неверны. Проверяйте занятость порта, настройки в 1С и драйверы устройства.

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

            Лилия, привет!

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

            1. **Настройка криптопровайдера и сертификатов на клиенте**
            Убедитесь, что на рабочем месте пользователя установлен и корректно настроен криптопровайдер (например, КриптоПро CSP) и в системе Windows импортирован действующий сертификат ЭЦП. Это базовое требование для работы с ЭЦП в 1С.

            2. **Настройка в 1С:Документообороте**
            В конфигурации 1С:Документооборот КОРП 3.0 предусмотрена подсистема работы с ЭЦП. Для ее использования:
            — В разделе «Администрирование» — «Настройки» — «Электронная подпись» проверьте, что включена работа с ЭЦП.
            — Настройте параметры подписи, если требуется, например, укажите используемый криптопровайдер, алгоритмы и т.п.

            3. **Добавление ЭЦП к документам**
            В типовых документах, участвующих в электронном документообороте, предусмотрена возможность подписания. Для этого:
            — Откройте документ, который нужно подписать.
            — В панели команд или в меню документа найдите команду «Подписать» или «Подписать ЭЦП».
            — При нажатии система запросит выбор сертификата из установленных в системе.
            — После выбора сертификата документ будет подписан, и в его реквизитах появится информация о подписи.

            4. **Автоматизация и доработка**
            Если требуется добавить ЭЦП в нестандартные документы или расширить функционал:
            — Используйте встроенные методы работы с ЭЦП из подсистемы «ОбменСКонтрагентами» и «Электронный документооборот».
            — В модуле объекта документа можно добавить вызовы методов подписания, например, через `ОбменСКонтрагентами.ПодписатьДокумент(ОбъектДокумента, Сертификат)`.
            — Для расширения функционала можно использовать обработчики событий документа (например, «ПослеЗаписи») для автоматической подписи.

            5. **Проверка и хранение подписей**
            — Подписанные документы хранятся с информацией о подписи, которая доступна для просмотра.
            — В системе реализованы механизмы проверки подлинности ЭЦП при открытии и обмене документами.

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

            &НаСервере
            Процедура ПодписатьДокумент(ДокументОбъект)
                Сертификат = ПолучитьСертификатПользователя(); // Ваша функция выбора сертификата
                Если Сертификат = Неопределено Тогда
                    ВызватьИсключение "Сертификат не выбран";
                КонецЕсли;
                ОбменСКонтрагентами.ПодписатьДокумент(ДокументОбъект, Сертификат);
            КонецПроцедуры
            

            Для типовых документов в 1С:Документообороте КОРП 3.0 обычно достаточно стандартных настроек и интерфейса.

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

            Лилия, если нужна помощь с конкретным кодом или настройкой — пиши, помогу.

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

              Dmitriy, привет!

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

              Пример запроса для получения дерева иерархии Номенклатуры с уровнями вложенности и полным путем:

              Запрос = Новый Запрос;
              Запрос.Текст = 
              "ВЫБРАТЬ
              |   Номенклатура.Ссылка КАК Ссылка,
              |   Номенклатура.Наименование КАК Наименование,
              |   Номенклатура.Родитель КАК Родитель,
              |   0 КАК Уровень,
              |   Номенклатура.Наименование КАК Путь
              |ИЗ
              |   Справочник.Номенклатура КАК Номенклатура
              |ГДЕ
              |   Номенклатура.Родитель = NULL
              
              ОБЪЕДИНИТЬ ВСЕ
              
              ВЫБРАТЬ
              |   Номенклатура_Дочерняя.Ссылка,
              |   Номенклатура_Дочерняя.Наименование,
              |   Номенклатура_Дочерняя.Родитель,
              |   Родительская.Уровень + 1,
              |   Родительская.Путь + ""/"" + Номенклатура_Дочерняя.Наименование
              |ИЗ
              |   Справочник.Номенклатура КАК Номенклатура_Дочерняя
              |   ВНУТРЕННЕЕ СОЕДИНЕНИЕ (&РодительскаяТаблица) КАК Родительская
              |   ПО Номенклатура_Дочерняя.Родитель = Родительская.Ссылка";
              
              РодительскаяТаблица = Новый ТаблицаЗначений;
              РодительскаяТаблица.Колонки.Добавить("Ссылка");
              РодительскаяТаблица.Колонки.Добавить("Уровень");
              РодительскаяТаблица.Колонки.Добавить("Путь");
              
              // Заполняем начальные значения - корневые элементы
              Запрос.УстановитьПараметр("РодительскаяТаблица", РодительскаяТаблица);
              
              // В 1С нет прямой поддержки рекурсивных запросов, поэтому для обхода иерархии нужно делать это программно:
              // 1. Получить корневые элементы (где Родитель = NULL)
              // 2. Для каждого уровня делать запрос с фильтром по родителю из предыдущего уровня
              // 3. Собрать результаты в общую таблицу
              
              // Пример обхода иерархии программно:
              
              Функция ПолучитьДеревоНоменклатуры()
                  Результат = Новый ТаблицаЗначений;
                  Результат.Колонки.Добавить("Ссылка", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
                  Результат.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));
                  Результат.Колонки.Добавить("Родитель", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
                  Результат.Колонки.Добавить("Уровень", Новый ОписаниеТипов("Число"));
                  Результат.Колонки.Добавить("Путь", Новый ОписаниеТипов("Строка"));
              
                  // Получаем корневые элементы
                  ЗапросКорень = Новый Запрос;
                  ЗапросКорень.Текст = 
                  "ВЫБРАТЬ
                  |   Ссылка,
                  |   Наименование,
                  |   Родитель,
                  |   0 КАК Уровень,
                  |   Наименование КАК Путь
                  |ИЗ
                  |   Справочник.Номенклатура
                  |ГДЕ
                  |   Родитель = NULL";
              
                  Корни = ЗапросКорень.Выполнить().Выгрузить();
              
                  ПроцессироватьУровень(Корни, 0, Результат);
              
                  Возврат Результат;
              КонецФункции
              
              Процедура ПроцессироватьУровень(ТекущиеЭлементы, Уровень, Результат)
                  Для Каждого Строка Из ТекущиеЭлементы Цикл
                      НоваяСтрока = Результат.Добавить();
                      НоваяСтрока.Ссылка = Строка.Ссылка;
                      НоваяСтрока.Наименование = Строка.Наименование;
                      НоваяСтрока.Родитель = Строка.Родитель;
                      НоваяСтрока.Уровень = Уровень;
                      НоваяСтрока.Путь = Строка.Путь;
                  КонецЦикла;
              
                  // Получаем дочерние элементы для текущих
                  МассивРодителей = Новый Массив;
                  Для Каждого Строка Из ТекущиеЭлементы Цикл
                      МассивРодителей.Добавить(Строка.Ссылка);
                  КонецЦикла;
              
                  Если МассивРодителей.Количество() = 0 Тогда
                      Возврат;
                  КонецЕсли;
              
                  ЗапросДети = Новый Запрос;
                  ЗапросДети.Текст = 
                  "ВЫБРАТЬ
                  |   Ссылка,
                  |   Наименование,
                  |   Родитель,
                  |   &Уровень + 1 КАК Уровень,
                  |   Путь + ""/"" + Наименование КАК Путь
                  |ИЗ
                  |   Справочник.Номенклатура
                  |ГДЕ
                  |   Родитель В (&Родители)";
              
                  ЗапросДети.УстановитьПараметр("Родители", МассивРодителей);
                  ЗапросДети.УстановитьПараметр("Уровень", Уровень);
              
                  Дети = ЗапросДети.Выполнить().Выгрузить();
              
                  Если Дети.Количество() > 0 Тогда
                      ПроцессироватьУровень(Дети, Уровень + 1, Результат);
                  КонецЕсли;
              КонецПроцедуры
              

              Объяснение:

              — В 1С нет поддержки рекурсивных запросов, поэтому иерархию нужно обходить программно.
              — Сначала выбираются корневые элементы (где Родитель = NULL).
              — Затем для каждого уровня выбираются дочерние элементы, добавляются в результат с увеличением уровня вложенности.
              — В результате получается таблица с полями: Ссылка, Наименование, Родитель, Уровень вложенности, Путь (полный путь по иерархии).

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

              Если справочник Номенклатура использует другой реквизит для связи с родителем, замените «Родитель» на нужное имя.

              Там подробно описан обход иерархий и примеры запросов.

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

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

                1. Проверьте корректность логина и пароля пользователя. Часто после обновления могут сброситься или повредиться настройки аутентификации.

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

                3. Сделайте сопоставление пользователей информационной базы с пользователями 1С. Для этого:
                — Откройте справочник «Пользователи»
                — В меню «Ещё» выберите «Дополнительно» → «Пользователи информационной базы»
                — Нажмите кнопку «Сопоставить»
                — В открывшейся форме выберите того же пользователя и нажмите «Записать» и «Закрыть»
                Это часто решает проблему с идентификацией.

                4. Если используется аутентификация операционной системы, проверьте, что у пользователя корректно настроена аутентификация ОС (флаг «Аутентификация операционной системы» в карточке пользователя) и что учетная запись, под которой запущена служба 1С, имеет необходимые права.

                5. Проверьте, не повреждена ли база данных. Иногда после обновления могут возникать проблемы с метаданными или повреждения. Запустите проверку и восстановление базы через конфигуратор.

                6. Если ошибка возникает на сервере, проверьте профиль пользователя Windows, под которым запущена служба 1С. Иногда профиль становится временным, и это вызывает ошибки аутентификации. В этом случае:
                — Остановите службу 1С
                — Исправьте профиль пользователя (см. статью Microsoft по ошибке 80090024)
                — Запустите службу снова

                7. Проверьте логи сервера 1С и клиентские логи — там может быть более подробная информация о причине ошибки.

                8. Если используется доменная аутентификация, убедитесь, что после обновления не изменились настройки запуска службы 1С и что служба запущена под правильной учетной записью с нужными правами.
                https://infostart.ru/1c/articles/2095800/

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

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

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

                  Alex, привет!

                  В запросах 1С по полю «Проведен» (логическому) условие «НЕ Проведен» и «Проведен = Ложь» по сути эквивалентны и с точки зрения производительности разницы практически нет. Платформа и СУБД воспринимают оба варианта одинаково — это простое сравнение булевого поля.

                  Однако, если копнуть глубже:

                  — «Проведен = Ложь» — это явное сравнение, которое однозначно понятно и читаемо.
                  — «НЕ Проведен» — это логическое отрицание, которое тоже быстро обрабатывается, но иногда в сложных условиях с несколькими отрицаниями может немного усложнить чтение запроса.

                  С точки зрения индексов и оптимизации — оба варианта используют индекс по полю «Проведен» одинаково эффективно, если он есть.

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

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

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

                    В 1С:УНФ 8.3.27.1719 для создания HTTP-сервиса, который принимает JSON в POST-запросе, преобразует его в структуру и перебирает элементы, можно использовать следующий подход.

                    В обработчике POST-запроса сначала получаем тело запроса как строку с помощью метода ПолучитьТелоКакСтроку(). Затем создаём объект ЧтениеJSON и парсим JSON в структуру с помощью функции ПрочитатьJSON, передавая параметр Истина для чтения в соответствие. После этого проверяем тип полученного объекта через ТипЗнч: если это структура, перебираем её ключи и значения; если массив — перебираем элементы массива; иначе выводим сообщение о другом типе объекта.

                    В конце формируем ответ с подтверждением успешного получения и обработки данных.

                    &НаКлиенте
                    Процедура ОбработатьПостЗапрос(Запрос, Ответ)
                        // Получаем тело запроса как строку
                        ТелоЗапроса = Запрос.ПолучитьТелоКакСтроку();
                    
                        // Создаем объект чтения JSON
                        ЧтениеJSON = Новый ЧтениеJSON;
                        ЧтениеJSON.УстановитьСтроку(ТелоЗапроса);
                    
                        // Парсим JSON в структуру (второй параметр Истина - для соответствия)
                        Данные = ПрочитатьJSON(ЧтениеJSON, Истина);
                        ЧтениеJSON.Закрыть();
                    
                        // Проверяем тип полученного объекта
                        Если ТипЗнч(Данные) = Тип("Структура") Тогда
                            // Перебираем элементы структуры
                            Для Каждого Ключ Из Данные.Ключи Цикл
                                Значение = Данные[Ключ];
                                // Здесь можно обработать ключ и значение
                                Сообщить("Ключ: " + Ключ + ", Значение: " + ФорматироватьЗначение(Значение));
                            КонецЦикла;
                        ИначеЕсли ТипЗнч(Данные) = Тип("Массив") Тогда
                            // Если пришел массив, перебираем элементы массива
                            Для Каждого Элемент Из Данные Цикл
                                Сообщить("Элемент массива: " + ФорматироватьЗначение(Элемент));
                            КонецЦикла;
                        Иначе
                            Сообщить("Получен объект другого типа: " + ТипЗнч(Данные));
                        КонецЕсли;
                    
                        // Формируем ответ (например, просто подтверждение)
                        Ответ.УстановитьТелоИзСтроки("Данные успешно получены и обработаны", КодировкаТекста.UTF8);
                    КонецПроцедуры
                    
                    // Вспомогательная функция для удобного вывода значений
                    Функция ФорматироватьЗначение(Знач)
                        Если ТипЗнч(Знач) = Тип("Структура") Тогда
                            Возврат "[Структура]";
                        ИначеЕсли ТипЗнч(Знач) = Тип("Массив") Тогда
                            Возврат "[Массив]";
                        Иначе
                            Возврат Формат(Знач);
                        КонецЕсли;
                    КонецФункции
                    в ответ на: Зачем выполнять перезапуск rphost в 1С? #35628
                    bot_avaOdin — Одинэсник
                    Участник

                      Andrey, привет!

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

                      1. **Утечки памяти (Memory Leaks)**:
                      Рабочий процесс rphost со временем может накапливать в памяти объекты, которые не освобождаются после использования. Это приводит к тому, что процесс начинает занимать всё больше оперативной памяти, даже если количество подключенных пользователей не растет. В итоге процесс «распухает», что снижает производительность и может привести к сбоям.

                      2. **Фрагментация памяти**:
                      Со временем в памяти процесса может возникать фрагментация, из-за чего эффективное использование памяти ухудшается, и процесс начинает работать медленнее.

                      3. **Деградация производительности**:
                      Из-за вышеописанных проблем рабочий процесс начинает работать медленнее, что отражается на скорости отклика пользователей и общей стабильности работы кластера 1С.

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

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

                      6. **Автоматизация перезапуска**:
                      Из-за того, что утечки памяти и рост потребления ресурсов происходят постепенно, часто настраивают автоматический мониторинг и перезапуск rphost при достижении лимита по памяти, чтобы не ждать ручного вмешательства и не допускать падения производительности.

                      В итоге перезапуск rphost — это стандартная практика для поддержания стабильной и производительной работы сервера 1С, особенно в больших и нагруженных кластерах.
                      https://infostart.ru/1c/articles/1475941/
                      https://infostart.ru/1c/articles/81853/
                      https://infostart.ru/1c/articles/137978/

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

                        Ошибка «неспецифированная ошибка работы с ресурсами» с сообщением «недостаточно свободной памяти для выполнения операции» при выполнении POST-запроса к ресурсу /e1cib/login в 1С:ERP обычно связана с ограничениями по памяти рабочего процесса сервера 1С (rphost), а не с общей оперативной памятью сервера.

                        Причины:

                        1. Сервер 1С 32-битный. В 32-битных процессах ограничение на использование памяти около 3.5 Гб. Если один рабочий процесс rphost обслуживает много баз и подключений, он может исчерпать доступную память.

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

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

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

                        5. Ошибки в конфигурации, например, в процедурах при старте (ПриНачалеРаботыСистемы), могут приводить к ошибкам, которые маскируются под нехватку памяти.

                        Способы устранения:

                        1. Перейти на 64-битный сервер 1С, чтобы снять ограничение по памяти на процесс.

                        2. Если есть лицензия КОРП, уменьшить в настройках сервера 1С параметры:
                        — Количество информационных баз на процесс (например, с 8 до 4)
                        — Количество подключений на процесс (например, с 256 до 128)
                        Это снизит нагрузку на один процесс и позволит запускать дополнительные процессы.

                        3. Если лицензия не позволяет менять параметры, временно помогает перезапуск сервера 1С, но это временное решение.

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

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

                        6. Мониторить и анализировать технологический журнал сервера 1С с включенными событиями EXCP для выявления точных причин.

                        7. При использовании MS SQL проверить настройки памяти SQL Server, но обычно это не основная причина.

                        8. Если проблема связана с большими двоичными данными в таблице config, можно выгрузить конфигурацию, удалить большие записи и загрузить конфигурацию заново.

                        Рекомендации:

                        — Для стабильной работы 1С ERP лучше использовать 64-битный сервер и лицензию КОРП.
                        — Оптимизировать роли и права доступа.
                        — Следить за количеством баз и подключений на один процесс.
                        — Проводить регулярный аудит конфигурации и кода.

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

                          Ошибка «Поле объекта недоступно для записи (ЦенаБезНДС)» возникает, потому что выборка из справочника — это объект только для чтения, и напрямую менять её реквизиты нельзя. Чтобы изменить значение реквизита, нужно получить сам объект справочника через метод ПолучитьОбъект(), изменить нужное поле и записать объект.

                          В вашем случае правильный подход такой:

                          1. Получить объект справочника по ссылке из выборки.
                          2. Изменить реквизит объекта.
                          3. Записать объект.

                          Пример кода:

                          // Использовать метод НайтиПоКоду или НайтиПоРеквизиту вместо НайтиПоНаименованию
                          Выборка = Справочники.УслугиТранспорта.Найти("Наименование", "Название услуги");
                          Если Выборка <> Неопределено Тогда
                              Объект = Выборка.ПолучитьОбъект();
                              Объект.ЦенаБезНДС = 0;
                              Объект.Записать();
                          КонецЕсли;

                          Если у вас есть уже выборка, например:

                          Для Каждого Строка Из Справочники.УслугиТранспорта.Выбрать() Цикл
                              Объект = Строка.ПолучитьОбъект();
                              Объект.ЦенаБезНДС = 0;
                              Объект.Записать();
                          КонецЦикла;
                          

                          Обратите внимание, что метод ПолучитьОбъект() возвращает объект для записи, а выборка — только для чтения.

                          Если поле ЦенаБезНДС действительно есть в справочнике и доступно для записи, то такой способ сработает. Если же это вычисляемый или служебный реквизит, который нельзя менять напрямую, нужно проверить его свойства в конфигураторе и убедиться, что у него стоит флаг «Доступен для записи».

                          Кратко: нельзя писать в выборку, нужно получить объект через ПолучитьОбъект(), изменить реквизит и записать объект.

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

                            Ксения, привет!

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

                            Однако есть несколько рабочих вариантов решения задачи с разделением видов документов по разным базам:

                            1. **Использование разных учетных записей (абонентских идентификаторов) у оператора ЭДО для одной организации.**
                            — В этом случае для каждой базы (например, Документооборот 3.0 и Бухгалтерия Предприятия) регистрируется своя учетная запись у оператора ЭДО.
                            — В каждой учетной записи настраивается прием только нужных видов документов (например, в Документооборот — только договора, в БП — только УПД).
                            — Это самый надежный и рекомендуемый способ, но требует согласования с оператором ЭДО и возможно дополнительных договоренностей.

                            2. **Фильтрация документов на уровне базы 1С.**
                            — При использовании одной учетной записи все документы приходят в обе базы.
                            — В каждой базе настраивается фильтрация и автоматическая обработка входящих документов по типу: в Документообороте — принимаются и обрабатываются только договора, остальные документы игнорируются или автоматически отклоняются; в БП — наоборот, принимаются только УПД, договора игнорируются.
                            — Это реализуется через настройки обработки входящих документов, правила маршрутизации, или доработки обработки обмена.
                            — Минус — документы все равно приходят в обе базы, но не обрабатываются, что может создавать лишнюю нагрузку и требует поддержки.

                            3. **Использование промежуточного сервиса или интеграционного решения.**
                            — Можно организовать централизованный прием всех документов в одну базу (например, в Документооборот), а затем через интеграцию (например, через веб-сервисы, обмен файлами, или универсальный формат) передавать в Бухгалтерию только нужные документы (УПД).
                            — Это более сложное решение, но позволяет централизованно контролировать документооборот и разграничивать обработку.

                            4. **Настройка профилей и расширенного режима в 1С ЭДО.**
                            — В справочнике «Профили настроек ЭДО» и «Настройки ЭДО» можно задать форматы и виды документов, которые будут использоваться.
                            — Однако эти настройки влияют на формирование и отправку документов, а не на прием. Прием документов по учетной записи оператора ЭДО не фильтруется на уровне профилей.
                            — Можно использовать расширенный режим настроек для отдельных контрагентов, но это не решит задачу разделения по базам.

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

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


                            https://infostart.ru/1c/articles/653643/ — особенности настройки профилей ЭДО и форматов документов

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

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

                              Можно, но с оговорками.

                              Лицензия «Комьюнити» в 1С:Предприятии 8 позволяет запускать конфигуратор и работать с конфигурацией, в том числе выполнять обновление конфигурации из файлов обновлений (.cf). Если у вас есть файлы обновлений, вы можете открыть конфигуратор под лицензией Комьюнити на другом компьютере и выполнить обновление конфигурации, загрузив эти файлы.

                              Однако есть важные моменты:

                              1. **Обновление базы данных** — после обновления конфигурации нужно обновить структуру базы данных (через пункт меню «Конфигурация» → «Обновить конфигурацию базы данных»). Это действие требует монопольного доступа к базе и может быть ресурсоёмким. Если компьютер, на котором вы это делаете, слабый, то процесс может тормозить.

                              2. **Монопольный режим** — для обновления базы данных нужно, чтобы никто не работал в базе. Если база клиент-серверная, то желательно выполнять обновление на сервере или на компьютере с хорошими ресурсами.

                              3. **Риски и удобство** — обновление конфигурации на другом компьютере с лицензией Комьюнити возможно, но если база большая и обновление требует много ресурсов, то проблема с зависанием может повториться. В этом случае лучше использовать более мощный компьютер или сервер.

                              4. **Рекомендация** — если основной компьютер зависает при обновлении, попробуйте выполнить обновление конфигурации на другом компьютере с лицензией Комьюнити, а затем обновить базу данных на основном компьютере, либо обновить базу данных на сервере, если база клиент-серверная.

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

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

                                Dimka, добрый вечер.

                                Ошибка «Код справочника стал неуникальным: ВычетыИПн (000000014)» при реорганизации информации в 1С:Бухгалтерия 3.0 — это классическая проблема, связанная с нарушением уникальности кодов элементов справочника. В вашем случае в справочнике «ВычетыИПн» обнаружился дублирующийся код «000000014».

                                Причины возникновения:

                                1. В базе данных появились два и более элемента справочника с одинаковым кодом. Это может случиться из-за ошибок при ручном вводе, импорте данных, или некорректной работы обновления.
                                2. При обновлении конфигурации изменились правила уникальности или структура справочника, и теперь дубли стали видны.
                                3. Возможны проблемы с индексами или повреждения данных в базе.

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

                                1. **Поиск и удаление дублей вручную:**

                                — Запустите 1С в режиме «Предприятие» с правами администратора.
                                — Откройте справочник «ВычетыИПн».
                                — Попробуйте найти элементы с кодом «000000014» — если их несколько, удалите лишние или исправьте коды, чтобы они стали уникальными.
                                — Если справочник большой и вручную сложно, можно написать запрос для поиска дублей:

                                Запрос = Новый Запрос;
                                Запрос.Текст = 
                                "ВЫБРАТЬ
                                |   Код,
                                |   Количество(Ссылка) КАК Количество
                                |ИЗ
                                |   Справочник.ВычетыИПн
                                |СГРУППИРОВАТЬ ПО
                                |   Код
                                |ИМЕЮЩИЕ
                                |   Количество > 1";
                                Результат = Запрос.Выполнить();
                                Если Результат.Пустой() Тогда
                                    Сообщить("Дубли по кодам не найдены");
                                Иначе
                                    Для Каждого Строка Из Результат.Выгрузить() Цикл
                                        Сообщить("Дублирующийся код: " + Строка.Код + ", количество: " + Строка.Количество);
                                    КонецЦикла;
                                КонецЕсли;
                                

                                2. **Исправление дублей через обработку:**

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

                                3. **Проверка и восстановление индексов:**

                                — В режиме конфигуратора выполните «Администрирование» → «Проверка и исправление базы данных».
                                — Это может помочь устранить повреждения индексов, которые влияют на уникальность.

                                4. **Если дубли не видны в интерфейсе:**

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

                                5. **После исправления дублей:**

                                — Повторите обновление конфигурации и реорганизацию.
                                — Ошибка должна исчезнуть.

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

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

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

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

                                Удачи!

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

                                  Yari, привет!

                                  В ЗУП 3.1.36.45 не начисляются вычеты на детей сотрудника — это может быть вызвано несколькими основными причинами, которые нужно проверить последовательно:

                                  1. **Отсутствие или неправильное оформление заявления на вычет**
                                  В карточке сотрудника в разделе «Налог на доходы» должен быть введен и проведен документ «Заявление на стандартные вычеты». Если заявление не введено или не проведено, вычет не применяется.
                                  Проверь:
                                  — Есть ли заявление на вычет на детей?
                                  — Правильно ли указана дата начала действия вычета (с какого месяца он применяется)?
                                  — В табличной части заявления корректно ли указаны данные о детях (ФИО, дата рождения, документ, подтверждающий право на вычет)?

                                  2. **Неправильно указаны данные о детях в карточке сотрудника**
                                  В карточке сотрудника на вкладке «Налог на доходы» — «Вычеты НДФЛ» должны быть корректно внесены сведения о детях, включая очередность рождения, инвалидность и т.п. Если данные отсутствуют или некорректны, вычет не будет начислен.

                                  3. **Неверно настроены параметры вычета в справочниках**
                                  Проверь в справочнике «Виды вычетов» (или «Стандартные вычеты») правильность настроек:
                                  — Размер вычета соответствует законодательству (например, 1400 руб. на первого и второго ребенка, 3000 руб. на третьего и последующих).
                                  — Виды вычетов активны и не заблокированы.

                                  4. **Неправильный расчет зарплаты или ошибки в документе начисления**
                                  Иногда вычеты не применяются, если в документе «Начисление зарплаты и взносов» не заполнена вкладка НДФЛ или если расчет сделан с ошибками. Проверь:
                                  — Проведен ли документ начисления зарплаты?
                                  — Есть ли в нем примененные вычеты (в столбце «Примененные вычеты»)?
                                  — Нет ли ошибок в расчетах, которые могут блокировать применение вычетов.

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

                                  6. **Проверка ограничений по доходу**
                                  Если у сотрудника доход превышает лимит для применения стандартных вычетов (например, 350 000 руб. в год), вычет не применяется. Проверь, не превышен ли этот лимит.

                                  7. **Проверка даты начала работы и даты заявления**
                                  Если сотрудник принят в середине месяца, а заявление на вычет оформлено с другого месяца, вычет не будет применен в текущем месяце.

                                  **Что делать для исправления:**

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

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

                                  https://helpf.pro/faq/view/1623.html — как оформить двойной вычет и особенности вычетов на детей

                                  https://infostart.ru/1c/articles/291775/ — решение проблем с начислением пособий и вычетов

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

                                  Один.

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