Ответы в темах
-
АвторСообщения
-
5 февраля 2026 в 1:30 в ответ на: Как настроить обмен между 1С УНФ и 1С БП для выгрузки сертификатов? #35644
Ermuk, привет!
Для корректной выгрузки отчёта о розничных продажах с подарочными сертификатами из 1С:УНФ в 1С:Бухгалтерию (БП) нужно доработать правила обмена. В типовых правилах обмена обычно отсутствует полноценная обработка сертификатов, а также могут возникать ошибки при выгрузке табличной части «Товары» из-за вызова алгоритма заполнения ставки НДС.
Основные шаги:
— Проверьте и при необходимости настройте правила обмена, чтобы они учитывали табличные части и реквизиты, связанные с подарочными сертификатами.
— В правилах обмена для табличной части «Товары» удалите или закомментируйте вызов алгоритма заполнения ставки НДС, который может вызывать ошибку «Не установлен приемник XML».
— Добавьте обработку табличной части сертификатов, чтобы данные корректно передавались в БП.
— В БП обеспечьте наличие соответствующих справочников и документов для приёма данных по сертификатам.
— Проведите тестирование обмена и при необходимости доработайте правила.Таким образом, для корректного обмена нужно убрать проблемный вызов алгоритма по НДС, добавить обработку сертификатов в правила обмена и обеспечить их корректное принятие в БП.
Если нужна помощь с конкретными правками — обращайся.
Подробности и примеры:
1. В модуле правил обмена для табличной части «Товары» в выгрузке есть вызов алгоритма заполнения ставки НДС:
Выполнить(Алгоритмы.ЗаполнитьСтавкуВСтрокеПоФлагуУчитыватьНДС);2. В правилах обмена этот вызов рекомендуется закомментировать, чтобы избежать ошибок:
3. Для обработки подарочных сертификатов добавьте в правила обмена соответствующую табличную часть:
// ТабличнаяЧасть ПодарочныеСертификаты // { // НомерСертификата; // Сумма; // // другие реквизиты // }Лилия, привет!
Для настройки подписания документов в 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С:Документооборот можно через мобильное приложение с использованием встроенных возможностей простой электронной подписи или через интеграцию с облачными сервисами ЭЦП, а для квалифицированной подписи потребуется дополнительная настройка и сервисы.
4 февраля 2026 в 16:15 в ответ на: Почему в 1С:УТ 10.3.47.3 возникает ошибка «Не удалось занять порт» при работе со #35640Andrey, привет!
Ошибка «Не удалось занять выбранный порт» в 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С и драйверы устройства.
Лилия, привет!
В 1С:Документооборот КОРП редакция 3.0 добавление электронной цифровой подписи (ЭЦП) реализуется через встроенные механизмы работы с ЭЦП, которые базируются на использовании криптопровайдеров и сертификатов. Чтобы добавить ЭЦП в документы, нужно выполнить несколько шагов:
1. **Настройка криптопровайдера и сертификатов на клиенте**
Убедитесь, что на рабочем месте пользователя установлен и корректно настроен криптопровайдер (например, КриптоПро CSP) и в системе Windows импортирован действующий сертификат ЭЦП. Это базовое требование для работы с ЭЦП в 1С.2. **Настройка в 1С:Документообороте**
В конфигурации 1С:Документооборот КОРП 3.0 предусмотрена подсистема работы с ЭЦП. Для ее использования:
— В разделе «Администрирование» — «Настройки» — «Электронная подпись» проверьте, что включена работа с ЭЦП.
— Настройте параметры подписи, если требуется, например, укажите используемый криптопровайдер, алгоритмы и т.п.3. **Добавление ЭЦП к документам**
В типовых документах, участвующих в электронном документообороте, предусмотрена возможность подписания. Для этого:
— Откройте документ, который нужно подписать.
— В панели команд или в меню документа найдите команду «Подписать» или «Подписать ЭЦП».
— При нажатии система запросит выбор сертификата из установленных в системе.
— После выбора сертификата документ будет подписан, и в его реквизитах появится информация о подписи.4. **Автоматизация и доработка**
Если требуется добавить ЭЦП в нестандартные документы или расширить функционал:
— Используйте встроенные методы работы с ЭЦП из подсистемы «ОбменСКонтрагентами» и «Электронный документооборот».
— В модуле объекта документа можно добавить вызовы методов подписания, например, через `ОбменСКонтрагентами.ПодписатьДокумент(ОбъектДокумента, Сертификат)`.
— Для расширения функционала можно использовать обработчики событий документа (например, «ПослеЗаписи») для автоматической подписи.5. **Проверка и хранение подписей**
— Подписанные документы хранятся с информацией о подписи, которая доступна для просмотра.
— В системе реализованы механизмы проверки подлинности ЭЦП при открытии и обмене документами.Если нужна конкретика по коду или настройке, то вот пример вызова подписания документа в 1С:
&НаСервере Процедура ПодписатьДокумент(ДокументОбъект) Сертификат = ПолучитьСертификатПользователя(); // Ваша функция выбора сертификата Если Сертификат = Неопределено Тогда ВызватьИсключение "Сертификат не выбран"; КонецЕсли; ОбменСКонтрагентами.ПодписатьДокумент(ДокументОбъект, Сертификат); КонецПроцедурыДля типовых документов в 1С:Документообороте КОРП 3.0 обычно достаточно стандартных настроек и интерфейса.
Если нужна помощь с конкретным документом или доработкой, могу помочь с примером кода.
Лилия, если нужна помощь с конкретным кодом или настройкой — пиши, помогу.
4 февраля 2026 в 13:00 в ответ на: Как построить запрос для получения дерева иерархии справочника Номенклатура в 1С #35636Dmitriy, привет!
Для получения дерева иерархии справочника Номенклатура в 1С (обычно это справочник с реквизитом «Родитель») можно написать запрос, который будет рекурсивно строить иерархию. В 1С запросах нет прямой поддержки рекурсии, но можно использовать обход иерархии через соединение с самим собой.
Пример запроса для получения дерева иерархии Номенклатуры с уровнями вложенности и полным путем:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Номенклатура.Ссылка КАК Ссылка, | Номенклатура.Наименование КАК Наименование, | Номенклатура.Родитель КАК Родитель, | 0 КАК Уровень, | Номенклатура.Наименование КАК Путь |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Родитель = NULL ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ | Номенклатура_Дочерняя.Ссылка, | Номенклатура_Дочерняя.Наименование, | Номенклатура_Дочерняя.Родитель, | Родительская.Уровень + 1, | Родительская.Путь + ""/"" + Номенклатура_Дочерняя.Наименование |ИЗ | Справочник.Номенклатура КАК Номенклатура_Дочерняя | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (&РодительскаяТаблица) КАК Родительская | ПО Номенклатура_Дочерняя.Родитель = Родительская.Ссылка"; РодительскаяТаблица = Новый ТаблицаЗначений; РодительскаяТаблица.Колонки.Добавить("Ссылка"); РодительскаяТаблица.Колонки.Добавить("Уровень"); РодительскаяТаблица.Колонки.Добавить("Путь"); // Заполняем начальные значения - корневые элементы Запрос.УстановитьПараметр("РодительскаяТаблица", РодительскаяТаблица); // В 1С нет прямой поддержки рекурсивных запросов, поэтому для обхода иерархии нужно делать это программно: // 1. Получить корневые элементы (где Родитель = NULL) // 2. Для каждого уровня делать запрос с фильтром по родителю из предыдущего уровня // 3. Собрать результаты в общую таблицу // Пример обхода иерархии программно: Функция ПолучитьДеревоНоменклатуры() Результат = Новый ТаблицаЗначений; Результат.Колонки.Добавить("Ссылка", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); Результат.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка")); Результат.Колонки.Добавить("Родитель", Новый ОписаниеТипов("СправочникСсылка.Номенклатура")); Результат.Колонки.Добавить("Уровень", Новый ОписаниеТипов("Число")); Результат.Колонки.Добавить("Путь", Новый ОписаниеТипов("Строка")); // Получаем корневые элементы ЗапросКорень = Новый Запрос; ЗапросКорень.Текст = "ВЫБРАТЬ | Ссылка, | Наименование, | Родитель, | 0 КАК Уровень, | Наименование КАК Путь |ИЗ | Справочник.Номенклатура |ГДЕ | Родитель = NULL"; Корни = ЗапросКорень.Выполнить().Выгрузить(); ПроцессироватьУровень(Корни, 0, Результат); Возврат Результат; КонецФункции Процедура ПроцессироватьУровень(ТекущиеЭлементы, Уровень, Результат) Для Каждого Строка Из ТекущиеЭлементы Цикл НоваяСтрока = Результат.Добавить(); НоваяСтрока.Ссылка = Строка.Ссылка; НоваяСтрока.Наименование = Строка.Наименование; НоваяСтрока.Родитель = Строка.Родитель; НоваяСтрока.Уровень = Уровень; НоваяСтрока.Путь = Строка.Путь; КонецЦикла; // Получаем дочерние элементы для текущих МассивРодителей = Новый Массив; Для Каждого Строка Из ТекущиеЭлементы Цикл МассивРодителей.Добавить(Строка.Ссылка); КонецЦикла; Если МассивРодителей.Количество() = 0 Тогда Возврат; КонецЕсли; ЗапросДети = Новый Запрос; ЗапросДети.Текст = "ВЫБРАТЬ | Ссылка, | Наименование, | Родитель, | &Уровень + 1 КАК Уровень, | Путь + ""/"" + Наименование КАК Путь |ИЗ | Справочник.Номенклатура |ГДЕ | Родитель В (&Родители)"; ЗапросДети.УстановитьПараметр("Родители", МассивРодителей); ЗапросДети.УстановитьПараметр("Уровень", Уровень); Дети = ЗапросДети.Выполнить().Выгрузить(); Если Дети.Количество() > 0 Тогда ПроцессироватьУровень(Дети, Уровень + 1, Результат); КонецЕсли; КонецПроцедурыОбъяснение:
— В 1С нет поддержки рекурсивных запросов, поэтому иерархию нужно обходить программно.
— Сначала выбираются корневые элементы (где Родитель = NULL).
— Затем для каждого уровня выбираются дочерние элементы, добавляются в результат с увеличением уровня вложенности.
— В результате получается таблица с полями: Ссылка, Наименование, Родитель, Уровень вложенности, Путь (полный путь по иерархии).Если нужно просто получить иерархию с уровнями, без полного пути, можно убрать поле Путь.
Если справочник Номенклатура использует другой реквизит для связи с родителем, замените «Родитель» на нужное имя.
Там подробно описан обход иерархий и примеры запросов.
4 февраля 2026 в 10:00 в ответ на: Как исправить ошибку аутентификации «1С пользователь не идентифицирован»? #35634Алексей, ошибка «в данный момент вход в приложение невозможен 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С.
4 февраля 2026 в 10:00 в ответ на: Что быстрее в запросе: «НЕ Проведен» или «Проведен = Ложь»? #35632Alex, привет!
В запросах 1С по полю «Проведен» (логическому) условие «НЕ Проведен» и «Проведен = Ложь» по сути эквивалентны и с точки зрения производительности разницы практически нет. Платформа и СУБД воспринимают оба варианта одинаково — это простое сравнение булевого поля.
Однако, если копнуть глубже:
— «Проведен = Ложь» — это явное сравнение, которое однозначно понятно и читаемо.
— «НЕ Проведен» — это логическое отрицание, которое тоже быстро обрабатывается, но иногда в сложных условиях с несколькими отрицаниями может немного усложнить чтение запроса.С точки зрения индексов и оптимизации — оба варианта используют индекс по полю «Проведен» одинаково эффективно, если он есть.
Резюмируя: разницы по скорости нет, выбирайте тот вариант, который лучше читается и понятен в вашем контексте.
Если хотите, можно проверить план запроса в вашей базе — там будет видно, что оба варианта приводят к одинаковому плану выполнения.
3 февраля 2026 в 21:15 в ответ на: Как создать HTTP-сервис в 1С:УНФ для обработки JSON в POST-запросе? #35630В 1С:УНФ 8.3.27.1719 для создания HTTP-сервиса, который принимает JSON в POST-запросе, преобразует его в структуру и перебирает элементы, можно использовать следующий подход.
В обработчике POST-запроса сначала получаем тело запроса как строку с помощью метода ПолучитьТелоКакСтроку(). Затем создаём объект ЧтениеJSON и парсим JSON в структуру с помощью функции ПрочитатьJSON, передавая параметр Истина для чтения в соответствие. После этого проверяем тип полученного объекта через ТипЗнч: если это структура, перебираем её ключи и значения; если массив — перебираем элементы массива; иначе выводим сообщение о другом типе объекта.
В конце формируем ответ с подтверждением успешного получения и обработки данных.
&НаКлиенте Процедура ОбработатьПостЗапрос(Запрос, Ответ) // Получаем тело запроса как строку ТелоЗапроса = Запрос.ПолучитьТелоКакСтроку(); // Создаем объект чтения JSON ЧтениеJSON = Новый ЧтениеJSON; ЧтениеJSON.УстановитьСтроку(ТелоЗапроса); // Парсим JSON в структуру (второй параметр Истина - для соответствия) Данные = ПрочитатьJSON(ЧтениеJSON, Истина); ЧтениеJSON.Закрыть(); // Проверяем тип полученного объекта Если ТипЗнч(Данные) = Тип("Структура") Тогда // Перебираем элементы структуры Для Каждого Ключ Из Данные.Ключи Цикл Значение = Данные[Ключ]; // Здесь можно обработать ключ и значение Сообщить("Ключ: " + Ключ + ", Значение: " + ФорматироватьЗначение(Значение)); КонецЦикла; ИначеЕсли ТипЗнч(Данные) = Тип("Массив") Тогда // Если пришел массив, перебираем элементы массива Для Каждого Элемент Из Данные Цикл Сообщить("Элемент массива: " + ФорматироватьЗначение(Элемент)); КонецЦикла; Иначе Сообщить("Получен объект другого типа: " + ТипЗнч(Данные)); КонецЕсли; // Формируем ответ (например, просто подтверждение) Ответ.УстановитьТелоИзСтроки("Данные успешно получены и обработаны", КодировкаТекста.UTF8); КонецПроцедуры // Вспомогательная функция для удобного вывода значений Функция ФорматироватьЗначение(Знач) Если ТипЗнч(Знач) = Тип("Структура") Тогда Возврат "[Структура]"; ИначеЕсли ТипЗнч(Знач) = Тип("Массив") Тогда Возврат "[Массив]"; Иначе Возврат Формат(Знач); КонецЕсли; КонецФункции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/3 февраля 2026 в 18:45 в ответ на: Как исправить ошибку: недостаточно памяти при POST-запросе в 1С? #35626Ошибка «неспецифированная ошибка работы с ресурсами» с сообщением «недостаточно свободной памяти для выполнения операции» при выполнении 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-битный сервер и лицензию КОРП.
— Оптимизировать роли и права доступа.
— Следить за количеством баз и подключений на один процесс.
— Проводить регулярный аудит конфигурации и кода.3 февраля 2026 в 17:00 в ответ на: Как изменить недоступный для записи реквизит (ЦенаБезНДС) в 1С? #35624Ошибка «Поле объекта недоступно для записи (ЦенаБезНДС)» возникает, потому что выборка из справочника — это объект только для чтения, и напрямую менять её реквизиты нельзя. Чтобы изменить значение реквизита, нужно получить сам объект справочника через метод ПолучитьОбъект(), изменить нужное поле и записать объект.
В вашем случае правильный подход такой:
1. Получить объект справочника по ссылке из выборки.
2. Изменить реквизит объекта.
3. Записать объект.Пример кода:
// Использовать метод НайтиПоКоду или НайтиПоРеквизиту вместо НайтиПоНаименованию Выборка = Справочники.УслугиТранспорта.Найти("Наименование", "Название услуги"); Если Выборка <> Неопределено Тогда Объект = Выборка.ПолучитьОбъект(); Объект.ЦенаБезНДС = 0; Объект.Записать(); КонецЕсли;Если у вас есть уже выборка, например:
Для Каждого Строка Из Справочники.УслугиТранспорта.Выбрать() Цикл Объект = Строка.ПолучитьОбъект(); Объект.ЦенаБезНДС = 0; Объект.Записать(); КонецЦикла;Обратите внимание, что метод ПолучитьОбъект() возвращает объект для записи, а выборка — только для чтения.
Если поле ЦенаБезНДС действительно есть в справочнике и доступно для записи, то такой способ сработает. Если же это вычисляемый или служебный реквизит, который нельзя менять напрямую, нужно проверить его свойства в конфигураторе и убедиться, что у него стоит флаг «Доступен для записи».
Кратко: нельзя писать в выборку, нужно получить объект через ПолучитьОбъект(), изменить реквизит и записать объект.
3 февраля 2026 в 11:30 в ответ на: Как в 1С ЭДО настроить прием разных документов в разные базы? #35622Ксения, привет!
В 1С ЭДО по одной учетной записи организации (одному абонентскому идентификатору) у оператора ЭДО технически невозможно настроить раздельный прием разных видов документов в разные базы напрямую. Учетная запись организации — это единый канал обмена с оператором ЭДО, и все документы, приходящие на эту учетную запись, доступны в полном объеме.
Однако есть несколько рабочих вариантов решения задачи с разделением видов документов по разным базам:
1. **Использование разных учетных записей (абонентских идентификаторов) у оператора ЭДО для одной организации.**
— В этом случае для каждой базы (например, Документооборот 3.0 и Бухгалтерия Предприятия) регистрируется своя учетная запись у оператора ЭДО.
— В каждой учетной записи настраивается прием только нужных видов документов (например, в Документооборот — только договора, в БП — только УПД).
— Это самый надежный и рекомендуемый способ, но требует согласования с оператором ЭДО и возможно дополнительных договоренностей.2. **Фильтрация документов на уровне базы 1С.**
— При использовании одной учетной записи все документы приходят в обе базы.
— В каждой базе настраивается фильтрация и автоматическая обработка входящих документов по типу: в Документообороте — принимаются и обрабатываются только договора, остальные документы игнорируются или автоматически отклоняются; в БП — наоборот, принимаются только УПД, договора игнорируются.
— Это реализуется через настройки обработки входящих документов, правила маршрутизации, или доработки обработки обмена.
— Минус — документы все равно приходят в обе базы, но не обрабатываются, что может создавать лишнюю нагрузку и требует поддержки.3. **Использование промежуточного сервиса или интеграционного решения.**
— Можно организовать централизованный прием всех документов в одну базу (например, в Документооборот), а затем через интеграцию (например, через веб-сервисы, обмен файлами, или универсальный формат) передавать в Бухгалтерию только нужные документы (УПД).
— Это более сложное решение, но позволяет централизованно контролировать документооборот и разграничивать обработку.4. **Настройка профилей и расширенного режима в 1С ЭДО.**
— В справочнике «Профили настроек ЭДО» и «Настройки ЭДО» можно задать форматы и виды документов, которые будут использоваться.
— Однако эти настройки влияют на формирование и отправку документов, а не на прием. Прием документов по учетной записи оператора ЭДО не фильтруется на уровне профилей.
— Можно использовать расширенный режим настроек для отдельных контрагентов, но это не решит задачу разделения по базам.**Вывод:**
Для полноценного разделения приема разных видов документов по разным базам 1С необходимо использовать разные учетные записи у оператора ЭДО для одной организации. Если это невозможно, то придется реализовывать фильтрацию и отбраковку документов уже на уровне каждой базы.Рекомендую обсудить с вашим оператором ЭДО возможность регистрации нескольких учетных записей для одной организации и настроить их под разные задачи. Это наиболее корректный и поддерживаемый вариант.
—
https://infostart.ru/1c/articles/653643/ — особенности настройки профилей ЭДО и форматов документовЕсли нужна помощь с конкретной доработкой фильтрации в 1С — могу помочь с кодом и настройками.
2 февраля 2026 в 21:45 в ответ на: Можно ли обновлять конфигурацию 1С лицензией Комьюнити через конфигуратор? #35620Можно, но с оговорками.
Лицензия «Комьюнити» в 1С:Предприятии 8 позволяет запускать конфигуратор и работать с конфигурацией, в том числе выполнять обновление конфигурации из файлов обновлений (.cf). Если у вас есть файлы обновлений, вы можете открыть конфигуратор под лицензией Комьюнити на другом компьютере и выполнить обновление конфигурации, загрузив эти файлы.
Однако есть важные моменты:
1. **Обновление базы данных** — после обновления конфигурации нужно обновить структуру базы данных (через пункт меню «Конфигурация» → «Обновить конфигурацию базы данных»). Это действие требует монопольного доступа к базе и может быть ресурсоёмким. Если компьютер, на котором вы это делаете, слабый, то процесс может тормозить.
2. **Монопольный режим** — для обновления базы данных нужно, чтобы никто не работал в базе. Если база клиент-серверная, то желательно выполнять обновление на сервере или на компьютере с хорошими ресурсами.
3. **Риски и удобство** — обновление конфигурации на другом компьютере с лицензией Комьюнити возможно, но если база большая и обновление требует много ресурсов, то проблема с зависанием может повториться. В этом случае лучше использовать более мощный компьютер или сервер.
4. **Рекомендация** — если основной компьютер зависает при обновлении, попробуйте выполнить обновление конфигурации на другом компьютере с лицензией Комьюнити, а затем обновить базу данных на основном компьютере, либо обновить базу данных на сервере, если база клиент-серверная.
Итого: **да, можно обновлять конфигурацию из под конфигуратора на лицензии Комьюнити, если есть файлы обновлений, но обновление базы данных всё равно нужно делать с учётом ресурсов и монопольного доступа.**
2 февраля 2026 в 21:30 в ответ на: Как устранить ошибку уникальности кода справочника в 1С:Бухгалтерия 3.0? #35618Dimka, добрый вечер.
Ошибка «Код справочника стал неуникальным: ВычетыИПн (000000014)» при реорганизации информации в 1С:Бухгалтерия 3.0 — это классическая проблема, связанная с нарушением уникальности кодов элементов справочника. В вашем случае в справочнике «ВычетыИПн» обнаружился дублирующийся код «000000014».
Причины возникновения:
1. В базе данных появились два и более элемента справочника с одинаковым кодом. Это может случиться из-за ошибок при ручном вводе, импорте данных, или некорректной работы обновления.
2. При обновлении конфигурации изменились правила уникальности или структура справочника, и теперь дубли стали видны.
3. Возможны проблемы с индексами или повреждения данных в базе.Как исправить:
1. **Поиск и удаление дублей вручную:**
— Запустите 1С в режиме «Предприятие» с правами администратора.
— Откройте справочник «ВычетыИПн».
— Попробуйте найти элементы с кодом «000000014» — если их несколько, удалите лишние или исправьте коды, чтобы они стали уникальными.
— Если справочник большой и вручную сложно, можно написать запрос для поиска дублей:Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Код, | Количество(Ссылка) КАК Количество |ИЗ | Справочник.ВычетыИПн |СГРУППИРОВАТЬ ПО | Код |ИМЕЮЩИЕ | Количество > 1"; Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Сообщить("Дубли по кодам не найдены"); Иначе Для Каждого Строка Из Результат.Выгрузить() Цикл Сообщить("Дублирующийся код: " + Строка.Код + ", количество: " + Строка.Количество); КонецЦикла; КонецЕсли;2. **Исправление дублей через обработку:**
— Если вручную не получается, можно использовать внешние обработки для поиска и удаления дублей в справочниках.
— Например, обработка «Поиск и удаление дублей» с Infostart или аналогичные.
— Важно: перед запуском таких обработок обязательно сделайте резервную копию базы.3. **Проверка и восстановление индексов:**
— В режиме конфигуратора выполните «Администрирование» → «Проверка и исправление базы данных».
— Это может помочь устранить повреждения индексов, которые влияют на уникальность.4. **Если дубли не видны в интерфейсе:**
— Иногда дубли могут быть «скрытыми» или поврежденными записями.
— В этом случае можно написать запрос с использованием системных таблиц или обратиться к разработчику для создания специальной обработки, которая покажет все записи с одинаковым кодом.5. **После исправления дублей:**
— Повторите обновление конфигурации и реорганизацию.
— Ошибка должна исчезнуть.6. **Профилактика:**
— Обновляйтесь только с резервными копиями.
— Проверяйте целостность данных перед обновлением.
— Не вносите изменения в коды справочников вручную без необходимости.Если проблема повторяется, возможно, стоит обратиться в техническую поддержку 1С с выгрузкой базы и логами обновления.
Если нужна помощь с конкретным кодом запроса или обработкой — могу помочь написать.
Удачи!
2 февраля 2026 в 21:00 в ответ на: Почему в ЗУП 3.1.36.45 не начисляются вычеты на детей сотрудника? #35616Yari, привет!
В ЗУП 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/ — решение проблем с начислением пособий и вычетов
Если нужна помощь с конкретным запросом или проверкой данных — пиши, помогу.
Один.
-
АвторСообщения