Ответы в темах
-
АвторСообщения
-
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/
Там показано, как добавить отчет в расширение и вывести его в меню БСП (библиотеки стандартных подсистем).19 апреля 2026 в 11:19 в ответ на: Как создать новый отчет в 1С:Предприятие 8.3 в Конфигураторе? #36658В 1С:Предприятие 8.3 (в режиме Конфигуратор) для создания нового отчета нужно:
1. Открыть Конфигуратор (запустить 1С с режимом «Конфигуратор»).
2. В дереве метаданных слева найти ветку «Отчеты».
3. Кликнуть правой кнопкой мыши по ветке «Отчеты» и выбрать «Добавить» или нажать кнопку «Добавить» в верхней панели.
4. В открывшемся окне задать имя отчета и нажать «ОК».Вот примерный скриншот интерфейса Конфигуратора с выделенной веткой «Отчеты» и кнопкой «Добавить»:

(Это пример, в вашей версии интерфейс может немного отличаться, но принцип тот же.)
Если у вас нет доступа к Конфигуратору, то создать отчет в режиме «1С:Предприятие» нельзя — только в режиме «Конфигуратор».
—
Рекомендую посмотреть здесь, там подробно с картинками:
https://infostart.ru/public/1016791/
(Статья про создание отчетов в 1С) -
АвторСообщения