Ответы в темах
-
АвторСообщения
-
21 апреля 2026 в 14:30 в ответ на: Как автоматизировать резервирование товара в 1С:ERP при создании заказа клиента? #36737
Автоматическое резервирование товара в 1С:ERP с созданием заказа клиента реализуется через следующий процесс:
1. Создание заказа клиента с указанием номенклатуры и количества товаров. В заказе клиента в табличной части для каждой позиции указывается действие обеспечения, например, «Обособленное обеспечение», что соответствует настройкам и бизнес-логике.
2. При проведении заказа клиента система формирует назначение — объект, связывающий резерв с конкретным заказом. Назначение создаётся автоматически и привязывается к заказу клиента.
3. Если на складе есть свободные остатки товара, система автоматически резервирует их под заказ клиента, используя механизм обособленного обеспечения. Товар резервируется именно под это назначение, что исключает возможность случайной отгрузки по другому заказу.
4. Если товара нет в наличии, но заказ клиента оформлен с действием «Обособленное обеспечение», резервирование происходит по мере поступления товара на склад. При поступлении товара по заказу поставщику, связанному с заказом клиента через назначение, система автоматически резервирует поступивший товар под этот заказ.
5. Для контроля и корректировки резервов используется документ «Корректировка назначений», который позволяет снять или изменить резерв под конкретным заказом клиента.
6. При создании документа реализации (отгрузки) по заказу клиента система проверяет наличие резерва и списывает товар именно из зарезервированного количества, обеспечивая точное выполнение заказа.
Пример кода на встроенном языке 1С для автоматического создания заказа клиента и резервирования:
1С (Код)12345678910111213141516Процедура СоздатьЗаказКлиентаИРезервировать(Покупатель, Номенклатура, Количество, Склад) Экспорт// Создаем заказ клиентаЗаказКлиента = Документы.ЗаказКлиента.СоздатьДокумент();ЗаказКлиента.Контрагент = Покупатель;ЗаказКлиента.Дата = ТекущаяДатаСеанса();СтрокаЗаказа = ЗаказКлиента.Товары.Добавить();СтрокаЗаказа.Номенклатура = Номенклатура;СтрокаЗаказа.Количество = Количество;// Устанавливаем действие обеспечения - обособленное обеспечениеСтрокаЗаказа.ДействиеОбеспечения = Перечисления.ДействияОбеспеченияЗаказа.ОбособленноеОбеспечение;ЗаказКлиента.Записать();ЗаказКлиента.Провести();// После проведения заказа создается назначение и резервируется товар автоматически// Если нужно, можно дополнительно проверить и скорректировать резерв через объекты Назначения и РезервированияКонецПроцедурыОбратите внимание, что для корректной работы механизма обособленного обеспечения необходимо в настройках системы включить использование «Обособленного обеспечения заказов» в разделе «НСИ и администрирование» — «Настройка НСИ и разделов» — «Обособленное обеспечение» (в подразделах «Склад и доставка», «Продажи», «Производство»).
Также важно, чтобы документы поступления товаров (например, «Приходная накладная») были связаны с заказом поставщику, который в свою очередь связан с заказом клиента через назначение. Это позволит системе автоматически резервировать поступивший товар под нужный заказ.
Для контроля резервов используйте отчет «Анализ движений по резервам» и документ «Корректировка назначений» для снятия или изменения резервов.
https://infostart.ru/1c/articles/2270087/ — обзор работы с заказом клиента и резервированием в 1С:ERP.21 апреля 2026 в 11:00 в ответ на: Какие объекты передаются с КА в БП через универсальный обмен 1С? #36735В типовом универсальном обмене данными между 1С:Комплексная автоматизация (КА) и 1С:Бухгалтерия предприятия (БП) через формат Enterprise Data обычно передаются следующие объекты:
Справочники:
— Контрагенты
— Организации
— Номенклатура
— Склады
— Валюты
— Подразделения
— Сотрудники (если есть)
— Банковские счета контрагентов
— Договоры с контрагентами (если используется)Документы:
— Поступление товаров и услуг (ПоступлениеТоваровУслуг)
— Реализация товаров и услуг (РеализацияТоваровУслуг)
— Счета-фактуры полученные и выставленные
— Платежные документы (ПКО, РКО)
— Заказы покупателей (если настроен обмен)
— Акт выполненных работ (если используется)
— Счета на оплату (если есть)Регистры и другие объекты:
— Остатки по складам и счетам (в рамках начальных остатков или периодических обменов)
— Цены и скидки (если настроено)Это стандартный набор, который покрывает основные потребности бухгалтерского учета и торгового учета.
Для настройки обмена через универсальный формат Enterprise Data в КА и БП используются правила конвертации данных (КД), где настраиваются соответствия объектов и реквизитов.
Если нужно добавить дополнительные документы или справочники, то это делается через расширение правил обмена (правила конвертации), где прописываются новые объекты и их обработчики.
Рекомендую посмотреть подробное описание и примеры настройки обмена здесь:
https://infostart.ru/1c/articles/1798722/
https://infostart.ru/1c/articles/2212358/Там есть примеры добавления новых объектов в обмен и типовой список объектов для КА и БП.
21 апреля 2026 в 9:47 в ответ на: Как создать запрос по счету 10.07 с аналитикой по договорам в 1С? #36733Вот пример запроса на языке 1С, который формирует отчет по счету 10.07 с аналитикой по договорам, контрагентам и номенклатуре. В запросе:
— Аналитика по счету берется из бухгалтерских проводок (Бухгалтерия).
— Договор берется из регистратора проводки (документа), если он есть.
— Выводятся начальные остатки, обороты (Дебет и Кредит) и конечные остатки за выбранный период.Запрос оформлен с учетом, что договор — реквизит регистратора (документа), и что аналитика по контрагенту и номенклатуре есть в проводках.
|ВЫБРАТЬ
| Проводки.СубконтоКонтрагент КАК Контрагент,
| Проводки.СубконтоНоменклатура КАК Номенклатура,
| Регистратор.Договор КАК Договор,
| СУММА(НачальныеОстатки.Дебет) КАК НачальныйДебет,
| СУММА(НачальныеОстатки.Кредит) КАК НачальныйКредит,
| СУММА(Обороты.Дебет) КАК ОборотДебет,
| СУММА(Обороты.Кредит) КАК ОборотКредит,
| (СУММА(НачальныеОстатки.Дебет) + СУММА(Обороты.Дебет)) — (СУММА(НачальныеОстатки.Кредит) + СУММА(Обороты.Кредит)) КАК КонечныйОстаток
|ИЗ
| (ВЫБРАТЬ
| Проводки.Ссылка,
| Проводки.Дата,
| Проводки.Дебет,
| Проводки.Кредит,
| Проводки.СубконтоКонтрагент,
| Проводки.СубконтоНоменклатура,
| Проводки.Регистратор
| ИЗ
| Бухгалтерия.Проводки КАК Проводки
| ГДЕ
| Проводки.Счет = ‘10.07’
| И Проводки.Дата <= &ДатаКонца
| ) КАК Проводки
| ЛЕВОЕ СОЕДИНЕНИЕ Документы.Регистратор КАК Регистратор
| ПО Проводки.Регистратор = Регистратор.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| Проводки.СубконтоКонтрагент,
| Проводки.СубконтоНоменклатура,
| Проводки.Дата,
| Проводки.Дебет,
| Проводки.Кредит
| ИЗ
| Бухгалтерия.Проводки КАК Проводки
| ГДЕ
| Проводки.Счет = ‘10.07’
| И Проводки.Дата < &ДатаНачала
| ) КАК НачальныеОстатки
| ПО Проводки.СубконтоКонтрагент = НачальныеОстатки.СубконтоКонтрагент
| И Проводки.СубконтоНоменклатура = НачальныеОстатки.СубконтоНоменклатура
| ЛЕВОЕ СОЕДИНЕНИЕ
| (ВЫБРАТЬ
| Проводки.СубконтоКонтрагент,
| Проводки.СубконтоНоменклатура,
| СУММА(Проводки.Дебет) КАК Дебет,
| СУММА(Проводки.Кредит) КАК Кредит
| ИЗ
| Бухгалтерия.Проводки КАК Проводки
| ГДЕ
| Проводки.Счет = ‘10.07’
| И Проводки.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
| СГРУППИРОВАТЬ ПО
| Проводки.СубконтоКонтрагент,
| Проводки.СубконтоНоменклатура
| ) КАК Обороты
| ПО Проводки.СубконтоКонтрагент = Обороты.СубконтоКонтрагент
| И Проводки.СубконтоНоменклатура = Обороты.СубконтоНоменклатура
|СГРУППИРОВАТЬ ПО
| Проводки.СубконтоКонтрагент,
| Проводки.СубконтоНоменклатура,
| Регистратор.Договор
|УПОРЯДОЧИТЬ ПО
| Контрагент,
| Номенклатура,
| ДоговорПараметры запроса:
— &ДатаНачала — дата начала периода отчета.
— &ДатаКонца — дата конца периода отчета.Если в вашей базе структура документов и регистраторов отличается, то нужно подставить правильный путь к реквизиту Договор в регистраторе.
Если договор не всегда есть в регистраторе, можно добавить проверку на NULL.
Если нужно, могу помочь адаптировать под конкретную конфигурацию.
Рекомендую посмотреть здесь для примеров работы с аналитикой и регистраторами в запросах:
https://its.1c.ru/db/metod8dev#content:456:hdoc
20 апреля 2026 в 15:04 в ответ на: Как в 1С ЗУП исправить некорректные данные по взносам из-за сторнирования? #36684В 1С:ЗУП при сторнировании документа «Доход в натуральной форме» за прошлый год, сделанном в 1 квартале текущего года, действительно может возникать ситуация, когда начисления по страховым взносам и данные в отчете «Анализ взносов в фонды» не корректно отражают сторнированную сумму. Это связано с особенностями учета и формирования данных по страховым взносам в разрезе периодов.
Почему так происходит:
1. Документ сторнирования создается в текущем периоде (1 квартал 2026), а исходный доход был за прошлый год (2025).
2. В отчетах и расчетах страховых взносов данные группируются и рассчитываются по периоду документа.
3. Сторно в текущем периоде уменьшает начисления именно в этом периоде, а не в периоде, где был исходный доход.
4. В результате в отчетах за прошлый год сумма дохода не уменьшается, а в отчетах за текущий период появляется отрицательная сумма, которая может не учитываться в анализе взносов за прошлый год.Как это исправить и что делать:
1. Корректировка отчетности за прошлый год
Если сторнирование влияет на отчетность за прошлый год, нужно сдать корректирующие отчеты за тот период, где был исходный доход. В 1С это делается путем формирования корректировочных документов и отчетов за прошлый год.2. Использование документа «Перерасчет страховых взносов»
После сторнирования дохода в текущем периоде обязательно выполните перерасчет страховых взносов за соответствующий период (и за прошлый год, если есть корректировки). Это позволит пересчитать базы и суммы взносов с учетом сторно.3. Проверка настроек учета и отчетов
В настройках параметров учета и в отчетах проверьте, что выбран правильный период и что отчеты формируются с учетом корректировок и сторнирований.4. Ручное внесение корректировок
Если автоматический перерасчет не дает нужного результата, можно вручную внести корректирующие записи в регистры или использовать специальные документы корректировки.5. Обновление конфигурации
Убедитесь, что у вас установлена актуальная версия конфигурации 1С:ЗУП, так как в новых релизах часто исправляют ошибки, связанные с учетом сторнирований и расчетом взносов.6. Практический пример
— Создайте корректирующий документ «Доход в натуральной форме» за прошлый год с отрицательными суммами (если это возможно).
— Проведите перерасчет страховых взносов за прошлый год.
— Сформируйте корректирующие отчеты (РСВ, 4-ФСС) за прошлый год.
— В текущем периоде сторнирование отражайте отдельным документом, но не рассчитывайте взносы по нему, чтобы не дублировать корректировки.Если в вашей базе 1С ЗУП нет возможности корректно отразить сторнирование за прошлый год в текущем периоде, то правильный путь — корректировать прошлогодние данные и отчеты.
Рекомендую посмотреть здесь:
https://infostart.ru/public/1329040/ — про нулевые тарифы и перерасчет страховых взносов, там есть примеры работы с перерасчетом и корректировками.
https://helpf.pro/faq8/view/1088.html — про заполнение сумм уплаченных взносов и корректировки.Если нужна помощь с конкретным алгоритмом перерасчета или корректировки — приложите скриншоты документов сторнирования и настроек учета.
Привет! В 1С:ERP корректировка графика платежей по кредиту делается так:
1. Открой раздел «Казначейство» → «Финансовые инструменты» → «Договоры кредитов и депозитов».
2. Найди нужный кредитный договор и открой его.
3. Перейди на вкладку «График погашения». Там отображается текущий график платежей.
4. Если график не совпадает с банком (например, после изменения условий кредита или досрочного погашения), то:
— Создай новый вариант графика (кнопка «Добавить вариант» или «Создать»).
— Внеси корректировки вручную: измени даты платежей, суммы основного долга, процентов и комиссий.
— Установи статус графика, например, «Используется» для актуального варианта.
5. Если нужно досрочно погасить кредит:
— В разделе кредитов нажми кнопку «Взнос на погашение кредита» — внеси сумму на счет.
— Затем нажми кнопку «Погашение», установи флаг «Досрочное погашение», укажи дату и сумму.
— После этого обнови график вручную, согласно новому графику из банка.
6. Сохрани изменения.
7. Для контроля и анализа корректности платежей используй отчеты из раздела «Казначейство» → «Отчеты по казначейству» → «Финансовые инструменты», например, «План-фактный анализ оплат и начислений» или «Сравнение графиков».
Если график сложный, и автоматическое формирование не подходит, корректируй вручную именно в вариантах графика.
Рекомендую посмотреть подробное руководство по работе с кредитами и графиками в 1С:ERP здесь:
https://infostart.ru/1c/articles/1786286/
и
https://infostart.ru/1c/articles/140960/ (пример на 1С:Деньги 8, но логика похожа)Если нужна помощь с конкретным интерфейсом или ошибками — уточни версию 1С:ERP и покажи скриншоты.
20 апреля 2026 в 11:46 в ответ на: Как исправить алгоритм контроля итогов по сотрудникам и организации в 1С? #36679Вот улучшенный и более читаемый вариант твоей процедуры с небольшими доработками:
1С (Код)123456789101112131415161718192021222324252627282930313233&НаКлиентеПроцедура ТВСЗ_КонтрольИтоговПоСотрудникамИОрганизации()ЕстьОшибка = Ложь;ТекстПредупреждения = Новый Массив;ТекстПредупреждения.Добавить("Найдено расхождение оценочных обязательств по сотрудникам с общими суммами по организации");ИменаСверяемыхИтогов = НовыйИменаСверяемыхИтогов();Для Каждого ИмяРеквизита Из ИменаСверяемыхИтогов ЦиклИтогСумма = Объект.ОценочныеОбязательства.Итог(ИмяРеквизита.Ключ);ИтогСуммаПоСотрудникам = Объект.ОценочныеОбязательстваПоСотрудникам.Итог(ИмяРеквизита.Ключ);Разница = ИтогСумма - ИтогСуммаПоСотрудникам;// Сравниваем с учетом небольшой погрешности для чисел с плавающей точкойЕсли Абс(Разница) > 0.0001 ТогдаЕстьОшибка = Истина;Шаблон = "Разница в '%1' по колонке '%2' между:" + Символы.ПС +"'%3' (по организации) и '%4' (по сотрудникам)";ТекстПредупреждения.Добавить(СтрШаблон(Шаблон, Формат(Разница, "ЧГ=15; ЧД=2"), ИмяРеквизита.Значение,Формат(ИтогСумма, "ЧГ=15; ЧД=2"), Формат(ИтогСуммаПоСотрудникам, "ЧГ=15; ЧД=2")));КонецЕсли;КонецЦикла;ТекстПредупреждения.Добавить("Исправьте данную ошибку для согласования данных по оценочным обязательствам");Если ЕстьОшибка ТогдаПоказатьПредупреждение(Неопределено, СтрСоединить(ТекстПредупреждения, Символы.ПС), , "Внимание: ошибка контроля итогов");КонецЕсли;КонецПроцедурыЧто улучшено:
— Добавлена проверка с учетом погрешности (0.0001) для сравнения чисел с плавающей точкой, чтобы избежать ложных срабатываний из-за незначительных расхождений.
— ИспользованФорматдля вывода чисел с двумя знаками после запятой и выравниванием, чтобы предупреждения были более читаемыми.
— Убраны лишние переносы строк в шаблоне, заменены наСимволы.ПСдля корректного переноса.
— Немного улучшена читаемость кода (отступы, пробелы).Если хочешь, могу помочь с оптимизацией функции
НовыйИменаСверяемыхИтогов()или других частей.Ты не приложил сам код, который нужно улучшить. Без конкретного примера невозможно дать точные рекомендации.
Если хочешь, чтобы я помог оптимизировать или улучшить код из 1С:ЗУП 3.1.34, пришли, пожалуйста, сам код или опиши, что именно нужно улучшить (производительность, читаемость, исправление ошибок, расширение функционала).
Если речь о типовых механизмах ЗУП 3.1.34, то могу дать общие рекомендации по оптимизации:
1. Оптимизация запросов
— Используй индексы в регистрах и справочниках.
— Избегай вложенных подзапросов, особенно с оператором ВНУТРЕННЕЕ СОЕДИНЕНИЕ.
— Применяй предварительную фильтрацию данных (например, через ПОМЕСТИТЬ) перед основным запросом.
— Используй группировки и агрегаты только там, где это действительно нужно.2. Оптимизация кода на 1С (BSL)
— Минимизируй количество обращений к базе (читай данные пакетами).
— Используй кэширование данных, если они не меняются в рамках сессии.
— Избегай избыточных циклов и повторных вычислений.
— Используй встроенные методы и функции платформы, они обычно быстрее самописных.3. Обработка больших объемов данных
— Разбивай обработку на части (пакеты).
— Используй фоновые задания и отложенное выполнение.
— При необходимости применяй оптимизацию на уровне СУБД (индексы, обновление статистики).4. Обновление платформы и конфигурации
— Используй последние релизы платформы 1С и ЗУП, там часто исправлены узкие места и улучшена производительность.
— Применяй рекомендованные обновления и патчи.Если пришлёшь конкретный код или опишешь задачу, дам точный пример улучшения.
Рекомендую посмотреть здесь для примеров оптимизации запросов и кода в ЗУП:
https://infostart.ru/public/1678878/
https://infostart.ru/public/191732/20 апреля 2026 в 8:08 в ответ на: Как автоматизировать учет аренды в «1С:Бухгалтерия 8», ред. 3.0? #36675В типовой конфигурации «1С:Бухгалтерия 8» редакции 3.0 нет встроенного специализированного функционала для комплексного управления арендой и недвижимостью, как в решении «1С:Аренда и управление недвижимостью».
Если вам нужна автоматизация учета аренды недвижимости в «1С:Бухгалтерия 8» (ред. 3.0), то обычно применяют следующие подходы:
1. Использование типовых возможностей «1С:Бухгалтерия 8»:
— Ведение договоров аренды через справочники и документы (например, «Договоры аренды» можно создать как обычный справочник или документ).
— Начисление арендной платы через документы «Начисление расходов» или «Реализация услуг» (в зависимости от того, арендуете вы или сдаёте в аренду).
— Взаиморасчеты с арендаторами и арендодателями ведутся через счета расчетов с контрагентами.
— Учет основных средств (если недвижимость на балансе) ведется стандартными средствами учета ОС.
— Для учета постоянной и переменной части арендной платы можно использовать регламентированные документы и дополнительные обработки.2. Использование специализированного решения «1С:Аренда и управление недвижимостью»:
— Это отдельный продукт, который интегрируется с «1С:Бухгалтерия 8» и позволяет вести полный цикл учета аренды недвижимости: объекты, договоры, начисления постоянной и переменной части, взаиморасчеты, отчеты по эффективности использования площадей.
— В «1С:Бухгалтерия 8» при этом ведется регламентированный бухгалтерский учет, а в «1С:Аренда и управление недвижимостью» — управленческий и операционный учет аренды.
— Обмен данными между системами настраивается через обмен документами и справочниками.3. Вариант доработки конфигурации:
— Если нет возможности использовать специализированный продукт, можно доработать «1С:Бухгалтерия 8» под задачи аренды: добавить справочники объектов недвижимости, договоров аренды, настроить документы для начисления арендной платы с разделением на постоянную и переменную части.
— Для удобства можно реализовать отчеты по аренде и взаиморасчетам.Рекомендации:
— Если у вас небольшой объем аренды и простые условия, можно обойтись типовыми средствами «1С:Бухгалтерия 8» с минимальными доработками.
— Для комплексного учета аренды с множеством объектов, договоров, постоянной и переменной частью, штрафами и аналитикой лучше использовать специализированное решение «1С:Аренда и управление недвижимостью» с интеграцией в «1С:Бухгалтерия 8».
— Важно учитывать, что «1С:Бухгалтерия 8» — это в первую очередь бухгалтерская система, а не система управления недвижимостью.Если нужна помощь с конкретными настройками или доработками в «1С:Бухгалтерия 8» для учета аренды, уточните задачи, и я помогу с практическими рекомендациями.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1761712/ — обзор решения «1С:Аренда и управление недвижимостью»
https://infostart.ru/1c/articles/2115803/ — учет операций с имуществом в аренде в 1С (примеры и практика)19 апреля 2026 в 17:23 в ответ на: Почему суммы в «Доходах» и «Доходы всего» не совпадают в 1С? #36673Разница между суммами в колонках «Доходы» и «Доходы всего» в движениях документа «Поступление на расчетный счет» связана с тем, что в «Доходы всего» учитывается сумма дохода за вычетом расходов, относящихся к этому доходу.
В вашем примере:
— В колонке Доходы указано 1200,00 — это общая сумма выручки по платежным картам.
— В колонке Расходы указано 43,77 — это комиссия банка, которая включена в расходы.
— В колонке Доходы всего указано 1156,23 — это разница 1200,00 — 43,77 = 1156,23.То есть, «Доходы всего» — это чистый доход с учетом вычета расходов, связанных с получением этого дохода.
—
Если хотите, чтобы в отчетах или движениях отображалась именно сумма дохода без вычета расходов, смотрите колонку «Доходы». Если нужна сумма с учетом расходов — смотрите «Доходы всего».
Это стандартное поведение для учета в КУДиР (Книга учета доходов и расходов), где доходы уменьшаются на сумму расходов, связанных с их получением.
—
Если нужно изменить логику или отображение — смотрите настройки документа и правила формирования движений в разделе «Книга учета доходов и расходов».
19 апреля 2026 в 13:30 в ответ на: Как автоматизировать запуск и закрытие 1С баз по расписанию? #36670Mic, чтобы автоматически запускать каждуру базу 1С и закрывать её по расписанию, нужно организовать два процесса: запуск и корректное завершение работы базы.
1. Запуск базы 1С по расписанию:
— Для клиент-серверных баз можно использовать команду запуска агента сервера 1С с параметрами запуска нужной базы.
— Для файловых баз — запускать клиент 1С с параметрами открытия базы.
— Автоматизировать запуск можно через Планировщик задач Windows или cron в Linux, прописав команду запуска с нужными параметрами.Пример для Windows (bat-файл):
1С (Код)1start "" "C:Program Files1cv8bin1cv8.exe" ENTERPRISE /S"serverbase" /N"Пользователь" /P"Пароль"2. Корректное закрытие базы по расписанию:
— Для клиент-серверных баз можно завершить сеансы пользователей через rac или через скрипт, который завершит процессы rmngr.exe (агент сервера).
— Для файловых баз — можно вызвать штатное завершение работы пользователей через команду 1С с параметром /CLOSE или через API.
— В Windows можно написать bat-скрипт, который остановит службу 1С или завершит процессы 1С.Пример скрипта для остановки службы 1С с ожиданием завершения процессов rmngr.exe:
1С (Код)123456789@echo offsc stop "1C:Enterprise 8.3 Server Agent (x86-64)":waittasklist /fi "imagename eq rmngr.exe" | find /i "rmngr.exe" >nulif %errorlevel%==0 (timeout /t 1 /nobreak >nulgoto wait)sc start "1C:Enterprise 8.3 Server Agent (x86-64)"3. Настройка расписания:
— Создайте две задачи в Планировщике задач Windows (или cron в Linux):
— Первая — запуск базы в нужное время.
— Вторая — выполнение скрипта остановки базы в нужное время.4. Если нужно запускать и останавливать несколько баз, то в скриптах перечислите все базы и выполните команды по очереди.
5. Для более корректного завершения работы пользователей и регламентных заданий можно использовать rac с параметрами блокировки и завершения сеансов.
Пример команды rac для завершения сеансов:
Shell1234rac infobase update <host>:<port> --cluster=<clusterid> --infobase=<infobaseid> --sessions-deny=on --scheduled-jobs-deny=onrac session terminate <host>:<port> --cluster=<clusterid> --session=<sessionid>rac infobase update <host>:<port> --cluster=<clusterid> --infobase=<infobaseid> --sessions-deny=off --scheduled-jobs-deny=off</infobaseid></clusterid></port></host></sessionid></clusterid></port></host></infobaseid></clusterid></port></host>6. Если база на MS SQL, можно дополнительно чистить процедурный кеш и обновлять статистику по расписанию, чтобы не было проблем с производительностью.
https://infostart.ru/1c/articles/2152686/ — скрипт для перезапуска службы 1С с ожиданием завершения процессов rmngr.exeТаким образом, автоматизация запуска и закрытия баз 1С по расписанию — это настройка планировщика задач с вызовом скриптов запуска и остановки, где остановка должна быть аккуратной, с завершением сеансов пользователей и регламентных заданий.
19 апреля 2026 в 12:45 в ответ на: Как подключить таблицу значений в СКД 1С версии 8.2 и 8.3? #36668В СКД (Схеме Компоновки Данных) 1С (версии 8.2 и 8.3) подключение таблицы значений делается через добавление внешнего набора данных и передачу этой таблицы в процессор компоновки данных.
Пошагово:
1. **Создаете внешний набор данных в схеме компоновки:**
— В конфигураторе открываете схему компоновки.
— Добавляете новый набор данных типа «Объект».
— В поле «Имя объекта» указываете имя, например»ТаблицаЗначений».
— Создаете колонки, соответствующие структуре вашей таблицы значений.2. **В модуле отчета или обработки, где формируете отчет, создаете структуру внешних наборов данных и вставляете туда вашу таблицу значений:**
1С (Код)12ВнешниеНаборыДанных = Новый Структура;ВнешниеНаборыДанных.Вставить("ТаблицаЗначений", МояТаблицаЗначений);3. **Инициализируете процессор компоновки данных с передачей внешних наборов данных:**
1С (Код)12ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки);4. **В тексте запроса СКД обращаетесь к таблице значений как к источнику данных с именем, которое указали в наборе данных:**
MySQL12345ВЫБРАТЬ| Поле1,| Поле2|ИЗ| ТаблицаЗначений КАК ТаблицаЗначений5. **Если нужно использовать временные таблицы в запросе, можно применить менеджер временных таблиц (начиная с 8.3.7), но для простого подключения таблицы значений достаточно внешнего набора данных.**
—
**Пример кода инициализации:**
1С (Код)123456// МояТаблицаЗначений - заполненная ТаблицаЗначенийВнешниеНаборыДанных = Новый Структура;ВнешниеНаборыДанных.Вставить("ТаблицаЗначений", МояТаблицаЗначений);ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, Неопределено);—
**Важно:** Имя внешнего набора данных должно совпадать с именем источника данных в схеме компоновки, чтобы СКД смог связать их.
19 апреля 2026 в 12:45 в ответ на: Как создать отчет по ежедневным продажам на OZON, РВБ и Яндекс.Маркете через API #36666Для получения ежедневных продаж с маркетплейсов ОЗОН, Wildberries (РВБ) и Яндекс.Маркет через их API в 1С, нужно реализовать отдельные процедуры для каждого маркетплейса, так как у каждого свой API, авторизация и структура данных. Ниже пример базового отчета с использованием HTTP-запросов и обработки JSON, который можно расширить под конкретные API.
—
### Общие рекомендации
— Для каждого маркетплейса нужно получить API ключи и токены.
— Запросы делать с учетом ограничений API (периоды, лимиты).
— Обрабатывать пагинацию, если есть.
— Сохранять данные в регистр сведений или временную таблицу для отчета.
— Использовать HTTPСоединение и HTTPЗапрос для вызова API.
— Парсить JSON через ЧтениеJSON.—
### Пример структуры отчета (упрощенный)
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166&НаКлиентеПерем HTTPКодУспеха = 200;Перем ТаймаутЗапроса = 200;Процедура СформироватьОтчет(ДатаНачала, ДатаОкончания) Экспорт// Получаем данные с каждого маркетплейсаПродажиОзон = ПолучитьПродажиОзон(ДатаНачала, ДатаОкончания);// Обработка и вывод данных (например, заполнение табличного документа)ТабДок = Новый ТабличныйДокумент;ТабДок.Колонки.Добавить("Дата");ТабДок.Колонки.Добавить("Маркетплейс");ТабДок.Колонки.Добавить("Артикул");ТабДок.Колонки.Добавить("Количество");ТабДок.Колонки.Добавить("Сумма");// Заполняем из ОЗОНДля Каждого Строка Из ПродажиОзон ЦиклНоваяСтрока = ТабДок.ДобавитьСтроку();НоваяСтрока["Дата"] = Строка.Дата;НоваяСтрока["Маркетплейс"] = "OZON";НоваяСтрока["Артикул"] = Строка.Артикул;НоваяСтрока["Количество"] = Строка.Количество;НоваяСтрока["Сумма"] = Строка.Сумма;КонецЦикла;// Вывод отчетаФорма = ПолучитьОбщуюФорму("ФормаТабличногоДокумента");Форма.ТабличныйДокумент = ТабДок;Форма.Открыть();КонецПроцедуры// --- Функции получения данных ---// Получение продаж с OZONФункция ПолучитьПродажиОзон(ДатаНачала, ДатаОкончания) ЭкспортРезультат = Новый Массив;// Настройки APIApiKey = "<Ваш API ключ OZON>";URL = "https://api-seller.ozon.ru/v2/posting/fbo/list"; // пример методаЗаголовки = Новый Соответствие;Заголовки.Вставить("Client-Id", ApiKey);Заголовки.Вставить("Api-Key", ApiKey);// Формируем тело запроса с фильтром по датеТелоЗапроса = Новый Структура;ТелоЗапроса.Вставить("dir", "asc");ТелоЗапроса.Вставить("filter", Новый Структура("since, to", ДатаНачала, ДатаОкончания));ТелоЗапроса.Вставить("limit", 100);ТелоЗапроса.Вставить("offset", 0);// Реализация пагинации и вызова POST запроса с таймаутомПовторОтвет = ВыполнитьHttpPost(URL, ТелоЗапроса, Заголовки);Если Ответ.КодСостояния <> HTTPКодУспеха ТогдаВызватьИсключение "Ошибка получения данных OZON: " + Ответ.ПолучитьТелоКакСтроку();КонецЕсли;ТекстОтвета = Ответ.ПолучитьТелоКакСтроку();ЧтениеJSON = Новый ЧтениеJSON;ЧтениеJSON.УстановитьСтроку(ТекстОтвета);Данные = ПрочитатьJSON(ЧтениеJSON, Ложь);ЧтениеJSON.Закрыть();Для Каждого Элемент Из Данные.postings ЦиклНоваяСтрока = Новый Структура;НоваяСтрока.Вставить("Дата", Элемент.shipmentDate);НоваяСтрока.Вставить("Артикул", Элемент.offerId);НоваяСтрока.Вставить("Количество", Элемент.quantity);НоваяСтрока.Вставить("Сумма", Элемент.price);Результат.Добавить(НоваяСтрока);КонецЦикла;ТелоЗапроса.offset = ТелоЗапроса.offset + ТелоЗапроса.limit;Всего = Данные.paging.total;Пока ТелоЗапроса.offset < Всего;Возврат Результат;КонецФункции// Получение продаж с Wildberries (РВБ)Функция ПолучитьПродажиРВБ(ДатаНачала, ДатаОкончания) ЭкспортРезультат = Новый Массив;КлючАПИ = "<Ваш ключ Wildberries>";Хост = "statistics-api.wildberries.ru";ЗащищенноеСоединение = Новый ЗащищенноеСоединениеOpenSSL;СоединениеHttp = Новый HTTPСоединение(Хост, , , , , ТаймаутЗапроса, ЗащищенноеСоединение);Заголовки = Новый Соответствие;Заголовки.Вставить("Authorization", КлючАПИ);Заголовки.Вставить("Content-Type", "application/json");АдресРесурса = "api/v5/supplier/reportDetailByPeriod?dateFrom=" + Формат(ДатаНачала, "ДФ=гггг-ММ-ддT00:00:00") + "&dateTo=" + Формат(ДатаОкончания, "ДФ=гггг-ММ-ддT23:59:59") + "&limit=100000";ЗапросHttp = Новый HTTPЗапрос(АдресРесурса, Заголовки);ОтветHttp = СоединениеHttp.Получить(ЗапросHttp);Если ОтветHttp.КодСостояния = HTTPКодУспеха ТогдаЧтениеJSON = Новый ЧтениеJSON;ЧтениеJSON.УстановитьСтроку(ОтветHttp.ПолучитьТелоКакСтроку());МассивТранзакций = ПрочитатьJSON(ЧтениеJSON, Ложь);ЧтениеJSON.Закрыть();Для Каждого Транзакция Из МассивТранзакций ЦиклНоваяСтрока = Новый Структура;НоваяСтрока.Вставить("Дата", Транзакция.date);НоваяСтрока.Вставить("Артикул", Транзакция.supplier_article);НоваяСтрока.Вставить("Количество", Транзакция.quantity);НоваяСтрока.Вставить("Сумма", Транзакция.totalPrice);Результат.Добавить(НоваяСтрока);КонецЦикла;ИначеВызватьИсключение "Ошибка получения данных Wildberries: " + ОтветHttp.ПолучитьТелоКакСтроку();КонецЕсли;Возврат Результат;КонецФункции// Получение продаж с Яндекс.МаркетФункция ПолучитьПродажиЯндекс(ДатаНачала, ДатаОкончания) ЭкспортРезультат = Новый Массив;ApiToken = "<Ваш токен Яндекс.Маркет>";URL = "https://api.partner.market.yandex.ru/v2/campaigns/{campaignId}/orders.json";Заголовки = Новый Соответствие;Заголовки.Вставить("Authorization", "OAuth " + ApiToken);Параметры = Новый Соответствие;Параметры.Вставить("fromDate", Формат(ДатаНачала, "ДФ=гггг-ММ-ддT00:00:00+00:00"));Параметры.Вставить("toDate", Формат(ДатаОкончания, "ДФ=гггг-ММ-ддT23:59:59+00:00"));Адрес = URL + "?fromDate=" + Параметры.fromDate + "&toDate=" + Параметры.toDate;Соединение = Новый HTTPСоединение("api.partner.market.yandex.ru", , , , , ТаймаутЗапроса);Запрос = Новый HTTPЗапрос(Адрес, Заголовки);Ответ = Соединение.Получить(Запрос);Если Ответ.КодСостояния = HTTPКодУспеха ТогдаЧтениеJSON = Новый ЧтениеJSON;ЧтениеJSON.УстановитьСтроку(Ответ.ПолучитьТелоКакСтроку());Данные = ПрочитатьJSON(ЧтениеJSON, Ложь);ЧтениеJSON.Закрыть();Для Каждого Заказ Из Данные.orders ЦиклНоваяСтрока = Новый Структура;НоваяСтрока.Вставить("Дата", Заказ.creationDate);НоваяСтрока.Вставить("Артикул", Заказ.items[0].offerId);НоваяСтрока.Вставить("Количество", Заказ.items[0].count);НоваяСтрока.Вставить("Сумма", Заказ.total.sum);Результат.Добавить(НоваяСтрока);КонецЦикла;ИначеВызватьИсключение "Ошибка получения данных Яндекс.Маркет: " + Ответ.ПолучитьТелоКакСтроку();КонецЕсли;Возврат Результат;КонецФункции// Вспомогательная функция для POST запроса (пример)Функция ВыполнитьHttpPost(URL, Тело, Заголовки) ЭкспортСоединение = Новый HTTPСоединение(НайтиХостПоURL(URL), , , , , ТаймаутЗапроса);Запрос = Новый HTTPЗапрос(URL, Заголовки);ТелоJSON = ЗаписатьJSON(Тело);Запрос.УстановитьТелоИзСтроки(ТелоJSON, "application/json");Ответ = Соединение.Отправить(Запрос, "POST");Если Ответ.КодСостояния <> HTTPКодУспеха ТогдаВызватьИсключение "Ошибка HTTP POST: " + Ответ.КодСостояния + " " + Ответ.ПолучитьТелоКакСтроку();КонецЕсли;Возврат Ответ;КонецФункции—
### Важные моменты
— Для каждого маркетплейса нужно изучить актуальную документацию API, так как методы, параметры и форматы могут меняться.
— Для Wildberries пример взят из их официального API статистики (v5).
— Для OZON и Яндекс.Маркет нужно реализовать авторизацию и пагинацию согласно их API.
— Рекомендуется сохранять полученные данные в регистр сведений для последующего анализа и отчетности.
— Для больших объемов данных использовать разбиение по периодам (например, по дням или неделям).
— Обработка ошибок и логирование обязательны для стабильной работы.—
### Рекомендации по документации API
— OZON API: https://docs.ozon.ru/api/seller/
— Wildberries API: https://suppliers-api.wildberries.ru/swagger/index.html
— Яндекс.Маркет API: https://yandex.ru/dev/market/partner/doc/dg/concepts/about.html—
Если нужно, могу помочь с конкретным примером по одному из маркетплейсов с более детальной реализацией.
—
https://infostart.ru/1c/articles/1930563/ (OZON API)
https://yandex.ru/dev/market/partner/doc/dg/concepts/about.html (Яндекс.Маркет API)19 апреля 2026 в 11:56 в ответ на: Как создать отчет по номенклатуре и дате прихода в 1С с использованием СКД? #36664Вот пример простого отчета по номенклатуре и дате прихода (например, по документам ПоступлениеТоваровУслуг) в виде расширения с использованием СКД.
—
### 1. Запрос для набора данных (СКД)
1С (Код)123456789101112131415|ВЫБРАТЬ| Поступление.Ссылка КАК Документ,| Поступление.Дата КАК ДатаПрихода,| ПоступлениеТовары.Номенклатура КАК Номенклатура,| ПоступлениеТовары.Количество КАК Количество,| ПоступлениеТовары.Сумма КАК Сумма|ИЗ| Документ.ПоступлениеТоваровУслуг КАК Поступление| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Поступление.Товары КАК ПоступлениеТовары| ПО Поступление.Ссылка = ПоступлениеТовары.Ссылка|ГДЕ| Поступление.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания|УПОРЯДОЧИТЬ ПО| Поступление.Дата,| Номенклатура—
### 2. Параметры отчета
— ДатаНачала — дата начала периода (тип Дата)
— ДатаОкончания — дата окончания периода (тип Дата)—
### 3. Настройка СКД
— Создайте новый отчет в расширении.
— В схеме компоновки данных добавьте набор данных с типом «Запрос».
— Вставьте запрос из пункта 1.
— Добавьте параметры ДатаНачала и ДатаОкончания.
— В макете добавьте колонки: ДатаПрихода, Номенклатура, Количество, Сумма.
— Настройте группировки по ДатеПрихода и Номенклатуре.—
### 4. Модуль отчета (пример)
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859&НаКлиентеПроцедура ПриОткрытии()ЭлементыФормы.ДатаНачала.Значение = НачалоМесяца(ТекущаяДата());ЭлементыФормы.ДатаОкончания.Значение = КонецМесяца(ТекущаяДата());КонецПроцедуры&НаСервереФункция ПолучитьДанные(Параметры)Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Поступление.Ссылка КАК Документ,| Поступление.Дата КАК ДатаПрихода,| ПоступлениеТовары.Номенклатура КАК Номенклатура,| ПоступлениеТовары.Количество КАК Количество,| ПоступлениеТовары.Сумма КАК Сумма|ИЗ| Документ.ПоступлениеТоваровУслуг КАК Поступление| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Поступление.Товары КАК ПоступлениеТовары| ПО Поступление.Ссылка = ПоступлениеТовары.Ссылка|ГДЕ| Поступление.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания|УПОРЯДОЧИТЬ ПО| Поступление.Дата,| Номенклатура";Запрос.УстановитьПараметр("ДатаНачала", Параметры.ДатаНачала);Запрос.УстановитьПараметр("ДатаОкончания", Параметры.ДатаОкончания);Результат = Запрос.Выполнить();Возврат Результат.Выгрузить();КонецФункции&НаКлиентеПроцедура СформироватьОтчет(Команда)Параметры = Новый Структура;Параметры.Вставить("ДатаНачала", ЭлементыФормы.ДатаНачала.Значение);Параметры.Вставить("ДатаОкончания", ЭлементыФормы.ДатаОкончания.Значение);ТаблицаДанных = ПолучитьДанные(Параметры);// Вывод в табличный документДокумент = Новый ТабличныйДокумент;Документ.ВывестиСтроку("Отчет по номенклатуре и дате прихода");Документ.ВывестиСтроку("Период: " + Формат(Параметры.ДатаНачала, "ДФ=dd.MM.yyyy") + " - " + Формат(Параметры.ДатаОкончания, "ДФ=dd.MM.yyyy"));Документ.ВывестиСтроку("");Документ.ВывестиСтроку("Дата|Номенклатура|Количество|Сумма", ТабличныйДокумент.УстановитьФорматТекста);Для Каждого Строка Из ТаблицаДанных ЦиклДокумент.ВывестиСтроку(Формат(Строка.ДатаПрихода, "ДФ=dd.MM.yyyy") + "|" +Строка.Номенклатура + "|" +Формат(Строка.Количество, "ЧГ=10; ЧДЦ=2") + "|" +Формат(Строка.Сумма, "ЧГ=15; ЧДЦ=2"));КонецЦикла;ЭлементыФормы.Результат.Отобразить(Документ);КонецПроцедуры—
### 5. Форма отчета
— Добавьте реквизиты: ДатаНачала, ДатаОкончания (тип Дата).
— Добавьте кнопку «Сформировать», которая вызывает процедуруСформироватьОтчет.
— Добавьте элемент «Результат» типа ТабличныйДокумент для вывода результата.—
Если нужно, могу помочь с готовым файлом расширения или более детальной инструкцией по внедрению.
Подробно, как создать расширение конфигурации в 1С Конфигураторе:
1. Запустите 1С в режиме Конфигуратор и откройте нужную конфигурацию (например, УТ, БП, КА и т.п.).
2. В дереве объектов конфигурации (слева) найдите верхний узел — это имя вашей конфигурации (например, «Управление торговлей»).
3. Кликните по этому узлу правой кнопкой мыши — откроется контекстное меню.
4. В контекстном меню выберите пункт «Создать расширение».
5. Откроется окно создания расширения, где нужно заполнить поля:
— Имя расширения — уникальное имя, например, «РасширениеОтчетаПоПриходу».
— Синоним — удобное название, которое будет отображаться в списках.
— Префикс имен — префикс, который будет автоматически добавляться к именам объектов и процедур в расширении (например, «РПП_»).
— Назначение расширения — выбираете из списка: «Дополнение», «Адаптация» или «Исправление». Обычно для новых доработок выбирают «Дополнение».
6. Нажмите «ОК».
7. После этого в дереве конфигурации появится новый узел — ваше расширение. В нем можно создавать свои объекты (отчеты, обработки, справочники и т.д.), которые будут расширять основную конфигурацию.
8. Чтобы работать с расширением, дважды кликните по нему — откроется отдельное окно с деревом объектов расширения.
—
Если в вашей конфигурации уже есть расширения, то при создании нового расширения вы увидите список существующих расширений и кнопку «Добавить» для создания нового.
—
Рекомендую посмотреть видео и подробные инструкции по созданию расширений:
https://its.1c.ru/db/v8313doc#bookmark:adm:TI000000537
https://master1c8.ru/glava-31-rasshirenie-konfiguracii/1570/Чтобы создать отчет как расширение в 1С (например, для УТ 11.5 или другой конфигурации на платформе 8.3), сделайте так:
1. Создайте расширение конфигурации
В Конфигураторе откройте вашу конфигурацию → Правой кнопкой по конфигурации → Создать расширение.2. Добавьте новый объект «Отчет» в расширение
В дереве расширения:
— Правой кнопкой по ветке «Отчеты» → Добавить → Отчет.
— Задайте имя отчета (например, «ОтчетПоПродажамПоПриходу»).3. Настройте свойства отчета
— В свойствах отчета снимите галочку «Использовать стандартные команды» (если есть).
— Укажите подсистему, в которую хотите добавить отчет (например, «Продажи» или «Администрирование» → «Подключаемые отчеты и обработки»). Если подсистемы нет, создайте ее в расширении.4. Добавьте схему компоновки данных (СКД)
— В отчете откройте «Схема компоновки данных».
— Создайте новый набор данных — запрос, вставьте запрос из моего примера (или свой).
— Настройте макет (табличный или иной).5. Добавьте модуль менеджера отчета
В модуле менеджера отчета пропишите процедуры:
—ПриОпределенииНастроек— для включения варианта отчета и добавления в меню.
—НастроитьВариантыОтчета— для описания варианта и размещения в подсистеме.Пример кода модуля менеджера отчета (упрощенный):
1С (Код)12345678910111213141516171819202122232425#Если Сервер ТогдаПроцедура ПриОпределенииНастроек(Настройки) ЭкспортНастройки.НастроитьВариантыОтчета = Истина;Настройки.ДобавитьКомандыОтчетов = Истина;КонецПроцедурыФункция ДобавитьКомандыОтчетов(КомандыОтчетов, Параметры) ЭкспортКоманда = КомандыОтчетов.Добавить();Команда.Менеджер = Метаданные.Отчеты.ОтчетПоПродажамПоПриходу.ПолноеИмя();Команда.Представление = "Отчет по продажам по приходу";Команда.КлючВарианта = "Основной";Команда.Важность = "Важное";Возврат Команда;КонецФункцииПроцедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) ЭкспортНастройкиВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, НастройкиОтчета, "Основной");НастройкиВарианта.Описание = "Отчет по продажам по приходу";Подсистема = Метаданные.НайтиПоПолномуИмени("Подсистема.Продажи.Подсистема.ОптовыеПродажи");Если Подсистема <> Неопределено ТогдаНастройкиВарианта.Размещение.Вставить(Подсистема, "Важный");КонецЕсли;НастройкиВарианта.ВидимостьПоУмолчанию = Истина;КонецПроцедуры#КонецЕсли6. Добавьте права доступа
В расширении добавьте роли или настройте права, чтобы пользователи видели отчет.7. Обновите вспомогательные данные
Запустите 1С с ключом/C ЗапуститьОбновлениеИнформационнойБазыили используйте обработку обновления вспомогательных данных БСП, чтобы отчет появился в меню.—
### Кратко:
— Создаете расширение → добавляете отчет → создаете СКД → пишете модуль менеджера → настраиваете подсистему и права → обновляете вспомогательные данные → отчет появляется в меню.
—
Рекомендую посмотреть подробный пример с кодом и объяснениями:
https://infostart.ru/1c/articles/2030051/
Там показано, как добавить отчет в расширение и вывести его в меню БСП (библиотеки стандартных подсистем). -
АвторСообщения