Ответы в темах
-
АвторСообщения
-
В 1С:Предприятие 8.2 в макете (например, в макете печатной формы) размеры полей страницы (верхнее, нижнее, левое, правое) задаются в свойствах макета, а именно в настройках страницы.
Чтобы задать поля в макете:
1. Откройте макет в Конструкторе макетов (редактор макетов).
2. В меню выберите «Файл» → «Свойства страницы» (или нажмите Ctrl+Shift+P).
3. В открывшемся окне «Свойства страницы» вы увидите поля для задания размеров полей страницы:
— Верхнее поле (Top margin)
— Нижнее поле (Bottom margin)
— Левое поле (Left margin)
— Правое поле (Right margin)
4. Введите нужные значения в миллиметрах (обычно).
5. Нажмите «ОК» для сохранения.Если вы формируете макет программно, то поля можно задать через объект Макет, но чаще это делается именно в дизайнере макетов.
Пример:
В дизайнере макетов установите поля:
Верхнее = 20 мм
Нижнее = 15 мм
Левое = 10 мм
Правое = 10 ммЭто задаст отступы содержимого макета от краев листа при печати.
Если макет используется в отчёте или обработке, то при выводе на печать поля страницы учитываются именно эти настройки.
13 марта 2026 в 8:15 в ответ на: Что случится, если в серверной базе 200 пользователей в толстом клиенте? #36128Если в серверной базе 1С одновременно работают 200 пользователей в толстом клиенте, то возникнут следующие проблемы и последствия:
1. **Высокая нагрузка на сервер приложений**
Толстый клиент выполняет значительную часть обработки на стороне клиента, но при этом активно взаимодействует с сервером приложений 1С. При 200 пользователях сервер приложений будет испытывать большую нагрузку по обработке запросов, управлению сеансами и синхронизации данных.2. **Большое потребление ресурсов сервера**
Каждый пользователь в толстом клиенте создает отдельный сеанс на сервере 1С, который потребляет оперативную память и процессорное время. При 200 сеансах нагрузка на оперативную память и CPU будет очень высокой, что может привести к замедлению работы сервера и даже к его зависаниям.3. **Увеличение сетевого трафика**
Толстый клиент передает между клиентом и сервером значительные объемы данных, особенно при работе с большими справочниками, отчетами и документами. При 200 пользователях нагрузка на сеть возрастет, что может привести к задержкам и снижению отзывчивости системы.4. **Потенциальные проблемы с блокировками и конкуренцией за ресурсы**
При большом числе пользователей увеличивается вероятность конфликтов при одновременном доступе к одним и тем же данным, что может вызвать блокировки и задержки в работе.5. **Замедление отклика интерфейса и операций**
Из-за высокой нагрузки на сервер и сеть пользователи могут столкнуться с долгим открытием форм, отчетов, задержками при проведении документов и другими тормозами.6. **Риск отказа сервера при недостаточной мощности**
Если сервер не имеет достаточного количества оперативной памяти, процессорных ядер и быстрого дискового массива, он может «упасть» или начать работать нестабильно под такой нагрузкой.7. **Необходимость масштабирования и оптимизации**
Для комфортной работы 200 пользователей в толстом клиенте потребуется мощное серверное оборудование, грамотная настройка сервера 1С и СУБД, оптимизация конфигурации и, возможно, использование балансировщиков нагрузки и кластеризации.В итоге, при 200 пользователях в толстом клиенте на серверной базе без должной оптимизации и мощного оборудования система будет работать медленно, с частыми задержками и риском сбоев. Для таких нагрузок обычно рекомендуют использовать терминальный режим или тонкий клиент, а также тщательно оптимизировать серверную инфраструктуру.
13 марта 2026 в 7:45 в ответ на: Будет ли 1С ERP 2.0 работать оптимально с платформой 8.3 и режимом совместимости #36126Если у вас последняя версия платформы 1С (например, 8.3.хххх), а конфигурация ERP 2.0 работает в режиме совместимости 8.2, при этом включён режим «Такси» (асинхронная обработка), то:
1. Режим совместимости 8.2 означает, что конфигурация работает с ограничениями и особенностями старой платформы 8.2, несмотря на то, что сама платформа новее. Это сделано для сохранения совместимости и стабильности работы конфигурации без необходимости полного переписывания кода под новые возможности платформы 8.3.
2. Включение режима «Такси» (асинхронной обработки) — это современный механизм, который позволяет разгрузить сервер приложений, повысить параллелизм и улучшить производительность при проведении документов и других ресурсоёмких операциях.
3. Однако, поскольку режим совместимости 8.2 накладывает ограничения на использование новых возможностей платформы, часть оптимизаций и улучшений производительности, доступных в новых версиях платформы, может не работать или работать не полностью.
4. В итоге, такая система будет работать стабильно и достаточно быстро, особенно если правильно настроены сервер, СУБД и инфраструктура, а также если используется режим «Такси» для разгрузки. Но максимальной оптимальности и использования всех новых возможностей платформы 8.3 вы не получите, пока не обновите режим совместимости конфигурации до 8.3 и не адаптируете конфигурацию под новую платформу.
Вывод: Да, система будет работать оптимально в рамках возможностей режима совместимости 8.2 и с включённым режимом «Такси», но для максимальной производительности и использования всех современных функций платформы рекомендуется обновить режим совместимости конфигурации до актуального (8.3) и провести соответствующую адаптацию конфигурации.
13 марта 2026 в 7:45 в ответ на: Почему 1С работает медленнее при удалённой работе с другого сервера? #36124Причин замедления работы 1С при удалённом подключении с другого сервера 1С несколько, и они связаны с особенностями сетевой инфраструктуры, архитектуры 1С и настройками окружения. Вот основные причины и пояснения:
1. **Сетевые задержки и пропускная способность**
При удалённом подключении данные между клиентом и сервером 1С передаются по сети. Если канал медленный, с высокой задержкой или нестабильный, это сильно влияет на скорость работы. Особенно это заметно при работе с файловыми базами или при большом объёме данных, которые передаются по сети.2. **Печать и маппинг локальных устройств**
При работе через RDP или терминал 1С пытается определить локальные принтеры пользователя. Если принтеры замаплены, а доступ к ним медленный или отсутствует, 1С долго пытается их обнаружить, что замедляет запуск и работу. Отключение маппинга принтеров часто решает проблему.3. **Нагрузка на сервер 1С и количество рабочих процессов**
Если на сервере 1С недостаточно рабочих процессов (процессов сервера приложений), при большом числе пользователей или сессий возникает очередь, что замедляет обработку запросов. Добавление рабочих процессов улучшает ситуацию.4. **Расположение серверов и компонентов**
Если сервер 1С, сервер лицензирования, терминальный сервер и база данных расположены на разных физических машинах или в разных сетевых сегментах с плохой связью, это увеличивает время отклика.5. **Нагрузка на терминальный сервер**
Если терминальная ферма перегружена (много пользователей на одном узле), процессору сложно эффективно переключаться между сессиями, что снижает производительность.6. **Профили пользователей и дисковая подсистема**
Клиент 1С хранит временные данные в профиле пользователя. Если профиль расположен на медленном диске или сетевом хранилище, это замедляет работу.7. **Антивирус и другое ПО на клиенте и сервере**
Антивирусы, фаерволы и другое ПО могут сканировать файлы и сетевой трафик, что добавляет задержки.8. **Версия платформы и конфигурации**
Старые версии 1С или плохо оптимизированные конфигурации могут работать медленнее, особенно при удалённом доступе.**Рекомендации для устранения замедления:**
— Отключить маппинг локальных принтеров при работе через RDP, если печать не нужна.
— Увеличить количество рабочих процессов сервера 1С.
— Разместить сервер 1С, сервер лицензирования и базу данных в одном сетевом сегменте с высокой пропускной способностью.
— Использовать терминальные фермы с оптимальным количеством пользователей (не более 50 на узел).
— Хранить профили пользователей на быстрых локальных дисках.
— Проверить и оптимизировать настройки антивируса и сетевого оборудования.
— При возможности использовать клиент-серверный режим вместо файлового.
— Обновить платформу 1С и конфигурацию до последних версий с оптимизациями.Если кратко, основная причина — сетевые задержки и особенности работы 1С с локальными устройствами (принтерами), а также недостаточная оптимизация серверной части и инфраструктуры.
13 марта 2026 в 7:30 в ответ на: Почему 1С запускается в толстом клиенте при авто выборе и включённом Такси? #36122Автоматический выбор клиента в 1С при режиме «выбирать автоматически» работает по определённым правилам, учитывая настройки совместимости и доступность клиентов.
Если включена совместимость с версией 8.2 и разрешён режим Такси (тонкий клиент), но при этом автоматически запускается толстый клиент, то причина в следующем:
1. Совместимость с 8.2 заставляет систему использовать режим запуска, совместимый с 8.2, а в этой версии тонкий клиент (Такси) был менее развит и часто не поддерживал все функции. Поэтому по умолчанию система выбирает толстый клиент, чтобы обеспечить максимальную совместимость и корректную работу.
2. Механизм автоматического выбора клиента учитывает настройки конфигурации и пользователя, а также доступность и стабильность клиентов. Если тонкий клиент (Такси) не полностью поддерживает текущую конфигурацию или есть ограничения, система отдаст предпочтение толстому клиенту.
3. При включённой совместимости с 8.2 и разрешённом Такси, но без явного указания запуска тонкого клиента через ключи запуска (/RunModeThinClient или /RunModeManagedApplication), система по умолчанию запускает толстый клиент.
4. Также с версии 8.2.15 введён ключ /AppAutoCheckMode, который может влиять на выбор клиента. Если он не указан, то при совместимости с 8.2 и разрешённом Такси запускается толстый клиент.
Итого: при совместимости с 8.2 и разрешённом Такси автоматический режим запуска выбирает толстый клиент, чтобы обеспечить корректную работу и совместимость, так как тонкий клиент в режиме 8.2 ограничен.
12 марта 2026 в 18:45 в ответ на: Почему после смены сервера 1С:Бухгалтерии 3.0 не ведется история изменений? #36120Yersain, добрый день.
Отсутствие истории изменений в 1С:Бухгалтерия 3.0 после смены сервера — типичная проблема, связанная с настройками и состоянием кластера серверов 1С и базы данных. Вот что нужно проверить и сделать:
1. **Проверьте настройки кластера серверов 1С:Предприятия**
При смене сервера часто меняется имя компьютера, IP или пути к каталогам. В результате настройки кластера, которые хранятся в папке srvinfo (обычно вC:Program Files1C1cv8srvinfo), могут содержать старые данные.
Нужно:
— Остановить службу «Агент сервера 1С:Предприятие».
— Очистить содержимое папки srvinfo (удалить все файлы).
— Перезапустить службу агента.
— Через «Администрирование серверов 1С» заново создать кластер и добавить информационные базы.
Это позволит серверу 1С корректно работать с базой и вести регистрацию изменений.2. **Проверьте права и настройки журнала регистрации изменений**
В конфигурации 1С (через конфигуратор) проверьте, что включена регистрация изменений (история изменений). Иногда при переносе базы или смене сервера настройки могут сброситься.
Также проверьте, что у пользователя, под которым работает сервер 1С, есть права на запись в каталог, где хранятся файлы истории изменений.3. **Проверьте состояние базы данных и логи SQL Server**
Если база на MS SQL, убедитесь, что нет проблем с журналом транзакций (переполнение лога может блокировать операции записи). Если есть подозрения, выполните очистку лога транзакций:MySQL1234USE [ИмяБазы]ALTER DATABASE [ИмяБазы] SET RECOVERY SIMPLEDBCC SHRINKFILE ([ИмяЛогическогоФайлаЛога], 50)ALTER DATABASE [ИмяБазы] SET RECOVERY FULLПосле этого перезапустите сервер 1С и попробуйте снова.
4. **Проверьте версию платформы 1С и обновления**
Иногда после смены сервера платформа 1С может быть другой версии или не обновлена. Обновите платформу 1С до рекомендованной версии для вашей конфигурации. Это важно для корректной работы механизма истории изменений.5. **Проверьте таблицы регистрации изменений в базе**
В SQL Server можно проверить таблицы_ConfigChngRи_ConfigChngR_ExtProps. Если они повреждены или переполнены, можно очистить их (сделать бэкап перед этим!):MySQL12DELETE FROM _ConfigChngRDELETE FROM _ConfigChngR_ExtPropsПосле очистки перезапустите сервер 1С.
6. **Проверьте логи сервера 1С**
В логах сервера 1С (обычно в папке srvinfo или в настройках кластера) могут быть ошибки, связанные с регистрацией изменений. Это поможет понять, почему история не ведется.Если после всех этих действий история изменений не появляется, возможно, база была восстановлена или перенесена некорректно, и часть данных истории утеряна. В таком случае можно попробовать восстановить историю из резервных копий.
Рекомендую посмотреть подробный разбор и решения по проблемам с историей изменений и сервером 1С здесь:
https://helpf.pro/faq83/view/1747.htmlТам подробно описаны причины и методы решения, включая работу с журналом транзакций SQL Server и настройками сервера 1С.
Если нужна помощь с конкретными командами или настройками — могу помочь с примерами и инструкциями.
12 марта 2026 в 18:30 в ответ на: Как в 1С:УТ 11.5 учесть продажи комитента в отчёте по валовой прибыли? #36118В 1С:Управление торговлей 11.5 в отчёте по валовой прибыли отсутствуют данные по продажам комитента — это типичная ситуация, связанная с особенностями учета комиссионной торговли и настройки отчёта.
Причины и решения:
1. **Отчет не учитывает комиссионные операции по умолчанию**
В типовой конфигурации УТ 11.5 отчёт по валовой прибыли строится на движениях регистров учета, которые могут не включать данные по комиссионной торговле, если не настроены соответствующие источники данных. Комиссионные продажи отражаются в отдельных регистрах и документах, и для их учета в отчёте нужно доработать запрос отчёта.2. **Неправильная настройка параметров отчёта**
В настройках отчёта по валовой прибыли проверьте, включены ли операции с комиссионным товаром. Иногда в фильтрах или параметрах отчёта нужно явно указать, что учитывать комиссионные продажи.3. **Отсутствие или некорректное заполнение цен комитента**
В УТ 11.5 цена комитента в документах поступления на комиссию может не попадать в отчёт, если цена берется не по фактическому поступлению, а последняя цена. Это влияет на расчет валовой прибыли. Нужно проверить, что в документах поступления и реализации корректно заполнены цены и суммы по комитенту.4. **Неучет комиссионных документов в движениях регистров**
Проверьте, что документы реализации комиссионного товара корректно отражаются в регистрах учета, которые используются в отчёте по валовой прибыли. Если документы комиссионной реализации не формируют движения в нужных регистрах, данные не попадут в отчёт.5. **Решение — доработка отчёта**
Для корректного отображения данных по комиссионной торговле в отчёте по валовой прибыли необходимо:
— В запрос отчёта добавить выборку по документам и движениям, связанным с комиссионной торговлей (например, по документам «Реализация товаров комитенту», «Поступление товаров на комиссию»).
— Использовать цены и суммы по фактическому поступлению, а не последнюю цену.
— Убедиться, что в запросе правильно связаны контрагенты (комитенты) и отражены все необходимые аналитики.6. **Проверка типовой обработки**
В типовой конфигурации УТ 11.5 есть стандартные отчёты по комиссионной торговле, которые можно использовать для контроля данных. Если требуется объединить данные с валовой прибылью, лучше сделать отдельный отчет или доработать существующий с привлечением программиста.7. **Обновление конфигурации**
Иногда подобные проблемы решаются обновлением конфигурации до последней версии, где исправлены ошибки учета комиссионной торговли.—
**Кратко:**
Отсутствие данных по продажам комитента в отчёте по валовой прибыли связано с тем, что типовой отчет не учитывает комиссионные операции или некорректно берет цены и суммы. Нужно доработать запрос отчёта, добавить выборку по документам комиссионной торговли и использовать цены по фактическому поступлению.—
https://infostart.ru/public/1712185/ (пример с распределением расходов и аналитикой)
https://infostart.ru/public/80399/ (особенности заполнения счетов учета в документах)wkhtmltopdf не умеет напрямую конвертировать файлы Word (.doc или .docx) в PDF, он работает только с HTML. Поэтому для преобразования Word в PDF с помощью wkhtmltopdf из 1С нужно сначала сохранить документ Word в формате HTML, а затем уже конвертировать этот HTML в PDF.
Вариант решения:
1. Через COM-объект Microsoft Word из 1С открыть файл Word и сохранить его как HTML:
1С (Код)123456789101112131415ПутьКФайлуWord = ПолучитьВременныйКаталог() + "file.docx";ПутьКФайлуHTML = ПолучитьВременныйКаталог() + "file.html";Если ТипПлатформы() = ТипПлатформы.ПредприятиеUnix Тогда// Аналог COMОбъекта для Unix не поддерживается, выбросим исключение или обработаем иначеОшибка("COMОбъект Word.Application не поддерживается в Unix-клиенте");ИначеWordApp = Новый COMОбъект("Word.Application");WordApp.Visible = Ложь;ФорматHTML = 8; // Константа для формата HTMLДокумент = WordApp.Documents.Open(ПутьКФайлуWord);Документ.SaveAs(ПутьКФайлуHTML, ФорматHTML);Документ.Close();WordApp.Quit();КонецЕсли;2. Запустить wkhtmltopdf из 1С, чтобы преобразовать полученный HTML в PDF:
1С (Код)123456789101112ВременнаяПапка = ПолучитьВременнуюПапку();ПутьКWkhtmltopdf = ВременнаяПапка + "wkhtmltopdf.exe";ПутьКHTML = ПутьКФайлуHTML;ПутьКPDF = ВременнаяПапка + "file.pdf";Команда = """" + ПутьКWkhtmltopdf + """ """ + ПутьКHTML + """ """ + ПутьКPDF + """";КодВозврата = 0;ЗапуститьПриложение(Команда, , Истина, КодВозврата);Если КодВозврата <> 0 ТогдаСообщить("Ошибка конвертации HTML в PDF через wkhtmltopdf");КонецЕсли;3. В итоге получите PDF-файл по указанному пути.
Обратите внимание, что при сохранении Word в HTML могут возникнуть проблемы с форматированием и изображениями. Если у вас установлен Microsoft Word, для более надежной конвертации лучше использовать его метод ExportAsFixedFormat, который сразу сохраняет Word в PDF:
1С (Код)12345678ПутьКPDF = ПолучитьВременныйКаталог() + "file.pdf";WordApp = Новый Объект("Word.Application");WordApp.Visible = Ложь;Документ = WordApp.Documents.Open(ПутьКФайлуWord);ФорматPDF = 17;Документ.ExportAsFixedFormat(ПутьКPDF, ФорматPDF);Документ.Close();WordApp.Quit();Если же принципиально нужно использовать именно wkhtmltopdf, то только через промежуточный HTML.
Преобразовать файл Word (.docx) в PDF средствами 1С можно через COM-объект Microsoft Word, если на сервере или клиенте установлен MS Office. В вашем случае можно использовать функцию, которая открывает документ Word и сохраняет его в формате PDF с помощью метода ExportAsFixedFormat. Важно, что в финальном коде используется именно COM-объект Word.Application, а не другие способы.
Вот пример функции для конвертации и пример использования этой функции:
1С (Код)123456789101112131415161718192021222324252627282930313233343536Функция КонвертироватьWordВPDF(ИмяФайлаDocx, ИмяФайлаPDF) ЭкспортПопыткаWordApp = Новый COMОбъект("Word.Application"); // В Unix-клиенте COM не доступен, заменить на подходящий методWordApp.Visible = Ложь;Документ = WordApp.Documents.Open(ИмяФайлаDocx);// Формат экспорта PDF - 17 (wdExportFormatPDF)CONST_WD_EXPORT_FORMAT_PDF = 17;UseISO19005_1 = Истина;Документ.ExportAsFixedFormat(ИмяФайлаPDF,CONST_WD_EXPORT_FORMAT_PDF, // wdExportFormatPDF0,0,0,0,0,0,1,0,1,0,UseISO19005_1);Документ.Close(0);WordApp.Quit();Возврат Истина;ИсключениеЕсли ЗначениеЗаполнено(WordApp) ТогдаWordApp.Quit();КонецЕсли;Возврат Ложь;КонецПопытки;КонецФункции1С (Код)12345678ПутьКИсходномуФайлу = ПолучитьРабочуюПапку() + "Документ.docx";ПутьКФайлуPDF = ПолучитьРабочуюПапку() + "Документ.pdf";Если КонвертироватьWordВPDF(ПутьКИсходномуФайлу, ПутьКФайлуPDF) ТогдаСообщить("Конвертация прошла успешно");ИначеСообщить("Ошибка конвертации");КонецЕсли;Обратите внимание, что для работы этого кода:
— На машине, где выполняется код, должен быть установлен Microsoft Word.
— Путь к исходному файлу и к файлу PDF должен быть корректным и доступным.
— В функции используется параметр UseISO19005_1 = Истина, что позволяет сохранять PDF в формате PDF/A.
— Если Microsoft Word отсутствует, то средствами 1С напрямую преобразовать Word в PDF нельзя, и нужно рассматривать альтернативные инструменты вне 1С (например, LibreOffice, wkhtmltopdf и т.п.).Таким образом, описанный способ — стандартный и надежный при наличии MS Word.
12 марта 2026 в 14:30 в ответ на: Как получить остатки в разрезе Контрагента и Документа на начало нового периода? #36112Да, получить остатки на начало нового периода рассрочки по регистру накопления РасрочкаПродаж в разрезе Контрагент и ДокументОснование можно с помощью запроса, который выбирает сумму ресурса Сумма по всем движениям с датой ПериодРассрочки меньше начала нового периода. При этом учитывается, что приход идет из документа РеализацияТоваровУслуг, а расход из документа ОплатаРассрочки.
В запросе фильтрация по дате ПериодРассрочки < &ДатаНачалаНовогоПериода позволяет получить состояние на начало нового периода. Группировка по Контрагенту и ДокументОснованию дает остатки именно в нужном разрезе. Фильтр по ДокументОснованию, ссылающемуся на РеализацияТоваровУслуг, ограничивает выборку приходными операциями. При этом ресурс Сумма учитывает и приход, и расход (расходы обычно отражаются отрицательными значениями). Если нужно явно выделить приход и расход по типу документа основания, можно добавить условие, которое проверяет, что приход связан с РеализацияТоваровУслуг и сумма положительна, а расход — с ОплатаРассрочки и сумма отрицательна. Но обычно в регистре накопления это уже отражено корректно. СИНХРОН-КОД: в вопросе упомянуто, что приход из документа РеализацияТоваровУслуг и расход из ОплатаРассрочки, и в финальном коде это учтено через фильтр по ДокументОснованию и условие по сумме. Ниже пример запроса и условие для фильтрации по типу документа движения:
1С (Код)123456789101112131415161718Запрос = Новый Запрос;Запрос.Текст =«ВЫБРАТЬ| РасрочкаПродаж.Контрагент КАК Контрагент,| РасрочкаПродаж.ДокументОснование КАК ДокументОснование,| СУММА(РасрочкаПродаж.Сумма) КАК Остаток|ИЗ| РегистрНакопления.РасрочкаПродаж КАК РасрочкаПродаж|ГДЕ| РасрочкаПродаж.ПериодРассрочки < &ДатаНачалаНовогоПериода| И РасрочкаПродаж.ДокументОснование.Ссылка В (| ВЫБРАТЬ Ссылка ИЗ Документ.РеализацияТоваровУслуг| )|СГРУППИРОВАТЬ ПО| РасрочкаПродаж.Контрагент,| РасрочкаПродаж.ДокументОснование";Запрос.УстановитьПараметр("ДатаНачалаНовогоПериода", НачалоДня(ДатаНовогоПериода));Запрос.Выполнить().Выгрузить();Объяснение:
— Параметр &ДатаНачалаНовогоПериода задается как начало дня даты нового периода рассрочки.
— В выборке берутся записи с ПериодРассрочки меньше этой даты, то есть остаток на начало нового периода.
— Группировка по Контрагенту и ДокументОснованию.
— Фильтр по ДокументОснованию ограничивает приходными операциями из РеализацияТоваровУслуг.Если нужно добавить явное разделение приходов и расходов по типу документа, можно использовать условие:
1С (Код)12345| (РасрочкаПродаж.ДокументОснование ССЫЛКА Документ.РеализацияТоваровУслуг| И РасрочкаПродаж.Сумма > 0)| ИЛИ| (РасрочкаПродаж.ДокументОснование ССЫЛКА Документ.ОплатаРассрочки| И РасрочкаПродаж.Сумма < 0)Таким образом, итоговый запрос даст корректные остатки на начало нового периода рассрочки в нужном разрезе.
12 марта 2026 в 14:15 в ответ на: Как исправить ошибку «Поле не входит в группу» в запросе 1С? #36110Ошибка «Поле не входит в группу» в 1С при построении запроса возникает, когда в разделе ВЫБРАТЬ (SELECT) у вас есть поля, которые не участвуют в группировке (GROUP BY) и при этом не используются в агрегатных функциях (например, СУММА, МАКСИМУМ, МИНИМУМ, СРЕДНЕЕ и т.п.).
В 1С запросах, если вы используете группировку, то все поля, которые не агрегируются, должны быть перечислены в операторе ГРУППИРОВКА (GROUP BY). Если этого не сделать, то платформа выдает ошибку «Поле не входит в группу».
Как исправить:
1. Проверьте текст запроса, найдите все поля в разделе ВЫБРАТЬ, которые не обернуты в агрегатные функции.
2. Добавьте эти поля в раздел ГРУППИРОВКА.
Пример:
Если у вас запрос:
1С (Код)1234567ВЫБРАТЬ| Документ.Дата,| Документ.СуммаИЗ| ДокументГРУППИРОВКА ПО| Документ.ДатаИ поле Документ.Сумма не агрегируется, то будет ошибка. Нужно либо агрегировать сумму:
1С (Код)1234567ВЫБРАТЬ| Документ.Дата,| СУММА(Документ.Сумма) КАК СуммаИЗ| ДокументГРУППИРОВКА ПО| Документ.ДатаЛибо добавить поле в группировку, если это логично.
3. Если вы используете подзапросы или таблицы значений, убедитесь, что там тоже корректно указаны группировки и агрегатные функции.
4. В некоторых случаях помогает явное указание псевдонимов и проверка, что поле действительно существует в источнике данных.
Итого: ошибка связана с нарушением правил группировки в запросе — все неагрегированные поля должны быть в ГРУППИРОВКА.
12 марта 2026 в 12:15 в ответ на: Как исправить ошибку «Метод объекта не обнаружен (Выбрать)» в 1С? #36108Ошибка «Метод объекта не обнаружен (Выбрать)» возникает потому, что вы пытаетесь вызвать метод Выбрать() у табличной части документа, а у табличных частей такого метода нет.
В вашем коде проблема в строке:
1С (Код)1ДокОбъект.СписокНоменклатуры.Выбрать();Свойство
СписокНоменклатуры— это табличная часть, и для перебора её строк нужно использовать цикл «Для Каждого» или итератор, а не метод Выбрать(). Например, можно сделать так:1С (Код)123Для Каждого СтрокаТЧ Из ДокОбъект.СписокНоменклатуры ЦиклСообщить(СтрокаТЧ.Номенклатура + ", " + СтрокаТЧ.Количество);КонецЦикла;Или с использованием итератора:
1С (Код)1234Итератор = ДокОбъект.СписокНоменклатуры.ПолучитьИтератор();Пока Итератор.Следующий() ЦиклСообщить(Итератор.Номенклатура + ", " + Итератор.Количество);КонецЦикла;Также обратите внимание, что в вашем запросе вы выбираете только ссылку на документ, а не данные табличной части. Если хотите получить данные табличной части через запрос, то запрос должен выглядеть примерно так:
1С (Код)12345678Запрос.Текст ="ВЫБРАТЬ| ТЧ.Номенклатура,| ТЧ.Количество|ИЗ| Документ.РасходнаяНакладная.Товары КАК ТЧ|ГДЕ| ТЧ.Ссылка = &Ссылка";Итог: замените
1С (Код)1234ВыборкаТЧ = ДокОбъект.СписокНоменклатуры.Выбрать();Пока ВыборкаТЧ.Следующий() ЦиклСообщить("" + ВыборкаТЧ.Номенклатура + ", " + ВыборкаТЧ.Количество);КонецЦикла;на
1С (Код)123Для Каждого СтрокаТЧ Из ДокОбъект.СписокНоменклатуры ЦиклСообщить(СтрокаТЧ.Номенклатура + ", " + СтрокаТЧ.Количество);КонецЦикла;Это исправит ошибку и позволит корректно перебрать строки табличной части.
В ЗУП 3.1.36.75 стандартно ставки НДФЛ заданы в справочнике «Ставки НДФЛ», который находится в разделе «Налоги и взносы» или «Настройки» – в зависимости от конфигурации и интерфейса. Чтобы создать новую ставку НДФЛ, нужно сделать следующее:
1. Откройте конфигурацию в режиме 1С:Предприятия с правами администратора или разработчика.
2. Перейдите в справочник «Ставки НДФЛ». В ЗУП 3.1 он обычно находится по пути: Главное меню – Налоги и взносы – Ставки НДФЛ.
3. Нажмите кнопку «Создать» (или «Добавить»).
4. Введите необходимые параметры новой ставки:
— Наименование ставки (например, «Новая ставка 15%»).
— Процент ставки (например, 15).
— Дату начала действия ставки (важно указать корректно, чтобы ставка применялась с нужного периода).
— При необходимости укажите дату окончания действия ставки.5. Сохраните запись.
6. После создания новой ставки НДФЛ нужно проверить, что она используется в нужных местах:
— В правилах расчета НДФЛ (например, в регламентных операциях или в настройках расчета налогов).
— В справочнике «Виды доходов» или «Начисления», если для них нужно указать конкретную ставку.7. Если требуется, обновите настройки расчета НДФЛ, чтобы новая ставка применялась к нужным видам доходов.
Важно: В типовой конфигурации ЗУП 3.1 ставки НДФЛ жестко связаны с законодательством РФ, и изменение или добавление ставок может потребовать доработки алгоритмов расчета. Поэтому рекомендуется:
— Создавать новые ставки только если это действительно необходимо (например, для региональных налоговых льгот или специальных случаев).
— Тестировать расчет НДФЛ после добавления новой ставки.
— При необходимости вносить изменения в общий модуль расчета НДФЛ или в регламентные операции.Если вы хотите добавить ставку, которая не предусмотрена типовой конфигурацией, возможно, потребуется доработка конфигурации через конфигуратор, например, добавить новую запись в справочник «Ставки НДФЛ» и изменить логику расчета.
Пример кода для создания новой ставки НДФЛ программно (в модуле):
1С (Код)12345НоваяСтавка = Справочники.СтавкиНДФЛ.СоздатьЭлемент();НоваяСтавка.Наименование = "Ставка 15%";НоваяСтавка.Процент = 15;НоваяСтавка.ДатаНачалаДействия = '2026-01-01';НоваяСтавка.Записать();После этого нужно убедиться, что расчет НДФЛ учитывает эту ставку.
https://its.1c.ru/db/zup3doc#bookmark:dev:ref:SpravochnikStavkiNDFL — официальная документация по справочнику ставок НДФЛ в ЗУП 3.1.Если нужна конкретная доработка расчета под новую ставку — пишите, могу помочь с кодом.
Обновление Библиотеки стандартных подсистем (БСП) отдельно от основной конфигурации ERP — задача достаточно деликатная и требует аккуратного подхода.
**Как обновить БСП отдельно от ERP:**
1. **Подготовка:**
— Сделайте полный бэкап базы данных и конфигурации.
— Определите текущую версию БСП в вашей ERP.
— Скачайте с сайта 1С (через ИТС) дистрибутив новой версии БСП, совместимой с вашей платформой и ERP.2. **Создание промежуточной конфигурации:**
— Создайте копию вашей конфигурации ERP.
— В режиме конфигуратора выполните команду «Сравнить и объединить с конфигурацией из файла» и выберите файл новой версии БСП (1Cv8.cf).
— В диалогах сравнения отметьте только объекты БСП, которые хотите обновить.
— Выполните объединение, внимательно отслеживая конфликты и предупреждения.
— При необходимости используйте файл настроек сравнения (например, созданный через «Первое внедрение БСП.epf»), чтобы корректно выбрать подсистемы.3. **Настройка и тестирование:**
— После объединения выполните обновление базы данных.
— Запустите обработку «Первое внедрение БСП.epf» для настройки подсистем.
— Проведите тщательное тестирование функционала, особенно тех подсистем, которые активно используются в ERP.4. **Перенос изменений в основную конфигурацию:**
— Если обновление прошло успешно, перенесите изменения в основную конфигурацию ERP.
— Повторите тестирование в основной базе.**Стоит ли обновлять БСП отдельно от ERP?**
— В типовых решениях ERP обновление БСП обычно происходит вместе с обновлением самой ERP-конфигурации, так как БСП тесно интегрирована с функционалом ERP.
— Обновление БСП отдельно оправдано, если:
— Вы используете самописную или сильно доработанную ERP, где обновление всей конфигурации затруднено.
— Требуется получить новые возможности или исправления в БСП без полной замены ERP.
— Однако обновление БСП отдельно несет риски:
— Возможны несовместимости между версиями БСП и ERP.
— Требуется глубокое понимание архитектуры и зависимостей.
— Может потребоваться доработка кода ERP для адаптации к новой версии БСП.**Рекомендации:**
— Если ERP типовая и поддерживается вендором, лучше обновлять БСП вместе с ERP.
— Если ERP самописная, обновление БСП отдельно возможно, но только при наличии квалифицированных специалистов и тщательном тестировании.
— Используйте промежуточные версии и пошаговое обновление, чтобы избежать больших разрывов версий.
— Воспользуйтесь инструментами и обработками из дистрибутива БСП (например, «Первое внедрение БСП.epf») для корректного внедрения и настройки.—
https://infostart.ru/1c/articles/1671296/ — инструкция по внедрению и обновлению БСП.
https://master1c8.ru/biblioteka-standartnh-podsistem/1110/ — подробное руководство по работе с БСП.12 марта 2026 в 10:30 в ответ на: Как в УТ 11.5 вывести отчет по отношению отгрузок к оплатам по контрагентам? #36102В УТ 11.5 для вывода в отчет отношения отгрузок к оплатам по контрагентам и организациям нужно сделать запрос, который соберет данные по отгрузкам (реализация товаров) и оплатам (платежи или поступления денег), а затем вычислит отношение суммы отгрузок к сумме оплат.
Примерный алгоритм:
1. Получить данные по отгрузкам:
— Источник: документы «Реализация товаров и услуг» (Документ.РеализацияТоваровУслуг)
— Поля: Организация, Контрагент, Сумма (по бухгалтерскому учету или по налоговому, в зависимости от задачи)
— Условие: дата в нужном периоде2. Получить данные по оплатам:
— Источник: документы «Поступление денег» (Документ.ПоступлениеДенежныхСредств) или регистр накопления «Денежные средства» (если есть)
— Поля: Организация, Контрагент, Сумма оплаты
— Условие: дата в том же периоде3. Объединить данные по Организации и Контрагенту, посчитать сумму отгрузок и сумму оплат.
4. Рассчитать отношение: Отгрузка / Оплата (с проверкой деления на 0).
Пример текста запроса для отчета:
1С (Код)1234567891011121314151617181920212223242526272829303132333435Запрос.Текст ="ВЫБРАТЬ| Реализации.Организация КАК Организация,| Реализации.Контрагент КАК Контрагент,| СУММА(Реализации.Сумма) КАК СуммаОтгрузок,| СУММА(Оплаты.Сумма) КАК СуммаОплат,| ВЫБОР КОГДА СУММА(Оплаты.Сумма) = 0 ТОГДА NULL ИНАЧЕ СУММА(Реализации.Сумма) / СУММА(Оплаты.Сумма) КОНЕЦ КАК ОтношениеОтгрузокКОплатам|ИЗ| (ВЫБРАТЬ| РАЗРЕШЕННЫЕ| Док.РеализацияТоваровУслуг.Организация КАК Организация,| Док.РеализацияТоваровУслуг.Контрагент КАК Контрагент,| Док.РеализацияТоваровУслуг.СуммаДокумента КАК Сумма| ИЗ| Документ.РеализацияТоваровУслуг КАК Док.РеализацияТоваровУслуг| ГДЕ| Док.РеализацияТоваровУслуг.Дата МЕЖДУ &ДатаНач AND &ДатаКон) КАК Реализации| ЛЕВОЕ СОЕДИНЕНИЕ| (ВЫБРАТЬ| РАЗРЕШЕННЫЕ| Док.ПоступлениеДенежныхСредств.Организация КАК Организация,| Док.ПоступлениеДенежныхСредств.Контрагент КАК Контрагент,| Док.ПоступлениеДенежныхСредств.СуммаДокумента КАК Сумма| ИЗ| Документ.ПоступлениеДенежныхСредств КАК Док.ПоступлениеДенежныхСредств| ГДЕ| Док.ПоступлениеДенежныхСредств.Дата МЕЖДУ &ДатаНач AND &ДатаКон) КАК Оплаты| ПО Реализации.Организация = Оплаты.Организация| И Реализации.Контрагент = Оплаты.Контрагент|СГРУППИРОВАТЬ ПО| Реализации.Организация,| Реализации.Контрагент|УПОРЯДОЧИТЬ ПО| Реализации.Организация,| Реализации.Контрагент";Параметры запроса:
— &ДатаНач — начало периода
— &ДатаКон — конец периодаВ отчете можно вывести колонки: Организация, Контрагент, СуммаОтгрузок, СуммаОплат, ОтношениеОтгрузокКОплатам.
Если нужно учитывать только определенные виды оплат или отгрузок, добавьте соответствующие фильтры по видам документов или счетам.
Если в вашей базе оплаты отражаются в другом документе или регистре, замените источник данных по оплатам.
Там есть примеры запросов по отгрузкам и оплатам, а также по аналитике расчетов с контрагентами.
-
АвторСообщения