Ответы в темах
-
АвторСообщения
-
15 декабря 2025 в 18:00 в ответ на: Как устранить ошибку «Недопустимое состояние объекта» в ДО 3? #34950
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/
15 декабря 2025 в 15:45 в ответ на: Какая роль позволяет редактировать галку «Проверено бухгалтерией» в 1С:ERP? #34948S, в 1С:ERP редактирование признака «Проверено бухгалтерией» обычно связано с правами на работу с документами бухгалтерии и контролем их проверки. В типовой конфигурации этот флаг доступен для редактирования пользователям с ролью, которая включает права на проведение и редактирование бухгалтерских документов, чаще всего это роли типа:
— **»Бухгалтер»** (или аналогичная роль с правами на работу с бухгалтерскими документами);
— **»Главный бухгалтер»** — имеет расширенные права, включая подтверждение документов;
— либо специализированная роль, в которой явно разрешено редактирование реквизитов бухгалтерского контроля.Если в вашей базе роль не стандартная, то для точного определения можно проверить права на объект или реквизит «Проверено бухгалтерией» через конфигуратор:
1. Откройте конфигуратор.
2. Найдите объект (документ или справочник), где находится этот реквизит.
3. Проверьте права доступа к этому реквизиту в ролях.
4. Убедитесь, что роль пользователя содержит право на изменение этого реквизита.Если нужно запретить или разрешить редактирование, можно настроить права в ролях или через механизм RLS (ограничение доступа на уровне записей).
Рекомендую посмотреть здесь: https://infostart.ru/ (поиск по ключевым словам «проверено бухгалтерией роль ERP» даст полезные статьи и обсуждения).
Если нужна конкретика по вашей версии конфигурации — уточните, я помогу с примером кода или настройкой.
15 декабря 2025 в 15:45 в ответ на: Как в «Комплексной автоматизации» исправить макет для названия организации в «Ав #34946Shevi, чтобы исправить проблему с тем, что в печатной форме документа «Авансовый отчет» в Комплексной автоматизации не помещается полное название организации, можно сделать следующее:
1. **Изменить макет печатной формы**
Откройте конфигуратор, найдите макет печатной формы «Авансовый отчет». В макете найдите область, где выводится поле «Наименование организации». Обычно это текстовое поле с ограниченной шириной.2. **Увеличить ширину поля**
Увеличьте ширину текстового поля, чтобы в него помещалось больше символов. Если макет построен на табличном документе, расширьте соответствующую ячейку.3. **Использовать перенос текста**
Если название организации очень длинное, можно включить перенос текста в ячейке макета, чтобы название отображалось на нескольких строках.4. **Проверить шрифт и размер**
Уменьшите размер шрифта или выберите более компактный шрифт, чтобы название помещалось в отведённое пространство.5. **Использовать сокращённое наименование**
Если технически увеличить поле невозможно, можно в справочнике «Организации» заполнить поле «Краткое наименование» и в печатной форме выводить именно его.6. **Обновить макет после изменений**
После внесения изменений сохраните макет и обновите его в регистре «МакетыКомпоновкиДанных» (если используется СКД), удалив старую запись, чтобы изменения применились.Таким образом, вы сможете обеспечить корректное отображение полного или сокращённого наименования организации в печатной форме «Авансового отчёта».
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/2145730/
5 декабря 2025 в 15:15 в ответ на: Как исправить ошибку «Значение не является значением объектного типа» в 1С? #34490Dmitry, ошибка
{ОбщийМодуль.СерверныеОповещенияКлиент.Модуль(335)}: Значение не является значением объектного типа (Свойство)означает, что в строке 335 модуля общего модуля «СерверныеОповещенияКлиент» происходит попытка обращения к свойству у переменной, которая не является объектом. Проще говоря, код пытается получить доступ к полю или методу через точку у значения, которое не является ссылкой на объект (например, это может быть `Неопределено`, `Null`, строка, число или другой примитивный тип).
Чаще всего такая ошибка возникает в следующих случаях:
1. **Переменная не инициализирована** — переменная, у которой пытаются получить свойство, не была присвоена или содержит `Неопределено`.
2. **Неверный тип данных** — вместо объекта передается примитив (строка, число и т.п.).
3. **Ошибка логики** — ожидалось, что функция или процедура вернет объект, а вернула другое значение.
4. **Передача параметров** — в вызове процедуры или функции передан не тот тип данных.Для устранения ошибки:
— Проверьте в модуле строку 335, какая переменная используется с обращением к свойству.
— Добавьте проверку типа перед обращением, например:Если ТипЗнч(Переменная) = Тип("Объект") Тогда // работа с объектом Иначе // обработка ошибки или инициализация КонецЕсли;— Используйте отладчик, чтобы посмотреть значение переменной в момент ошибки.
— Проверьте, откуда вызывается процедура/функция, и какие параметры передаются.Если ошибка возникает при передаче данных между клиентом и сервером, возможно, на сервере возвращается не объект, а примитив, и клиент пытается обратиться к его свойствам.
Рекомендую посмотреть здесь: https://infostart.ru/public/1985287/ — там подробно описаны типичные ошибки с типами данных и их проверкой.
Если нужно, могу помочь с примером кода для проверки и исправления.
—
Рекомендую посмотреть здесь: https://infostart.ru/public/1985287/
5 декабря 2025 в 12:45 в ответ на: Как выгрузить справочник с реквизитами в JSON используя 1С? #34488Николай, для выгрузки справочника со всеми свойствами в 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С.
Если нужна помощь с конкретным кодом или форматом — обращайтесь!
5 декабря 2025 в 12:45 в ответ на: Как ограничить доступ к физ. hasp-ключам и использовать сервер лицензирования 1С #34486Лилия, чтобы ограничить доступ определенных клиентов 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/В версии 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Если нужны конкретные исправления или баги по вашей конфигурации — могу помочь с анализом.
4 декабря 2025 в 15:30 в ответ на: Как оптимизировать память SQL и 1С с 32 Гб ОЗУ для 10 пользователей? #34476Если на сервере 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/4 декабря 2025 в 10:45 в ответ на: Как настроить локальную работу с Git для EDT и GitКонвертера без облака? #34474Для организации локальной работы с 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/4 декабря 2025 в 8:45 в ответ на: Как устранить ошибку «Неверный реквизит платежного документа, строка 55»? #34472Миша, привет!
Ошибка «Неверный реквизит платежного документа, строка 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/
В конфигураторе 1С:Предприятие 8 (Управление торговлей 11) удаление печатной формы происходит через редактирование макетов печатных форм. Печатные формы в УТ 11 обычно хранятся как макеты, связанные с объектами (документами, справочниками и т.д.).
Чтобы удалить печатную форму, выполните следующие шаги:
1. Откройте конфигуратор и загрузите конфигурацию.
2. Перейдите в раздел «Общие» → «Макеты» (или «Макеты печатных форм» в зависимости от версии).
3. В списке макетов найдите нужный макет печатной формы, который хотите удалить. Макеты обычно сгруппированы по объектам (например, по документам).
4. Выделите нужный макет.
5. Нажмите кнопку «Удалить» (или клавишу Del).
6. Сохраните изменения конфигурации.
7. Выполните обновление конфигурации в базе (если требуется).
Если печатная форма встроена непосредственно в объект (например, в модуле объекта или в форме), то удаление может потребовать удаления соответствующего кода или ссылки на макет.
Также в УТ 11 печатные формы могут быть связаны с обработками или отчетами — в этом случае удаляйте соответствующий объект в конфигураторе.
Если печатная форма добавлена как пользовательский макет (через «Администрирование» → «Печатные формы, отчеты и обработки» → «Макеты печатных форм»), то удаление пользовательского макета можно выполнить из этого же раздела.
—
Если нужно просто убрать префиксы или изменить печатную форму, то это делается через редактирование макета, но для полного удаления — именно удаление макета.
Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/1514.html
https://helpf.pro/faq/view/1515.htmlВ «1С:Бухгалтерия предприятия 3.0» добавление дополнительных реквизитов в стандартные документы, такие как «Счет», рекомендуется делать через механизм **Дополнительных сведений и реквизитов**, который позволяет расширять объекты конфигурации без модификации типовой конфигурации.
### Как добавить дополнительные реквизиты в документ «Счет» (пошагово):
1. **Включение работы с дополнительными сведениями и реквизитами**
В режиме «1С:Предприятие» с правами администратора зайдите в раздел:
`Администрирование` → `Общие настройки` → группа `Дополнительные реквизиты и сведения` → поставьте флаг «Использовать дополнительные реквизиты и сведения».2. **Создание дополнительного сведения для документа «Счет»**
— В разделе `Администрирование` найдите пункт `Дополнительные сведения`.
— В списке объектов найдите документ «Счет» (или «Счет на оплату» — в зависимости от версии и локализации).
— Нажмите кнопку «Добавить» → «Новое».
— В открывшейся форме задайте:
— Наименование дополнительного реквизита (например, «Комментарий к счету», «Ответственный менеджер» и т.п.).
— Тип значения (например, строка, число, справочник и т.д.).
— Имя для разработчиков (будет использоваться в отчетах и обработках).
— Сохраните изменения.3. **Заполнение дополнительных реквизитов в документе**
— Откройте журнал документов «Счет».
— Выделите нужный документ и нажмите кнопку «Дополнительные сведения» (обычно появляется после включения механизма).
— В появившейся форме заполните значения новых реквизитов.
— Сохраните.4. **Отображение дополнительных реквизитов в формах и отчетах**
— Для удобства можно добавить колонку с дополнительным реквизитом в форму списка документов «Счет»:
— В журнале документов нажмите «Еще» → «Изменить форму».
— Добавьте поле с именем вашего дополнительного реквизита.
— В отчетах и обработках можно обращаться к дополнительным сведениям через их имена.—
### Важные моменты:
— **Не нужно модифицировать конфигурацию** — все делается через стандартный механизм дополнительных сведений, что упрощает обновление конфигурации в будущем.
— **Дополнительные сведения хранятся отдельно** от основного документа, но связаны с ним по ссылке.
— Если требуется добавить реквизит в табличную часть документа, стандартный механизм дополнительных сведений не подойдет — там нужна доработка конфигурации.—
### Пример создания дополнительного реквизита «Комментарий» для документа «Счет»:
// В режиме конфигуратора или через интерфейс предприятия создаете дополнительное сведение с именем "Комментарий" типа "Строка" для объекта "Документ.Счет".
После этого в интерфейсе документа появится возможность заполнить этот реквизит через кнопку «Дополнительные сведения».
—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1753879/ — подробная статья по работе с дополнительными сведениями в типовых конфигурациях 1С, включая «Бухгалтерию предприятия 3.0».Владимир, чтобы добавить дополнительные реквизиты в документ «Счет» через Бизнес-процесс (БП) в 1С, можно использовать стандартный механизм дополнительных реквизитов (БСП) и расширения. Вот подробный алгоритм и пример реализации:
1. **Создание дополнительных реквизитов через механизм БСП:**
— В конфигураторе откройте объект «Счет» (обычно это документ или справочник).
— В разделе «Дополнительные реквизиты» добавьте нужные реквизиты (например, «КомментарийКСчету», «ОтветственныйМенеджер» и т.п.).
— Эти реквизиты не требуют изменения структуры базы, так как хранятся в отдельной таблице БСП.2. **Отображение дополнительных реквизитов на форме счета:**
— В расширении или в модуле формы документа «Счет» используйте стандартный механизм заполнения допреквизитов на форме.
— Для автоматического добавления допреквизитов на форму можно использовать процедуру из БСП:УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме(ЭтотОбъект);
— Если нужно программно управлять расположением и значениями допреквизитов, используйте функции из вашего примера (ПолучитьПолеДополнительногоРеквизитаНаФорме, УстановитьЗначениеДополнительногоРеквизитаНаФорме и т.п.).
3. **Заполнение дополнительных реквизитов в Бизнес-процессе:**
— В настройках бизнес-процесса, в шаге, где создается или редактируется документ «Счет», добавьте обработчик (например, на сервере), который заполнит значения дополнительных реквизитов.
Пример кода для заполнения допреквизита в объекте документа:
Процедура ЗаполнитьДопРеквизиты(ОбъектСчета) // Пример: установить значение допреквизита "КомментарийКСчету" Если ОбъектСчета.Свойство("КомментарийКСчету") Тогда ОбъектСчета.КомментарийКСчету = "Автоматически заполнено из БП"; КонецЕсли; КонецПроцедуры— Вызовите эту процедуру в нужном месте бизнес-процесса, например, после создания документа.
4. **Проверка и валидация допреквизитов:**
— Для проверки корректности заполнения допреквизитов используйте обработчики событий формы или объекта, например, событие «ПередЗаписью».
— Если значение некорректно, вызовите `Отказ = Истина` и выведите сообщение пользователю:Процедура ПередЗаписью(Отказ) Если ЗначениеДопРеквизитаНекорректно(ЭтотОбъект.КомментарийКСчету) Тогда Сообщить("Значение дополнительного реквизита 'КомментарийКСчету' некорректно."); Отказ = Истина; КонецЕсли; КонецПроцедуры5. **Обновление данных на форме после записи:**
— После записи объекта можно программно обновить форму, используя методы формы, например:
ЭтаФорма.Обновить();
— Или установить значение допреквизита на форме через функцию из вашего примера:
УстановитьЗначениеДополнительногоРеквизитаНаФорме(ЭтаФорма, "КомментарийКСчету", "Новое значение");
6. **Расположение допреквизитов на форме:**
— Для управления расположением используйте процедуру перемещения элементов формы:
ПереместитьДополнительныйРеквизит(ЭтаФорма, "КомментарийКСчету", "ГруппаДополнительныеРеквизиты");
— Если группы нет, создайте её программно или добавьте реквизиты в существующую.
—
**Итог:**
— Добавляете допреквизиты через БСП в конфигурации.
— Используете стандартные процедуры БСП для отображения и управления допреквизитами на форме.
— В бизнес-процессе программно заполняете и проверяете допреквизиты.
— Управляете расположением и обновлением данных на форме через расширения и программный код.—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/867282/
https://infostart.ru/1c/articles/540656/Если нужно, могу помочь с конкретным кодом для вашего бизнес-процесса.
3 декабря 2025 в 18:15 в ответ на: Как настроить мониторинг работы 1С:Предприятие с помощью Zabbix? #34464Alexander, для мониторинга 1С:Предприятия и 1С:ERP с помощью Zabbix существует несколько проверенных подходов и готовых шаблонов, которые позволяют отслеживать состояние серверов, лицензий, рабочих процессов, технологического журнала и ключевых бизнес-показателей.
### Основные возможности мониторинга 1С через Zabbix:
— Мониторинг состояния серверов 1С (рабочих процессов, менеджера кластера, агента сервера)
— Мониторинг сервера лицензирования (использование лицензий, количество активных сеансов)
— Анализ технологического журнала 1С (управляемые блокировки, ошибки, длительные вызовы)
— Мониторинг бизнес-метрик из 1С (через HTTP-сервис и JSON-обмен с Zabbix)
— Сбор системных метрик ОС и СУБД, на которых работает 1С—
## Готовые шаблоны и проекты
### 1. Шаблон для мониторинга 1С на базе Zabbix с использованием сервера RAS и технологического журнала
Проект с открытым исходным кодом, который позволяет мониторить 1С на Linux и Windows, используя данные из сервера RAS и технологического журнала.
— GitHub: https://github.com/slothfk/1c_zabbix_template_ce
— Особенности:
— Модульный подход (мониторинг лицензий, рабочих процессов, блокировок)
— Минимум сторонних зависимостей (используются стандартные средства 1С)
— Автоматический сбор и анализ технологического журнала с триггерами в Zabbix
— Инструкция по установке и настройке есть в репозитории и в статье:
https://infostart.ru/1c/articles/1529299/### 2. Интеграция 1С и Zabbix для мониторинга бизнес-показателей (через HTTP-сервис)
Позволяет строить дашборды с ключевыми метриками бизнеса из 1С (например, количество заказов, время обработки и т.п.)
— Статья с подробным описанием:
https://infostart.ru/1c/articles/1386928/
— Основные шаги:
— В 1С создается HTTP-сервис, который по запросу Zabbix возвращает JSON с метриками
— В Zabbix создаются элементы данных, которые парсят JSON и строят графики и триггеры
— Используются макросы для параметризации запросов по торговым точкам, складам и т.п.### 3. Мониторинг технологического журнала 1С с помощью Zabbix
Позволяет отслеживать управляемые блокировки, ошибки, длительные вызовы и другие события из технологического журнала 1С.
— Статья с примером настройки:
https://infostart.ru/1c/articles/1120500/
— Ключевые моменты:
— Настройка технологического журнала с выделением нужных событий в отдельные файлы
— Скрипты для разбора журналов и передачи данных в Zabbix через UserParameter
— Импорт шаблона 1c_work_server.xml в Zabbix
— Настройка триггеров и оповещений по проблемным ситуациям—
## Краткая инструкция по настройке мониторинга 1С с Zabbix (на примере шаблона из GitHub)
1. **Установка Zabbix и Zabbix Agent** на серверах, где работает 1С (Windows или Linux).
2. **Размещение скриптов мониторинга** (например, из проекта slothfk) на сервере 1С, обычно в `/etc/zabbix/scripts/` (Linux) или аналогично на Windows.
3. **Настройка UserParameter в конфигурации агента Zabbix** для вызова скриптов, которые собирают метрики из сервера RAS и технологического журнала.
4. **Настройка технологического журнала 1С** (файл `logcfg.xml`) для записи нужных событий в отдельные каталоги, доступные для чтения пользователю zabbix.
5. **Перезапуск агента Zabbix** после внесения изменений.
6. **Импорт шаблонов в Zabbix** (например, `1c_work_server.xml`), которые содержат элементы данных, триггеры и графики.
7. **Привязка шаблонов к хостам** с 1С в Zabbix.
8. **Настройка прав доступа и макросов** (например, путь к журналам, пороги триггеров).
9. **Мониторинг и анализ данных** через веб-интерфейс Zabbix.
—
## Рекомендую посмотреть здесь:
— https://github.com/slothfk/1c_zabbix_template_ce
— https://infostart.ru/1c/articles/1529299/
— https://infostart.ru/1c/articles/1386928/
— https://infostart.ru/1c/articles/1120500/—
Если нужна помощь с конкретным этапом настройки или примером кода для UserParameter — могу помочь написать.
3 декабря 2025 в 18:15 в ответ на: Как удалить или отключить печатную форму в 1С:Управление торговлей 8? #34462Роман, в 1С:Предприятие 8 Управление торговлей (УТ) удалить печатную форму напрямую из конфигурации нельзя, так как печатные формы — это объекты конфигурации. Но можно сделать следующее:
1. **Удаление пользовательского макета печатной формы**
Если у вас есть пользовательский макет печатной формы (то есть изменённый макет), его можно удалить через интерфейс:
— Перейдите в раздел **Администрирование → Печатные формы, отчеты и обработки → Макеты печатных форм**.
— Найдите нужную печатную форму.
— Если у неё есть пользовательский макет (отмечен галочкой «Есть пользовательский макет»), выделите его и нажмите кнопку **Удалить** или используйте контекстное меню.
Это удалит только пользовательский макет, а не саму печатную форму.2. **Отключение печатной формы**
Если нужно, чтобы печатная форма не использовалась, можно:
— В коде или настройках убрать вызов этой формы.
— Или переименовать/переместить макет так, чтобы он не отображался в списке.3. **Удаление печатной формы из конфигурации (разработка)**
Если вы работаете в режиме конфигуратора и хотите полностью удалить печатную форму:
— Откройте конфигуратор.
— Найдите объект, к которому привязана печатная форма (например, документ).
— В свойствах объекта найдите раздел «Печатные формы».
— Удалите нужную печатную форму из списка.
— Перекомпилируйте и обновите конфигурацию в базе.Обратите внимание, что удаление печатной формы из конфигурации требует прав разработчика и доступа к конфигуратору.
Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/1514.html (редактирование макетов печатных форм в УТ 11, там же описаны действия с макетами и печатными формами).
Если нужна помощь с конкретным вариантом — уточните, в каком режиме вы работаете (пользователь, администратор, разработчик).
-
АвторСообщения