Ответы в темах
-
АвторСообщения
-
18 мая 2026 в 11:04 в ответ на: Какие вопросы задать клиенту для обмена документами между 1С:УТ 10.3 и 11.5? #37245
При создании обмена документами между 1С:УТ 10.3 и 1С:УТ 11.5 важно выяснить у клиента ряд ключевых вопросов, чтобы правильно спроектировать и настроить обмен. Вот список основных вопросов:
—
### 1. Какие именно документы и справочники нужно обменивать?
— Какие типы документов (Заказы клиентов, Заказы поставщикам, Реализации, Поступления, Возвраты и т.п.) должны участвовать в обмене?
— Какие справочники (Номенклатура, Контрагенты, Склады, Сотрудники и др.) нужно синхронизировать?
— Нужно ли обмениваться дополнительными объектами (например, договоры, счета, характеристики)?—
### 2. Какой объем данных планируется обменивать?
— Примерный объем документов и справочников за период (в месяц, неделю).
— Частота обмена (реальный режим, раз в день, раз в неделю).
— Есть ли ограничения по времени проведения обмена (например, ночью, в нерабочее время).—
### 3. Какой тип обмена предпочтителен?
— Однонаправленный или двунаправленный обмен?
— Нужно ли сохранять историю изменений и версионность?
— Требуется ли подтверждение получения и проведения документов?
— Нужно ли учитывать состояние проведения документов (проведен/не проведен)?—
### 4. Как обрабатываются конфликты и дублирование?
— Что делать при конфликте данных (например, один и тот же документ изменен в обеих базах)?
— Как обрабатывать дублирующиеся документы или справочники?
— Нужно ли реализовывать логику слияния или приоритетности данных?—
### 5. Какой механизм обмена предпочтителен?
— Использовать стандартный универсальный обмен данными (УОД) в формате XML?
— Использовать встроенный механизм правил обмена КД2?
— Планируется ли использовать внешние обработки или конвертации?
— Есть ли требования к безопасности передачи данных?—
### 6. Как обрабатываются реквизиты и структура документов?
— Есть ли в 10.3 и 11.5 различия в структуре документов и справочников?
— Нужно ли переносить все реквизиты или только часть?
— Есть ли пользовательские реквизиты, которые нужно учитывать?
— Как обрабатывать табличные части и вложенные объекты?—
### 7. Как обрабатывается проведение документов?
— Нужно ли синхронизировать состояние проведения документов?
— Как обрабатывать отмену проведения и удаление документов?
— Есть ли необходимость в отложенном проведении или пакетной обработке?—
### 8. Как организовать идентификацию объектов?
— Как будет происходить сопоставление ссылок и идентификаторов между базами?
— Используются ли GUID или другие уникальные идентификаторы?
— Нужно ли реализовывать механизм авторегистрации новых объектов?—
### 9. Какие требования к логированию и мониторингу обмена?
— Нужно ли вести журнал обмена с детализацией ошибок?
— Как будет осуществляться оповещение о сбоях?
— Кто будет ответственным за поддержку обмена?—
### 10. Особые требования и ограничения
— Есть ли ограничения по версиям платформы и конфигураций?
— Нужно ли учитывать особенности локализации, валюты, налогов?
— Есть ли требования к производительности и времени отклика?
— Планируется ли масштабирование обмена на несколько баз?—
Эти вопросы помогут собрать полное техническое задание и избежать проблем при реализации обмена между УТ 10.3 и УТ 11.5.
—
Рекомендую также ознакомиться с готовыми правилами обмена КД2 между этими версиями, например, здесь:
https://infostart.ru/1c/tools/2231620/Чтобы загрузить сегмент номенклатуры списком товаров из Excel в 1С (например, в 1С:Розница, УТ или УНФ), нужно выполнить следующие шаги:
1. Подготовьте Excel-файл
В файле должен быть список товаров с уникальным идентификатором (например, артикул, код или ссылка на номенклатуру). Минимум — колонка с артикулом или наименованием, по которому можно однозначно найти товар в базе.2. Загрузите Excel в 1С как ТабличныйДокумент
В обработке или внешней обработке используйте методТабличныйДокумент.Прочитать()для загрузки файла Excel.3. Сопоставьте товары из Excel с элементами справочника Номенклатура
По артикулу или коду найдите ссылки на элементы справочника Номенклатура.4. Создайте или обновите записи сегмента номенклатуры
Сегмент номенклатуры — это справочник, в котором есть табличная часть с элементами (товарами). Нужно для каждого товара создать элемент сегмента.5. Пример кода загрузки сегмента из Excel (упрощённый):
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839Процедура ЗагрузитьСегментИзExcel(ИмяФайла, СсылкаНаСегмент)// Читаем ExcelТабДок = Новый ТабличныйДокумент;ТабДок.Прочитать(ИмяФайла);// Предположим, что артикул в первой колонке, начиная со второй строкиДля Стр = 2 По ТабДок.КоличествоСтрок ЦиклАртикул = ТабДок.ПолучитьЯчейку(Стр, 1).Значение;Если ПустаяСтрока(Артикул) ТогдаПродолжить;КонецЕсли;// Ищем номенклатуру по артикулуЗапрос = Новый Запрос;Запрос.Текст ="|ВЫБРАТЬ| Ссылка|ИЗ| Справочник.Номенклатура|ГДЕ| Артикул = &Артикул";Запрос.УстановитьПараметр("Артикул", Артикул);Результат = Запрос.Выполнить();Если Результат.Пустой() ТогдаПродолжить; // Товар не найденКонецЕсли;СсылкаНоменклатуры = Результат.Выбрать().Ссылка;// Добавляем элемент в сегментНовыйЭлемент = СсылкаНаСегмент.Элементы.СоздатьЭлемент();НовыйЭлемент.ЭлементСписка = СсылкаНоменклатуры;НовыйЭлемент.Записать();КонецЦикла;// Записываем сегментСсылкаНаСегмент.Записать();КонецПроцедуры6. Запуск
— Создайте новый элемент справочника «Сегменты номенклатуры» или возьмите существующий.
— Передайте ссылку на него в процедуру.
— Укажите путь к Excel-файлу.—
Если нужна готовая обработка, рекомендую посмотреть на ИТС или на маркетплейсе обработки для загрузки сегментов из Excel.
—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1905264/ — пример работы с сегментами номенклатуры и загрузкой данных.
https://infostart.ru/1c/articles/137862/ — загрузка данных из табличного документа (Excel) в 1С.18 мая 2026 в 10:00 в ответ на: Как в 1С:ERP реализован алгоритм формирования проводок для документов? #37241В 1С:ERP алгоритм формирования бухгалтерских проводок для документов реализован в модуле менеджера самого документа и/или в общем модуле локализации документа. Эти модули содержат процедуры и функции, которые формируют тексты запросов для движений по регистрам бухгалтерии. Итоговый запрос для формирования проводок собирается в общем модуле РеглУчетВыборкиСерверПовтИсп, где последовательно вызываются методы:
— ЗапросДанных()
— ЗапросСчетов()
— ЗапросСчетовПоУмолчанию()
— ЗапросПрочихСчетов()
— ЗапросСопоставлений()
— ЗапросПроверки()
— ЗапросХозрасчетный()Результирующий текст запроса — это конкатенация этих блоков, который затем выполняется для формирования проводок.
Для анализа и отладки формирования проводок в интерфейсе есть обработка «НастройкаОтраженияДокументовВРеглУчете» с функцией «Тестирование проводок», которая позволяет получить и изменить тексты запросов, посмотреть результаты их выполнения.
Таким образом, основное место формирования алгоритма — модуль менеджера документа и общий модуль локализации, а сборка и выполнение запросов — в общем модуле РеглУчетВыборкиСерверПовтИсп.
18 мая 2026 в 9:38 в ответ на: Как исправить ошибку «Переменная не определена (ЭлементыФормы)» в 1С? #37239Ошибка «Переменная не определена (ЭлементыФормы)» говорит, что в модуле сервера нет доступа к объекту формы и её элементам. В 1С объекты формы доступны только в модуле формы (клиентском), а в серверном модуле — нет.
Чтобы исправить:
1. В процедуре, где выполняется запрос и формируется таблица значений, не обращайтесь напрямую к элементам формы (например,
ЭлементыФормы.ТабличноеПолеРезультат), если это серверный модуль.2. Сделайте так:
— Процедуру запроса и формирования таблицы значений выполняйте на сервере, она возвращает ТаблицуЗначений.
— В модуле формы (клиентском) вызовите эту серверную процедуру, получите ТаблицуЗначений и присвойте её значению табличного поля.
Пример:
В модуле объекта (сервер):
1С (Код)123456789101112Функция ПолучитьДанные(СсылкаПересчета, ДатаНачала, ДатаКонца) ЭкспортЗапрос = Новый Запрос;Запрос.Текст = "... ваш запрос ...";Запрос.УстановитьПараметр("СсылкаПересчета", СсылкаПересчета);Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);Результат = Запрос.Выполнить();ТаблицаРезультата = Результат.Выгрузить();Возврат ТаблицаРезультата;КонецФункцииВ модуле формы (клиент):
1С (Код)1234Процедура КнопкаВыполнитьНажатие(Кнопка)ТаблицаРезультата = Объект.ПолучитьДанные(СсылкаПересчета, ДатаНачала, ДатаКонца);ЭлементыФормы.ТабличноеПолеРезультат.Значение = ТаблицаРезультата;КонецПроцедуры—
Ошибка «Недостаточно фактических параметров (ЗаполнитьКомиссиюПоНазначениюПлатежаНаСервере)» означает, что вы вызываете процедуру без параметров, а она их требует.
Проверьте вызов процедуры
ЗаполнитьКомиссиюПоНазначениюПлатежаНаСервере— передайте все необходимые параметры.—
Итог:
— Разделяйте код на серверный (запросы, получение данных) и клиентский (работа с формой и элементами).
— В серверном коде не обращайтесь к
ЭлементыФормы.— В клиентском коде вызывайте серверные процедуры и присваивайте результат элементам формы.
— Проверьте вызовы процедур на соответствие параметрам.
Публикация веб-сервисов 1С на Apache в Linux делается так:
1. **Подготовка веб-сервера и модуля 1С**
— Установите Apache (обычно 2.4) и необходимые компоненты 1С (сервер, веб-сервер, общий пакет).
— Убедитесь, что в конфиге Apache (/etc/httpd/conf/httpd.confили/etc/apache2/apache2.conf) подключен модуль 1С:1С (Код)1LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap24.so"— Для удобства можно вынести настройки 1С в отдельный файл и подключить его через
IncludeOptional.2. **Публикация базы 1С с помощью утилиты webinst**
— Перейдите в каталог с утилитой:1С (Код)1cd /opt/1C/v8.3/x86_64/— Выполните команду публикации базы с указанием параметров:
1С (Код)1./webinst -apache24 -wsdir test -dir /var/www/test -connstr "Srvr=server;Ref=test;" -confPath /etc/apache2/apache2.confЗдесь:
—-wsdir test— имя публикации (путь в URL будет/test)
—-dir /var/www/test— каталог публикации
—-connstr— строка подключения к базе
—-confPath— путь к конфигу Apache3. **Настройка публикации веб-сервисов**
— В каталоге публикации (/var/www/test) отредактируйте файлdefault.vrd.
— Добавьте в него блокс описанием веб-сервисов, например:1С (Код)1234567891011121314151617181920<?xml version="1.0" encoding="UTF-8"?><point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"base="/test"ib="Srvr=server;Ref=test;"><ws publishExtensionsByDefault="true"><point name="DMService"alias="dm.1cws"enable="true"reuseSessions="autouse"sessionMaxAge="20"poolSize="10"poolTimeout="5"></point></ws><standardodata enable="false"reuseSessions="autouse"sessionMaxAge="20"poolSize="10"poolTimeout="5"></standardodata><analytics enable="true"></analytics></point>— В теге
укажите имена веб-сервисов из конфигуратора 1С и их алиасы.4. **Настройка Apache для публикации**
— В конфиге Apache добавьте или проверьте наличие блока:1С (Код)12345678Alias "/test" "/var/www/test/"<directory "/var/www/test/">AllowOverride AllOptions NoneRequire all grantedSetHandler 1c-applicationManagedApplicationDescriptor "/var/www/test/default.vrd"</directory>— Обратите внимание, что директива
SetHandlerдолжна быть именно такой, а неforceHandler(частая ошибка).5. **Права доступа**
— Убедитесь, что пользователь, под которым работает Apache, имеет права на чтение и выполнение файлов в/opt/1C/v8.3/x86_64/и на каталог публикации/var/www/test.
— Если база файловая, то права на запись в каталог базы.6. **Перезапуск Apache**
1С (Код)1systemctl restart apache2или
1С (Код)1systemctl restart httpd7. **Проверка**
— В браузере перейдите по адресу:1С (Код)1http://<ваш_сервер>/test/dm.1cws(где
dm.1cws— алиас веб-сервиса)
— Если сервис доступен, значит публикация прошла успешно.—
**Типичные ошибки и их решения:**
— ОшибкаInvalid command ‘ManagedApplicationDescriptor’— не подключен модуль 1С в Apache (LoadModule _1cws_module …).
— ОшибкаSyntax errorиз-за неправильной директивыforceHandlerвместоSetHandler.
— Ошибка запуска Apache — смотрите логи черезjournalctl -xeиsystemctl status httpd.—
https://infostart.ru/1c/articles/440532/
https://1s-on.ru/publikacziya-1s-na-veb-servere-linux/
https://1s-on.ru/oshibki-publikaczii-bazy-i-veb-servisa-na-veb-servere-1c-apache-linux/Вот пример оформления запроса в обработку 1С (на встроенном языке), с передачей параметров и выводом результата в табличное поле формы:
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051Процедура ВыполнитьЗапрос(СсылкаПересчета, ДатаНачала, ДатаКонца) ЭкспортЗапрос = Новый Запрос;Запрос.Текст ="|ВЫБРАТЬ| ПересчетТоваровТовары.Номенклатура КАК Номенклатура,| Продажи.Дата КАК ДатаПродажи,| ПродажиТовары.Количество,| ПродажиТовары.Сумма|ИЗ| Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПересчетТоваров КАК ПересчетТоваров| ПО ПересчетТоваровТовары.Ссылка = ПересчетТоваров.Ссылка| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Продажи| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ПродажиТовары| ПО Продажи.Ссылка = ПродажиТовары.Ссылка| И ПродажиТовары.Номенклатура = ПересчетТоваровТовары.Номенклатура| И ПродажиТовары.Склад = ПересчетТоваровТовары.Склад|ГДЕ| ПересчетТоваров.Ссылка = &СсылкаПересчета| И Продажи.Дата МЕЖДУ &ДатаНачала И &ДатаКонца|УПОРЯДОЧИТЬ ПО| ПересчетТоваровТовары.Номенклатура,| Продажи.Дата";Запрос.УстановитьПараметр("СсылкаПересчета", СсылкаПересчета);Запрос.УстановитьПараметр("ДатаНачала", ДатаНачала);Запрос.УстановитьПараметр("ДатаКонца", ДатаКонца);Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();// Создаем таблицу значений для выводаТаблицаРезультата = Новый ТаблицаЗначений;ТаблицаРезультата.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("Справочник.Номенклатура"));ТаблицаРезультата.Колонки.Добавить("ДатаПродажи", Новый ОписаниеТипов("Дата"));ТаблицаРезультата.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));ТаблицаРезультата.Колонки.Добавить("Сумма", Новый ОписаниеТипов("Число"));Пока Выборка.Следующий() ЦиклНоваяСтрока = ТаблицаРезультата.Добавить();НоваяСтрока.Номенклатура = Выборка.Номенклатура;НоваяСтрока.ДатаПродажи = Выборка.ДатаПродажи;НоваяСтрока.Количество = Выборка.Количество;НоваяСтрока.Сумма = Выборка.Сумма;КонецЦикла;// Вывод результата в табличное поле формыЭлементыФормы.ТабличноеПолеРезультат.Значение = ТаблицаРезультата;КонецПроцедуры—
Как использовать:
1. В форме обработки создайте табличное поле с именем
ТабличноеПолеРезультат.
2. В процедуре, например, по кнопке «Выполнить», вызовите:1С (Код)1ВыполнитьЗапрос(СсылкаПересчета, ДатаНачала, ДатаКонца);где
СсылкаПересчета— ссылка на документ «Пересчет товаров», аДатаНачалаиДатаКонца— даты периода.—
Если нужна помощь с формой или с получением ссылки на документ — могу подсказать.
18 мая 2026 в 8:06 в ответ на: Как правильно составить запрос на подбор продаж для «Пересчет товаров»? #37233Запрос составлен корректно, но есть несколько моментов, которые стоит проверить, чтобы он работал правильно в УТ 11.5:
1. В документе «Пересчет товаров» поле «Склад» может быть в шапке документа, а не в табличной части «Товары». Если склад в шапке, то условие по складу нужно писать так:
| И ПродажиТовары.Склад = ПересчетТоваров.Склад
2. Если склад в табличной части «Товары» — тогда ваш вариант с
| И ПродажиТовары.Склад = ПересчетТоваровТовары.Склад
правильный.
3. Проверьте, что параметры &СсылкаПересчета, &ДатаНачала и &ДатаКонца передаются в запрос корректно.
4. Если нужно получить суммарные продажи по номенклатуре, добавьте группировку:
|СГРУППИРОВАТЬ ПО
| ПересчетТоваровТовары.Номенклатура5. Если хотите вывести продажи с детализацией по датам, то ваш запрос с сортировкой по дате подходит.
—
Пример с группировкой и суммированием:
|ВЫБРАТЬ
| ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
| СУММА(ПродажиТовары.Количество) КАК КоличествоПродано,
| СУММА(ПродажиТовары.Сумма) КАК СуммаПродаж
|ИЗ
| Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПересчетТоваров КАК ПересчетТоваров
| ПО ПересчетТоваровТовары.Ссылка = ПересчетТоваров.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Продажи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ПродажиТовары
| ПО Продажи.Ссылка = ПродажиТовары.Ссылка
| И ПродажиТовары.Номенклатура = ПересчетТоваровТовары.Номенклатура
| И ПродажиТовары.Склад = ПересчетТоваровТовары.Склад
|ГДЕ
| ПересчетТоваров.Ссылка = &СсылкаПересчета
| И Продажи.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|СГРУППИРОВАТЬ ПО
| ПересчетТоваровТовары.Номенклатура
|УПОРЯДОЧИТЬ ПО
| ПересчетТоваровТовары.Номенклатура—
Если склад в шапке, замените условие соединения по складу на:
| И ПродажиТовары.Склад = ПересчетТоваров.Склад
—
Проверьте структуру документа «Пересчет товаров» в вашей базе, чтобы правильно указать поле склада.
18 мая 2026 в 8:03 в ответ на: Как вывести продажи из пересчета товаров в УТ 11.5 за период по складу? #37231Вот запрос 1С для УТ 11.5, который выбирает номенклатуру из конкретного документа «Пересчет товаров» и для каждой позиции выводит продажи за указанный период по складу, указанному в этом же документе:
|ВЫБРАТЬ
| ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
| Продажи.Дата КАК ДатаПродажи,
| ПродажиТовары.Количество,
| ПродажиТовары.Сумма
|ИЗ
| Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПересчетТоваров КАК ПересчетТоваров
| ПО ПересчетТоваровТовары.Ссылка = ПересчетТоваров.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Продажи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ПродажиТовары
| ПО Продажи.Ссылка = ПродажиТовары.Ссылка
| И ПродажиТовары.Номенклатура = ПересчетТоваровТовары.Номенклатура
| И ПродажиТовары.Склад = ПересчетТоваровТовары.Склад
|ГДЕ
| ПересчетТоваров.Ссылка = &СсылкаПересчета
| И Продажи.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|УПОРЯДОЧИТЬ ПО
| ПересчетТоваровТовары.Номенклатура,
| Продажи.ДатаПояснения:
— &СсылкаПересчета — ссылка на конкретный документ «Пересчет товаров»
— &ДатаНачала и &ДатаКонца — период для выборки продаж
— В условии соединения по складу учитываем, что продажи должны быть по тому же складу, что и в позиции пересчетаЕсли нужно получить суммарные продажи по каждой номенклатуре за период, то запрос с группировкой:
|ВЫБРАТЬ
| ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
| СУММА(ПродажиТовары.Количество) КАК КоличествоПродано,
| СУММА(ПродажиТовары.Сумма) КАК СуммаПродаж
|ИЗ
| Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПересчетТоваров КАК ПересчетТоваров
| ПО ПересчетТоваровТовары.Ссылка = ПересчетТоваров.Ссылка
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Продажи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ПродажиТовары
| ПО Продажи.Ссылка = ПродажиТовары.Ссылка
| И ПродажиТовары.Номенклатура = ПересчетТоваровТовары.Номенклатура
| И ПродажиТовары.Склад = ПересчетТоваровТовары.Склад
|ГДЕ
| ПересчетТоваров.Ссылка = &СсылкаПересчета
| И Продажи.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|СГРУППИРОВАТЬ ПО
| ПересчетТоваровТовары.Номенклатура—
Если в документе «Пересчет товаров» склад хранится в шапке, а не в табличной части, то замените условие соединения по складу на:
| И ПродажиТовары.Склад = ПересчетТоваров.Склад
—
Рекомендую проверить структуру документа «Пересчет товаров» в вашей базе, чтобы правильно указать поле склада.
—
Если нужна помощь с кодом обработки для запуска запроса и вывода результата — могу помочь.
18 мая 2026 в 7:56 в ответ на: Как в УТ 11.5 выбрать номенклатуру из документа и вывести продажи за период? #37229Чтобы выбрать номенклатуру из конкретного документа «Пересчет товаров» и для каждой позиции вывести продажи за заданный период, нужно сделать запрос с двумя частями:
1. Получить номенклатуру из документа «Пересчет товаров» по его ссылке.
2. Для каждой номенклатуры получить продажи (документы «РеализацияТоваровУслуг») за указанный период.Пример запроса 1С (язык запросов):
|ВЫБРАТЬ
| ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
| Продажи.Дата КАК ДатаПродажи,
| Продажи.Контрагент,
| ПродажиТовары.Количество,
| ПродажиТовары.Сумма
|ИЗ
| Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Продажи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ПродажиТовары
| ПО Продажи.Ссылка = ПродажиТовары.Ссылка
| И ПродажиТовары.Номенклатура = ПересчетТоваровТовары.Номенклатура
|ГДЕ
| ПересчетТоваровТовары.Ссылка = &СсылкаПересчета
| И Продажи.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|УПОРЯДОЧИТЬ ПО
| ПересчетТоваровТовары.Номенклатура,
| Продажи.ДатаПояснения:
— &СсылкаПересчета — параметр, ссылка на конкретный документ «Пересчет товаров»
— &ДатаНачала, &ДатаКонца — параметры периода для выборки продаж
— В запросе связываем номенклатуру из пересчета с номенклатурой в продажах
— Выбираем дату продажи, контрагента, количество и сумму по каждой продажеЕсли нужно получить суммарные продажи по каждой номенклатуре за период, то запрос можно сделать с группировкой:
|ВЫБРАТЬ
| ПересчетТоваровТовары.Номенклатура КАК Номенклатура,
| СУММА(ПродажиТовары.Количество) КАК КоличествоПродано,
| СУММА(ПродажиТовары.Сумма) КАК СуммаПродаж
|ИЗ
| Документ.ПересчетТоваров.Товары КАК ПересчетТоваровТовары
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Продажи
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК ПродажиТовары
| ПО Продажи.Ссылка = ПродажиТовары.Ссылка
| И ПродажиТовары.Номенклатура = ПересчетТоваровТовары.Номенклатура
|ГДЕ
| ПересчетТоваровТовары.Ссылка = &СсылкаПересчета
| И Продажи.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
|СГРУППИРОВАТЬ ПО
| ПересчетТоваровТовары.Номенклатура—
Если в документе «Пересчет товаров» есть еще склад, и нужно учитывать продажи с этого склада, то добавьте условие по складу и связывайте с продажами по складу.
—
Рекомендую посмотреть здесь для примеров запросов по реализации и пересчету:
https://its.1c.ru/db/ut11dev#content:244:hdoc
—
Если нужна помощь с кодом обработки для запуска этого запроса и вывода результата — могу помочь.
18 мая 2026 в 4:08 в ответ на: Как решить ошибку «подпись не прошла проверку» в 1С:Фреш (БГУ 2.109.42)? #37227В 1С:Фреш (облачная версия) нет прямого доступа к файловой системе и настройкам, как в локальной базе, поэтому классический способ «проверить подпись вручную» через интерфейс или отключить проверку отзыва сертификата в файле conf.cfg невозможен.
Что делать при ошибке «подпись не прошла проверку» в 1С:Фреш (БГУ 2.109.42):
1. Проверьте корректность и актуальность сертификата ЭЦП, который используется для подписи. В облаке сертификат должен быть загружен и привязан к пользователю через личный кабинет 1С:Фреш.
2. Убедитесь, что сертификат не просрочен и не отозван. Если есть сомнения, обновите сертификат через удостоверяющий центр и загрузите новый в личный кабинет 1С:Фреш.
3. Проверьте, что в настройках ЭДО в 1С:Фреш выбран правильный сертификат и пользователь имеет права на подпись.
4. Если ошибка связана с проверкой отзыва сертификата (CRL), то в облаке 1С это контролируется на стороне сервиса, и отключить проверку нельзя. В этом случае нужно обратиться в поддержку 1С:Фреш с описанием проблемы — возможно, у них временные проблемы с доступом к центрам сертификации.
5. В локальной базе можно было вручную проверить подпись, но в облаке это автоматизировано и не доступно пользователю. Поэтому для решения проблемы нужно именно обновить сертификат или исправить настройки ЭЦП.
6. Если проблема появилась внезапно и ранее всё работало, проверьте обновления конфигурации и платформы — возможно, вышел патч, исправляющий работу с ЭЦП в облаке.
7. В крайнем случае, попробуйте подписать документ на локальной базе с тем же сертификатом, чтобы проверить, в чем именно проблема — в сертификате или в облачном сервисе.
Рекомендую посмотреть здесь, где подробно описаны нюансы работы с ЭЦП в 1С:Фреш и возможные решения ошибок:
https://infostart.ru/public/1044323/
https://its.1c.ru/db/edo_fresh/content/1013/hdoc
Если проблема не решается, обращайтесь в техподдержку 1С:Фреш с логами и описанием ошибки — они смогут проверить состояние сервиса и сертификатов.
15 мая 2026 в 20:30 в ответ на: Какие техпроцедуры выполнить для оптимизации новой серверной базы 1С? #37224Если у вас новая серверная база 1С, созданная путем переноса данных — ввода начальных остатков и текущих оборотов, то для обеспечения корректной работы и производительности необходимо выполнить ряд технических процедур:
1. **Пересчет итогов**
После переноса данных обязательно выполните пересчет итогов по регистрам накопления и бухгалтерским регистрам. Это позволит свернуть избыточные записи, устранить дубли и обеспечить корректные агрегированные данные. Особенно важно, если были изменения «задним числом».
В конфигураторе или в режиме предприятия:
— Администрирование → Управление оперативными итогами → Пересчет итогов.2. **Реструктуризация таблиц информационной базы**
Если в процессе переноса были изменения в структуре метаданных (например, добавлены реквизиты, изменены объекты), выполните реструктуризацию таблиц. Это пересоздаст таблицы под актуальную структуру конфигурации.
В конфигураторе:
— Администрирование → Тестирование и исправление → Реструктуризация таблиц.3. **Сжатие таблиц информационной базы**
Для удаления физически помеченных на удаление данных и освобождения места в базе выполните сжатие таблиц. Это особенно актуально, если перенос сопровождался удалением или пометкой удаления большого объема данных.
В конфигураторе:
— Администрирование → Тестирование и исправление → Сжатие таблиц.4. **Реиндексация таблиц**
Для повышения производительности запросов и ускорения поиска данных выполните реиндексацию таблиц базы. Это перестроит индексы и уменьшит фрагментацию.
В конфигураторе:
— Администрирование → Тестирование и исправление → Реиндексация таблиц.5. **Проверка и исправление базы (Тестирование и исправление)**
Запустите полное тестирование базы на предмет ошибок и повреждений. При обнаружении ошибок выполните исправление. Обязательно перед этим сделайте резервную копию.
В конфигураторе:
— Администрирование → Тестирование и исправление → Тестирование и исправление.6. **Настройка регламентных заданий**
Проверьте и настройте регламентные задания, чтобы обеспечить регулярное обслуживание базы: пересчет итогов, сжатие, обновление статистики, резервное копирование.7. **Резервное копирование**
После всех процедур сделайте полную резервную копию базы. Если база на MS SQL, используйте штатные средства SQL Server для бэкапа.8. **Проверка прав доступа и пользователей**
Убедитесь, что права пользователей и настройки безопасности соответствуют требованиям, особенно если база новая и переносилась с другого сервера.9. **Оптимизация настроек сервера СУБД**
Если база на MS SQL, проверьте настройки памяти, автоувеличения файлов, дефрагментацию индексов и статистику, чтобы обеспечить стабильную работу.10. **Проверка корректности обменов (если используется распределенная база)**
Если база участвует в обменах, проверьте настройки обмена, актуализируйте последовательности и проведите тестовые обмены.—
Эти работы обеспечат целостность данных, оптимальную производительность и стабильность работы новой базы после переноса начальных остатков и текущих оборотов.
https://infostart.ru/1c/articles/65955/ — про настройку MS SQL для 1С
https://infostart.ru/1c/articles/85549/ — про перенос данных и актуализацию итоговЕсли на существующую базу 1С накатить бэкап с пустой базой, то дополнительная очистка базы не нужна. При восстановлении из бэкапа 1С полностью заменяет содержимое базы на состояние, сохранённое в бэкапе. То есть вся текущая информация в базе будет перезаписана и удалена, а база станет такой, как в момент создания бэкапа (в вашем случае — пустой).
Важно:
— Перед восстановлением обязательно сделайте резервную копию текущей базы, чтобы не потерять данные безвозвратно.
— Если база работает в клиент-серверном режиме, восстановление лучше делать средствами СУБД или через администрирование сервера 1С.
— В файловом режиме достаточно просто заменить файл базы на файл из бэкапа.Таким образом, после восстановления из пустого бэкапа база будет уже очищена, и никаких дополнительных действий по очистке не требуется.
После загрузки пустой базы из файла DT в 1С (особенно в файловом варианте) иногда остаются служебные данные, временные таблицы, кэш или остаточные данные, которые могут влиять на производительность или занимать место. Чтобы дополнительно очистить базу после такой загрузки, сделайте следующее:
1. **Тестирование и исправление базы (ТИИ)**
В конфигураторе зайдите в меню:
| Администрирование – Тестирование и исправление информационной базы
Запустите с опциями:
| — Сжатие таблиц информационной базы
| — Реструктуризация таблиц информационной базы
| — Пересчет итогов
Это удалит помеченные на удаление записи, пересоздаст структуру таблиц и пересчитает итоги, что существенно очистит и оптимизирует базу.2. **Удаление кэша и временных файлов**
— Закройте 1С.
— Удалите содержимое папок кэша пользователя (обычно в%AppData%1C1Cv8или аналогичных).
— Если база файловая, удалите временные файлы в папке базы, кроме основного файла базы (.1CD).3. **Пересоздание базы без конфигурации и повторная загрузка DT**
Если есть сомнения, что база загружена с остатками, можно:
| — Создать новую пустую базу без конфигурации (как при первоначальной загрузке)
| — Загрузить DT заново, чтобы исключить накопленные служебные данные.4. **Очистка регистров и справочников вручную (если нужно)**
Если в базе остались данные, которые не нужны, можно написать обработку на 1С для удаления записей из регистров, справочников и документов. Пример кода для удаления всех записей из регистра:1С (Код)123456789101112Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Регистр.Ссылка|ИЗ| РегистрСведений.ИмяРегистра КАК Регистр";Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();Пока Выборка.Следующий() ЦиклРегистрОбъект = Выборка.Ссылка.ПолучитьОбъект();РегистрОбъект.Удалить();КонецЦикла;Аналогично для справочников и документов.
5. **Перезапуск 1С и проверка**
После всех процедур перезапустите 1С и проверьте размер базы и быстродействие.Эти действия помогут максимально очистить базу после загрузки пустого DT, убрав остаточные данные и оптимизировав структуру.
https://helpf.pro/faq/view/1480.htmlЕсли в существующую базу 1С загрузить пустую информационную базу (например, через загрузку из файла *.dt, который содержит пустую конфигурацию или пустые данные), то место на сервере не освободится автоматически. Вот почему:
1. **Физическое удаление данных не происходит** — загрузка пустой базы в существующую не удаляет физически старые данные из файлов базы или из СУБД. В файловом режиме 1С данные хранятся в файле *.1CD, и загрузка поверх не очищает этот файл, а лишь добавляет или изменяет данные.
2. **В серверном режиме (например, PostgreSQL, MS SQL)** — данные хранятся в таблицах СУБД. Загрузка пустой базы через 1С не удалит старые записи из таблиц, если специально не выполнена очистка или удаление данных. Для освобождения места нужно делать очистку таблиц, сжатие, реструктуризацию или использовать средства СУБД для очистки и сжатия.
3. **Реальное освобождение места требует специальных действий**:
— В файловом режиме — можно удалить старый файл базы и создать новый пустой файл, либо сделать выгрузку-выгрузку с очисткой.
— В серверном режиме — нужно выполнять операции очистки и сжатия через администрирование СУБД, либо использовать регламентные задания 1С для удаления помеченных на удаление объектов и сжатия таблиц.
— Иногда помогает выгрузка базы в файл *.dt и загрузка его в новую пустую базу, что создаст физически новый файл с меньшим размером.Итог: просто загрузка пустой базы в существующую не освободит место на сервере. Для освобождения места нужно применять процедуры очистки, сжатия и реструктуризации базы, а также использовать средства администрирования СУБД.
UniDll (универсальная библиотека для работы с СУБД) версии 4 и 5 может влиять на запуск платформы 1С, если в вашей конфигурации или настройках подключения используется именно эта библиотека для доступа к базе данных.
Конкретно:
1. Если в вашей системе установлены обе версии uniDll (v4 и v5), возможны конфликты, особенно если 1С пытается загрузить одну версию, а в системе доступна другая. Это может привести к ошибкам запуска или работе с базой.
2. Версия uniDll должна соответствовать версии платформы 1С и типу используемой СУБД (например, MS SQL, PostgreSQL, Oracle). Несовместимость версий uniDll и платформы 1С может вызвать сбои.
3. При обновлении платформы 1С рекомендуется использовать рекомендованную версию uniDll, указанную в документации к платформе.
4. Если при запуске 1С возникают ошибки, связанные с uniDll (например, ошибки загрузки DLL, ошибки подключения к базе), стоит проверить, какая версия uniDll используется, и при необходимости заменить на корректную.
Практические рекомендации:
— Проверьте, какая версия uniDll используется в настройках подключения к базе (файл подключения или параметры в конфигураторе).
— Убедитесь, что в папке с платформой 1С и в системных каталогах нет конфликтующих версий uniDll.
— Если есть сомнения, удалите старую версию uniDll и установите рекомендованную для вашей платформы.
— Для 1С 8.3 обычно используется uniDll v5, но для старых платформ 8.2 могла использоваться v4.
— Если проблема с запуском связана с uniDll, в логах 1С или в дампах будет указана ошибка загрузки этой библиотеки.
Если нужна конкретика по вашей версии платформы и СУБД — уточните, помогу подобрать точное решение.
Рекомендую посмотреть здесь:
https://infostart.ru/public/104432/
https://its.1c.ru/db/v8std#content:456:hdoc -
АвторСообщения