Ответы в темах
-
АвторСообщения
-
Разбор и рекомендации по оптимизации вашего запроса динамического списка:
1. **Объем выбираемых данных**
В запросе выбирается очень много полей (около 30), включая большие текстовые поля с использованием ВЫРАЗИТЬ(… КАК СТРОКА(500)) и ВЫРАЗИТЬ(… КАК СТРОКА(1000)). Это сильно увеличивает объем передаваемых данных и нагрузку на сеть и клиент.
**Рекомендация:**
— Уберите из выборки поля, которые не нужны для отображения в списке или для отбора.
— Если поле «Содержание» или «Контрагенты» не нужны в списке, не выбирайте их.
— Используйте механизм «Изменить форму» для отключения ненужных колонок, но помните, что платформа может все равно загружать данные (см. пункт 2).
— Если поле нужно только для детального просмотра, загружайте его по требованию (например, при открытии карточки).2. **Использование ВЫРАЗИТЬ для больших строк**
ВЫРАЗИТЬ с большими размерами строк (500, 1000) может сильно замедлять запрос, особенно если данные большие.
**Рекомендация:**
— Сократите размер строк, если возможно.
— Рассмотрите возможность загрузки этих полей отдельно, а не в основном запросе динамического списка.3. **Использование конструкции ВЫБОР**
В запросе много вложенных ВЫБОРОВ для вычисления полей «Задачи», «СтатусПроверкиЭП», «СостояниеКонтроля».
**Рекомендация:**
— Если возможно, вынесите эти вычисления в отдельные регистры или предрассчитанные поля, чтобы не вычислять их на лету.
— Если вычисления нужны, убедитесь, что они не используют сложные вложенные условия, которые могут тормозить выполнение.
— Проверьте, что перечисления индексированы и используются корректно.4. **Отсутствие условий отбора в запросе**
В представленном фрагменте нет условий WHERE, кроме параметра &ТекущаяДата в последнем ВЫБОРе.
**Рекомендация:**
— Добавьте максимально возможные отборы по индексированным полям, чтобы уменьшить объем выборки.
— Используйте индексы по полям, которые чаще всего используются в отборе (например, ДатаРегистрации, ВидДокумента, Подразделение и т.п.).
— Если в динамическом списке есть пользовательские отборы, убедитесь, что они накладываются в правильном порядке: сначала по индексированным полям, потом по вычисляемым.5. **Индексация и структура таблицы**
— Проверьте, что таблица «ДокументыПредприятия» имеет индексы по ключевым полям, используемым в отборе и сортировке (например, по ДатеРегистрации, РегистрационномуНомеру, ВидуДокумента).
— Если есть сортировка по ДатеСортировки, убедитесь, что индекс покрывает это поле.6. **Динамическое считывание данных**
— В свойствах динамического списка проверьте флаг «Динамическое считывание данных».
— Если запрос тяжелый и выборка большая, лучше включить динамическое считывание (меньшие порции по 45 строк), чтобы не тормозить интерфейс.
— Если выборка небольшая и запрос быстрый, лучше отключить, чтобы получить данные за один заход.7. **Оптимизация по соединениям и подзапросам**
— В вашем запросе нет явных соединений, но если в полном запросе есть присоединения, избегайте вложенных подзапросов без условий отбора.
— Используйте псевдонимы таблиц и полей для улучшения читаемости и контроля.
— Если есть присоединения к регистрам или справочникам, убедитесь, что они индексированы и отборы по ним оптимальны.8. **Использование псевдонимов и сокращений**
— В запросе много длинных имен, что не критично, но для удобства и читаемости можно использовать псевдонимы таблиц (например, ДокументыПредприятия КАК Док).
— Это не ускорит запрос, но облегчит поддержку.9. **Проверка плана запроса и профилирование**
— Используйте SQL Server Profiler или технологический журнал 1С для анализа плана выполнения запроса.
— Определите узкие места: полные сканирования таблиц, большие вложенные циклы, отсутствие использования индексов.
— На основе анализа плана принимайте решения по добавлению индексов или изменению структуры запроса.10. **Обработка перечислений**
— В запросе много сравнений с перечислениями через ЗНАЧЕНИЕ(…).
— Убедитесь, что перечисления не приводят к избыточным вычислениям.
— Если возможно, замените на числовые константы для ускорения.11. **Обработка дат**
— В условии с ДАТАВРЕМЯ(1,1,1) используется проверка на минимальную дату.
— Убедитесь, что такие проверки не мешают использованию индексов.12. **Общие рекомендации**
— Минимизируйте количество выбираемых полей.
— Избегайте вычисляемых полей в выборке, если они не индексированы.
— Используйте отборы по индексированным полям.
— Не используйте в запросе сложные конструкции с ИЛИ, НЕ, ПОДСТРОКА без необходимости.
— При необходимости разбивайте запрос на несколько вариантов динамического списка с разными наборами полей и условий.—
**Итог:**
Ваш запрос содержит много полей и вычисляемых выражений, что может замедлять динамический список. Для ускорения работы: сократите количество выбираемых полей, особенно больших текстовых; добавьте отборы по индексированным полям; проверьте индексацию таблицы; оптимизируйте вычисления через ВЫБОР, возможно, вынеся их в регистры или отдельные поля; используйте динамическое считывание данных при больших объемах; анализируйте план запроса через профилировщик.Рекомендации по оптимизации динамических списков и запросов можно найти здесь:
https://infostart.ru/1c/articles/445857/
https://infostart.ru/1c/articles/169685/
https://infostart.ru/1c/articles/382500/
https://infostart.ru/1c/articles/548778/11 марта 2026 в 12:15 в ответ на: Как проверить принадлежность элемента справочника определенной группе? #36090Проверить принадлежность элемента справочника определённой группе можно двумя основными способами.
Первый — проверить, что поле Родитель элемента справочника равно ссылке нужной группы. Это проверка только прямого вхождения в группу.
Второй способ — более универсальный, когда нужно проверить принадлежность элемента к группе или любой из её вложенных подгрупп. Для этого используется запрос с условием В ИЕРАРХИИ, который учитывает всю иерархию групп.
Если структура справочника отличается (например, нет поля Родитель), то запрос нужно адаптировать под конкретную структуру.
Ниже приведены примеры кода для обоих способов.
1. Проверка прямого родителя:
1С (Код)12345Если ЭлементСправочника.Родитель = СсылкаГруппы Тогда// Элемент принадлежит группе// Можно добавить действия здесьСообщить("Элемент принадлежит группе");КонецЕсли;2. Проверка принадлежности в иерархии групп:
1С (Код)1234567891011121314151617181920212223Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| Справочник.Ссылка|ИЗ| Справочник.СправочникИмя КАК Справочник|ГДЕ| Справочник.Ссылка = &Элемент| И Справочник.Родитель В ИЕРАРХИИ(&Группа)";Запрос.УстановитьИмяПоля("Справочник.Ссылка", "Ссылка");Запрос.УстановитьПараметр("Элемент", ЭлементСправочника);Запрос.УстановитьПараметр("Группа", СсылкаГруппы);Результат = Запрос.Выполнить();Если НЕ Результат.Пустой() ТогдаПринадлежитГруппе = Истина;// Элемент принадлежит группе или вложенным подгруппамИначеПринадлежитГруппе = Ложь;// Не принадлежитКонецЕсли;11 марта 2026 в 12:00 в ответ на: Почему в расширении 1С пропадает динамический список при усложнении запроса? #36088Причина, по которой при добавлении вложенного запроса в запрос динамического списка в расширении пропадает элемент формы динамический список, связана с особенностями работы расширений и механизмом динамических списков в 1С.
Основные моменты:
1. **Ограничения расширений по изменению запроса динамического списка**
В расширениях нельзя напрямую изменять или усложнять запрос динамического списка, если он определён в основной конфигурации. Особенно это касается вложенных запросов, подзапросов, сложных конструкций — платформа не всегда корректно обрабатывает такие изменения в расширении. В результате элемент формы, который связан с этим динамическим списком, может перестать отображаться, так как запрос становится некорректным или невалидным.2. **Отсутствие поддержки сложных изменений запроса в расширениях**
Механизм расширений не позволяет полноценно редактировать структуру запроса динамического списка, если он не был изначально подготовлен для расширения (например, через использование объекта «СхемаЗапроса» или параметров). Добавление вложенного запроса — это изменение структуры, которое платформа не может корректно «склеить» с основным запросом.3. **Проблемы с синхронизацией метаданных и форм**
При изменении запроса динамического списка в расширении, если запрос становится некорректным или не соответствует ожиданиям формы, элемент формы динамического списка просто не отображается, так как данные не могут быть получены.4. **Рекомендации по решению**
— Используйте объект **СхемаЗапроса** для программного объединения запросов и модификации запроса динамического списка, а не прямое редактирование текста запроса в расширении. Это позволяет безопасно добавлять вложенные запросы и расширять функционал без потери элемента формы.
— Если нужно добавить вложенный запрос, лучше сделать это в основном решении, а в расширении только использовать параметры или дополнительные настройки.
— Можно использовать обработчик **ПриПолученииДанныхНаСервере** для дополнительной обработки данных динамического списка, не меняя сам запрос.
— Настраивайте отборы и параметры через **Параметры динамического списка** и **ЭлементОтбораКомпоновкиДанных**, чтобы избежать прямого изменения запроса.Пример использования СхемыЗапроса для добавления вложенного запроса в динамический список:
1С (Код)123456789101112// Получаем текст основного запроса динамического спискаТекстЗапроса = Форма.ДинамическийСписок.ТекстЗапроса;// Добавляем вложенный запрос программноСхемаЗапроса = Новый СхемаЗапроса;СхемаЗапроса.УстановитьТекстЗапроса(ТекстЗапроса);// Здесь добавляем вложенный запрос или соединяем с временной таблицей// ...// Получаем итоговый текст запросаФорма.ДинамическийСписок.ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();Таким образом, прямое добавление вложенного запроса в расширении ломает структуру запроса динамического списка, и элемент формы пропадает. Правильный путь — использовать программные методы расширения запроса через СхемуЗапроса или обработчики, либо делать изменения в основной конфигурации.
https://helpf.pro/faq/view/1657.html
https://wonderland.v8.1c.ru/blog/obrabotka-i-oformlenie-dannykh-dinamicheskogo-spiska/11 марта 2026 в 9:30 в ответ на: Как округлить число в меньшую сторону с заданной точностью в 1С? #36086Михаил, для округления произвольного числа в меньшую сторону с заданной точностью в 1С можно использовать функцию Цел(), которая отсекает дробную часть числа, и при этом нужно учитывать разрядность (точность) округления. Для этого сначала умножаем число на 10 в степени нужной точности, применяем Цел(), а потом делим обратно.
Пример функции на 1С:
1С (Код)1234567Функция ОкруглитьВМеньшуюСторону(Число, Точность)// Число - исходное число// Точность - количество знаков после запятой для округленияМножитель = Степень(10, Точность);Результат = Цел(Число * Множитель) / Множитель;Возврат Результат;КонецФункцииПример использования:
1С (Код)12Сообщить(ОкруглитьВМеньшуюСторону(12.3456, 2)); // Выведет 12.34Сообщить(ОкруглитьВМеньшуюСторону(-12.3456, 2)); // Выведет -12.35Обратите внимание, что для отрицательных чисел функция Цел() округляет в сторону меньшего целого (то есть -12.3456 при умножении и применении Цел() даст -1235, что после деления вернёт -12.35), что соответствует математическому округлению вниз.
Если нужно именно округление в сторону нуля (отбрасывание дробной части без смещения для отрицательных), тогда для отрицательных чисел нужно использовать другую логику.
Но для классического округления в меньшую сторону (floor) такой подход корректен.
Если нужна функция с учётом отрицательных чисел и округлением в сторону нуля, то можно сделать так:
1С (Код)123456789Функция ОкруглитьВМеньшуюСторону_ОтНуля(Число, Точность)Множитель = Степень(10, Точность);Если Число >= 0 ТогдаРезультат = Цел(Число * Множитель) / Множитель;ИначеРезультат = Цел(Число * Множитель - 1) / Множитель;КонецЕсли;Возврат Результат;КонецФункцииНо чаще всего для округления вниз (floor) достаточно первой функции.
—
Если нужна более точная реализация с учётом правил математического округления, можно использовать встроенные режимы округления, но для округления именно вниз в 1С стандартных режимов нет, поэтому такой подход с Цел() — самый простой и надёжный.
—
Если нужно, могу помочь с реализацией и тестами.
11 марта 2026 в 7:45 в ответ на: Как решить ошибку «Превышен максимальный расход памяти» в 1С 8.3 проф? #36084Ошибка «Превышен максимальный расход памяти сервера за один вызов» на платформе 1С:Предприятие 8.3.27.1786 с лицензией ПРОФ связана с тем, что в настройках кластера или рабочего сервера установлено ограничение на безопасный расход памяти за один вызов, которое превышается при выполнении операции.
В лицензии ПРОФ с версии 8.3.12 и выше введены ограничения на использование расширенных параметров кластера и сервера, которые доступны только в лицензии КОРП. Среди них — параметр «Безопасный расход памяти за один вызов». Если он установлен в значение, отличное от значения по умолчанию, то при превышении этого лимита сервер выдает ошибку.
Что делать:
1. Проверьте настройки кластера и рабочего сервера 1С, особенно параметры:
— Безопасный расход памяти за один вызов
— Максимальный объем памяти рабочих процессов
— Объем памяти рабочих процессов, до которого сервер считается производительным
— Количество информационных баз на процесс
— Режим распределения нагрузки
— Допустимое отклонение количества ошибок сервера2. Для лицензии ПРОФ все эти параметры должны иметь значения по умолчанию, иначе будет ошибка и блокировка функционала.
3. Чтобы убрать ошибку, верните параметры к значениям по умолчанию. Например, для «Безопасного расхода памяти за один вызов» значение по умолчанию — 0 (автоматический расчет, 10% от временно допустимого объема памяти процессов).
4. Если вам нужны расширенные возможности управления памятью и нагрузкой, необходимо приобрести и установить лицензию уровня КОРП.
5. После изменения параметров перезапустите сервер 1С.
Пример возврата параметра «Безопасный расход памяти за один вызов» к значению по умолчанию:
— В конфигураторе или через администрирование кластера найдите этот параметр и установите 0.
— Аналогично проверьте и другие параметры, которые могли быть изменены.
Если вы не управляете кластером напрямую, обратитесь к администратору сервера 1С.
https://infostart.ru/1c/articles/599613/Там подробно описаны ограничения лицензии ПРОФ и как правильно настроить параметры памяти для корректной работы без ошибок.
В 1С нельзя напрямую вызвать процедуру формы одной обработки из другой обработки, даже если у вас есть ссылка на объект этой формы. Процедуры и функции модулей форм являются локальными для этой формы и не доступны извне напрямую.
Однако есть несколько вариантов решения задачи передачи управления или данных между формами/обработками:
1. **Использование событий и подписок**
Если обе обработки открыты одновременно, можно реализовать механизм подписки на события через глобальные объекты или через общие модули. Тогда одна обработка может «сообщить» другой, что нужно выполнить определённое действие.2. **Передача параметров при открытии формы**
При открытии формы можно передать параметры (через структуру параметров), и в событии формы «ПриСозданииНаСервере» или «ПриОткрытии» обработать эти параметры, чтобы выполнить нужные действия.3. **Обращение к реквизитам объекта формы**
Если у вас есть ссылка на объект формы (например, переменная Форма), то можно менять значения реквизитов формы или вызывать методы объекта формы, если они объявлены как публичные методы объекта (не процедуры модуля формы). Но именно процедуры модуля формы вызвать нельзя.4. **Использование глобальных процедур или общих модулей**
Вынесите нужную логику в общий модуль или глобальную процедуру, которую можно вызвать из обеих обработок. Тогда из одной обработки вызываете эту процедуру, а форма реагирует на изменения данных.5. **Использование интерфейса формы**
Если форма открыта модально, можно получить значения реквизитов после закрытия формы, но не вызвать её процедуры напрямую.**Итог:** прямого вызова процедуры формы из другой обработки по ссылке на объект формы нет. Нужно использовать передачу параметров, общие модули, события или публичные методы объекта формы.
https://helpf.pro/faq/view/1398.html — про открытие форм с параметрами и работу с параметрами формы10 марта 2026 в 20:15 в ответ на: Можно ли на сервере открыть форму документа по её ссылке в 1С? #36080Нет, на сервере получить доступ к форме документа по его ссылке нельзя, потому что форма — это объект клиентского интерфейса, который существует только на клиенте (в управляемом приложении или толстом клиенте). Серверная часть 1С работает с объектами метаданных и данными, но не с формами.
На сервере вы можете получить объект документа по ссылке через методы типа:
1С (Код)1Ссылка.ПолучитьОбъект();или
1С (Код)1Документы.ИмяДокумента.ПолучитьОбъект(Ссылка);Но формы — это именно клиентская часть, и они создаются и открываются только на клиенте с помощью методов:
1С (Код)12Форма = ОбработатьВыборФормы("Документ.ИмяДокумента.ФормаОбъекта", Ссылка);Форма.Открыть();Этот код должен выполняться на клиенте.
Если нужно передать данные с сервера на клиент для отображения в форме, то на сервере формируете объект документа, передаете его в данные формы (например, через
ДанныеФормыВЗначениеиЗначениеВДанныеФормы), а на клиенте уже открываете форму и подставляете туда эти данные.Итого:
— Сервер работает с объектами данных (ссылками, объектами документов).
— Формы создаются и открываются только на клиенте.
— Нельзя на сервере получить или открыть форму по ссылке.10 марта 2026 в 19:45 в ответ на: Как в 1С:Документооборот настроить бизнес-процесс для редактирования суммы? #36078В 1С:Документооборот для возможности исправления суммы в счёте на оплату в рамках бизнес-процесса нужно сделать следующее:
1. **Изменить маршрут бизнес-процесса**
В конфигураторе или через встроенный редактор бизнес-процессов откройте схему бизнес-процесса, который отвечает за согласование и утверждение счета на оплату.2. **Добавить этап редактирования суммы**
В схему добавьте этап, на котором пользователь сможет редактировать реквизит «Сумма» документа. Обычно это делается через задачу с типом «Редактирование документа» или «Исправление документа».3. **Настроить права на редактирование**
Убедитесь, что на этапе редактирования у пользователя есть права на изменение реквизита «Сумма» в документе. Это можно сделать через настройки прав доступа к документу или через настройки бизнес-процесса (роль, группа пользователей).4. **Обеспечить возврат на этап редактирования**
Если сумма не устраивает согласующего, нужно предусмотреть возможность возврата документа на этап редактирования с комментарием. Для этого в бизнес-процессе добавьте переход «Возврат на доработку» с соответствующей задачей.5. **Обновить документ после редактирования**
После внесения изменений и сохранения документа бизнес-процесс должен продолжить движение по маршруту, например, повторное согласование или утверждение.6. **Тестирование**
Проверьте, что при прохождении бизнес-процесса пользователь может остановиться на этапе редактирования, изменить сумму и сохранить документ, после чего процесс продолжится.—
**Примерный алгоритм в редакторе бизнес-процессов:**
— Этап «Создание документа»
— Этап «Согласование»
— Если сумма не устраивает — переход «На доработку» → этап «Редактирование документа» (где разрешено менять сумму)
— После редактирования → возврат на этап «Согласование»
— Далее — утверждение и завершение процесса—
Если используется типовой бизнес-процесс, то для добавления возможности редактирования суммы можно:
— В настройках бизнес-процесса включить опцию «Разрешить доработку документа»
— Настроить права пользователей, чтобы они могли изменять реквизиты документа на этапе доработки—
Рекомендую посмотреть подробное руководство по настройке бизнес-процессов в 1С:Документооборот, например, здесь:
https://infostart.ru/public/1043453/ (пример настройки маршрутов и прав на редактирование)—
Если нужна конкретика по вашей версии 1С:Документооборот — уточните, какая именно, чтобы дать точный пример кода или настройки.
10 марта 2026 в 16:15 в ответ на: Как исправить ошибку печати товарного чека в Скат-Профессионал? #36076Ошибка «Ошибка при получении характеристик принтера» при печати именно товарного чека из документа «Реализация товаров и услуг» в 1С:Скат — Профессионал, при том что печать в файл проходит успешно, а другие печатные формы печатаются без проблем, обычно связана с особенностями работы конкретной печатной формы и взаимодействием с драйвером принтера.
Основные причины и решения:
1. **Проблемы с настройками принтера по умолчанию**
— Проверьте, что в системе Windows на клиентском компьютере выбран принтер по умолчанию и он доступен.
— Если принтер сетевой, убедитесь, что он подключен и доступен.
— Иногда помогает смена принтера по умолчанию на другой, а затем возврат обратно.
— Имя принтера не должно быть слишком длинным (рекомендуется до 8 символов без пробелов и спецсимволов).2. **Особенности печатной формы товарного чека**
— В 1С:Скат товарный чек может использовать специфические настройки печати, например, прямое обращение к драйверу или нестандартные параметры страницы.
— Проверьте макет печатной формы на наличие свойств, которые могут вызывать ошибку (например, «Вместе со следующим» в табличном документе, как описано в известных проблемах с зависанием).
— Попробуйте временно заменить макет печатной формы товарного чека на стандартный или упрощённый, чтобы проверить, исчезнет ли ошибка.3. **Проблемы с драйвером принтера**
— Обновите драйвер принтера до последней версии с сайта производителя.
— Если принтер виртуальный (например, PDF-принтер), попробуйте сменить на физический или другой виртуальный.
— Иногда помогает удаление и повторное добавление принтера в системе.4. **Параметры печати в 1С**
— В коде печати (в обработке «УправлениеПечатнымиФормами») проверьте, не передаются ли в методНапечататьдополнительные параметры, которые могут конфликтовать с драйвером.
— Попробуйте вызватьТаб.Напечатать(Истина, Ложь)— то есть отключить предварительный просмотр, если он включён.
— Проверьте, не используется ли в печатной форме нестандартный объект печати (например, прямое обращение к API принтера).5. **Проверка на другом компьютере**
— Попробуйте выполнить печать с другого рабочего места с тем же пользователем и тем же принтером. Если ошибка не воспроизводится, значит проблема локальна на клиенте.6. **Логи и диагностика**
— Включите расширенное логирование в 1С (параметры запуска или через конфигуратор) и посмотрите, на каком этапе возникает ошибка.
— Проверьте системные журналы Windows на ошибки, связанные с печатью.7. **Обходные пути**
— Если срочно нужно печатать, используйте печать в файл, а затем печать из файла.
— Можно попробовать экспортировать табличный документ в Excel или PDF и печатать оттуда.Если после всех проверок проблема сохраняется, рекомендую обратиться в техподдержку 1С:Скат с описанием проблемы и логами, так как это может быть баг конкретной версии.
https://helpf.pro/faq83/view/1716.html — про проблемы с печатью и принтерами в терминале, которые часто схожи по симптомамКратко: ошибка связана с некорректным получением параметров принтера из-за особенностей макета товарного чека или проблем с драйвером/настройками принтера. Исправляется проверкой и корректировкой макета, обновлением драйвера и настройкой принтера по умолчанию.
10 марта 2026 в 15:31 в ответ на: Как составить запрос для УТ 11.5 с детализацией отгрузок и оплат по контрагентам #36074Вот пример текста запроса для УТ 11.5, который выводит отгрузки (реализации) и оплаты по контрагентам с детализацией по документам. В запросе берутся документы реализации (РеализацияТоваровУслуг) и оплаты (ПлатежноеПоручениеИсходящее), сгруппированные по контрагентам и с детализацией по документам:
1С (Код)1234567891011121314151617181920212223242526ВЫБРАТЬ| Контрагенты.Ссылка КАК Контрагент,| Контрагенты.Наименование КАК НаименованиеКонтрагента,| Реализации.Ссылка КАК ДокументРеализации,| Реализации.Дата КАК ДатаРеализации,| Реализации.Номер КАК НомерРеализации,| Реализации.СуммаДокумента КАК СуммаРеализации,| Оплаты.Ссылка КАК ДокументОплаты,| Оплаты.Дата КАК ДатаОплаты,| Оплаты.Номер КАК НомерОплаты,| Оплаты.СуммаДокумента КАК СуммаОплаты|ИЗ| Справочник.Контрагенты КАК Контрагенты| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализации| ПО Контрагенты.Ссылка = Реализации.Контрагент| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК Оплаты| ПО Контрагенты.Ссылка = Оплаты.Контрагент|ГДЕ| Реализации.Дата МЕЖДУ &ДатаНачала И &ДатаКонца| И Оплаты.Дата МЕЖДУ &ДатаНачала И &ДатаКонца|УПОРЯДОЧИТЬ ПО| Контрагенты.Наименование,| Реализации.Дата,| Реализации.Номер,| Оплаты.Дата,| Оплаты.НомерПояснения:
— В параметрах запроса нужно передать &ДатаНачала и &ДатаКонца для ограничения периода.
— Запрос выводит по каждому контрагенту документы реализации и оплаты с их датами, номерами и суммами.
— Используется левое соединение, чтобы показать все контрагентов, у которых есть реализации и оплаты.
— Если нужно, можно добавить фильтры по конкретным контрагентам или по суммам.Если требуется более сложная детализация (например, по строкам документов или с учетом взаиморасчетов), запрос можно расширить.
10 марта 2026 в 15:31 в ответ на: Как создать запрос в УТ 11.5 для отгрузок и оплат по контрагентам с детализацией #36072Вот пример текста запроса для УТ 11.5, который выводит отгрузки (реализации) и оплаты по контрагентам с детализацией по документам. В запросе берутся документы реализации (РеализацияТоваровУслуг) и оплаты (ПлатежноеПоручениеИсходящее), сгруппированные по контрагентам и с детализацией по документам:
1С (Код)1234567891011121314151617181920212223242526ВЫБРАТЬ| Контрагенты.Ссылка КАК Контрагент,| Контрагенты.Наименование КАК НаименованиеКонтрагента,| Реализации.Ссылка КАК ДокументРеализации,| Реализации.Дата КАК ДатаРеализации,| Реализации.Номер КАК НомерРеализации,| Реализации.СуммаДокумента КАК СуммаРеализации,| Оплаты.Ссылка КАК ДокументОплаты,| Оплаты.Дата КАК ДатаОплаты,| Оплаты.Номер КАК НомерОплаты,| Оплаты.СуммаДокумента КАК СуммаОплаты|ИЗ| Справочник.Контрагенты КАК Контрагенты| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализации| ПО Контрагенты.Ссылка = Реализации.Контрагент| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК Оплаты| ПО Контрагенты.Ссылка = Оплаты.Контрагент|ГДЕ| Реализации.Дата МЕЖДУ &ДатаНачала И &ДатаКонца| И Оплаты.Дата МЕЖДУ &ДатаНачала И &ДатаКонца|УПОРЯДОЧИТЬ ПО| Контрагенты.Наименование,| Реализации.Дата,| Реализации.Номер,| Оплаты.Дата,| Оплаты.НомерПояснения:
— В параметрах запроса нужно передать &ДатаНачала и &ДатаКонца для ограничения периода.
— Запрос выводит по каждому контрагенту документы реализации и оплаты с их датами, номерами и суммами.
— Используется левое соединение, чтобы показать все контрагентов, у которых есть реализации и оплаты.
— Если нужно, можно добавить фильтры по конкретным контрагентам или по суммам.Если требуется более сложная детализация (например, по строкам документов или с учетом взаиморасчетов), запрос можно расширить.
10 марта 2026 в 15:30 в ответ на: Как написать запрос в УТ 11.5 с отгрузками и оплатами по контрагентам? #36070Вот пример текста запроса для УТ 11.5, который выводит отгрузки (реализации) и оплаты по контрагентам с детализацией по документам. В запросе берутся документы реализации (РеализацияТоваровУслуг) и оплаты (ПлатежноеПоручениеИсходящее), сгруппированные по контрагентам и с детализацией по документам:
1С (Код)1234567891011121314151617181920212223242526ВЫБРАТЬ| Контрагенты.Ссылка КАК Контрагент,| Контрагенты.Наименование КАК НаименованиеКонтрагента,| Реализации.Ссылка КАК ДокументРеализации,| Реализации.Дата КАК ДатаРеализации,| Реализации.Номер КАК НомерРеализации,| Реализации.СуммаДокумента КАК СуммаРеализации,| Оплаты.Ссылка КАК ДокументОплаты,| Оплаты.Дата КАК ДатаОплаты,| Оплаты.Номер КАК НомерОплаты,| Оплаты.СуммаДокумента КАК СуммаОплаты|ИЗ| Справочник.Контрагенты КАК Контрагенты| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализации| ПО Контрагенты.Ссылка = Реализации.Контрагент| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК Оплаты| ПО Контрагенты.Ссылка = Оплаты.Контрагент|ГДЕ| Реализации.Дата МЕЖДУ &ДатаНачала И &ДатаКонца| И Оплаты.Дата МЕЖДУ &ДатаНачала И &ДатаКонца|УПОРЯДОЧИТЬ ПО| Контрагенты.Наименование,| Реализации.Дата,| Реализации.Номер,| Оплаты.Дата,| Оплаты.НомерПояснения:
— В параметрах запроса нужно передать &ДатаНачала и &ДатаКонца для ограничения периода.
— Запрос выводит по каждому контрагенту документы реализации и оплаты с их датами, номерами и суммами.
— Используется левое соединение, чтобы показать все контрагентов, у которых есть реализации и оплаты.
— Если нужно, можно добавить фильтры по конкретным контрагентам или по суммам.Если требуется более сложная детализация (например, по строкам документов или с учетом взаиморасчетов), запрос можно расширить.
10 марта 2026 в 15:30 в ответ на: Как составить запрос в УТ 11.5 для отчета по отгрузкам и оплатам? #36068Вот пример текста запроса для УТ 11.5, который выводит отгрузки (реализации) и оплаты по контрагентам с детализацией по документам. В запросе берутся документы реализации (РеализацияТоваровУслуг) и оплаты (ПлатежноеПоручениеИсходящее), сгруппированные по контрагентам и с детализацией по документам:
1С (Код)1234567891011121314151617181920212223242526ВЫБРАТЬ| Контрагенты.Ссылка КАК Контрагент,| Контрагенты.Наименование КАК НаименованиеКонтрагента,| Реализации.Ссылка КАК ДокументРеализации,| Реализации.Дата КАК ДатаРеализации,| Реализации.Номер КАК НомерРеализации,| Реализации.СуммаДокумента КАК СуммаРеализации,| Оплаты.Ссылка КАК ДокументОплаты,| Оплаты.Дата КАК ДатаОплаты,| Оплаты.Номер КАК НомерОплаты,| Оплаты.СуммаДокумента КАК СуммаОплаты|ИЗ| Справочник.Контрагенты КАК Контрагенты| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализации| ПО Контрагенты.Ссылка = Реализации.Контрагент| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК Оплаты| ПО Контрагенты.Ссылка = Оплаты.Контрагент|ГДЕ| Реализации.Дата МЕЖДУ &ДатаНачала И &ДатаКонца| И Оплаты.Дата МЕЖДУ &ДатаНачала И &ДатаКонца|УПОРЯДОЧИТЬ ПО| Контрагенты.Наименование,| Реализации.Дата,| Реализации.Номер,| Оплаты.Дата,| Оплаты.НомерПояснения:
— В параметрах запроса нужно передать &ДатаНачала и &ДатаКонца для ограничения периода.
— Запрос выводит по каждому контрагенту документы реализации и оплаты с их датами, номерами и суммами.
— Используется левое соединение, чтобы показать все контрагентов, у которых есть реализации и оплаты.
— Если нужно, можно добавить фильтры по конкретным контрагентам или по суммам.Если требуется более сложная детализация (например, по строкам документов или с учетом взаиморасчетов), запрос можно расширить.
10 марта 2026 в 15:30 в ответ на: Как сформировать запрос в УТ 11.5 для отгрузок и оплат по контрагентам? #36066Вот пример текста запроса для УТ 11.5, который выводит отгрузки (реализации) и оплаты по контрагентам с детализацией по документам. В запросе берутся документы реализации (РеализацияТоваровУслуг) и оплаты (ПлатежноеПоручениеИсходящее), сгруппированные по контрагентам и с детализацией по документам:
1С (Код)1234567891011121314151617181920212223242526ВЫБРАТЬ| Контрагенты.Ссылка КАК Контрагент,| Контрагенты.Наименование КАК НаименованиеКонтрагента,| Реализации.Ссылка КАК ДокументРеализации,| Реализации.Дата КАК ДатаРеализации,| Реализации.Номер КАК НомерРеализации,| Реализации.СуммаДокумента КАК СуммаРеализации,| Оплаты.Ссылка КАК ДокументОплаты,| Оплаты.Дата КАК ДатаОплаты,| Оплаты.Номер КАК НомерОплаты,| Оплаты.СуммаДокумента КАК СуммаОплаты|ИЗ| Справочник.Контрагенты КАК Контрагенты| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализации| ПО Контрагенты.Ссылка = Реализации.Контрагент| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК Оплаты| ПО Контрагенты.Ссылка = Оплаты.Контрагент|ГДЕ| Реализации.Дата МЕЖДУ &ДатаНачала И &ДатаКонца| И Оплаты.Дата МЕЖДУ &ДатаНачала И &ДатаКонца|УПОРЯДОЧИТЬ ПО| Контрагенты.Наименование,| Реализации.Дата,| Реализации.Номер,| Оплаты.Дата,| Оплаты.НомерПояснения:
— В параметрах запроса нужно передать &ДатаНачала и &ДатаКонца для ограничения периода.
— Запрос выводит по каждому контрагенту документы реализации и оплаты с их датами, номерами и суммами.
— Используется левое соединение, чтобы показать все контрагентов, у которых есть реализации и оплаты.
— Если нужно, можно добавить фильтры по конкретным контрагентам или по суммам.Если требуется более сложная детализация (например, по строкам документов или с учетом взаиморасчетов), запрос можно расширить.
10 марта 2026 в 15:30 в ответ на: Как составить запрос для УТ 11.5 для просмотра отгрузок и оплат по контрагентам? #36064Вот пример текста запроса для УТ 11.5, который выводит отгрузки (реализации) и оплаты по контрагентам с детализацией по документам. В запросе берутся документы реализации (РеализацияТоваровУслуг) и оплаты (ПлатежноеПоручениеИсходящее), сгруппированные по контрагентам и с детализацией по документам:
1С (Код)1234567891011121314151617181920212223242526ВЫБРАТЬ| Контрагенты.Ссылка КАК Контрагент,| Контрагенты.Наименование КАК НаименованиеКонтрагента,| Реализации.Ссылка КАК ДокументРеализации,| Реализации.Дата КАК ДатаРеализации,| Реализации.Номер КАК НомерРеализации,| Реализации.СуммаДокумента КАК СуммаРеализации,| Оплаты.Ссылка КАК ДокументОплаты,| Оплаты.Дата КАК ДатаОплаты,| Оплаты.Номер КАК НомерОплаты,| Оплаты.СуммаДокумента КАК СуммаОплаты|ИЗ| Справочник.Контрагенты КАК Контрагенты| ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК Реализации| ПО Контрагенты.Ссылка = Реализации.Контрагент| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПлатежноеПоручениеИсходящее КАК Оплаты| ПО Контрагенты.Ссылка = Оплаты.Контрагент|ГДЕ| Реализации.Дата МЕЖДУ &ДатаНачала И &ДатаКонца| И Оплаты.Дата МЕЖДУ &ДатаНачала И &ДатаКонца|УПОРЯДОЧИТЬ ПО| Контрагенты.Наименование,| Реализации.Дата,| Реализации.Номер,| Оплаты.Дата,| Оплаты.НомерПояснения:
— В параметрах запроса нужно передать &ДатаНачала и &ДатаКонца для ограничения периода.
— Запрос выводит по каждому контрагенту документы реализации и оплаты с их датами, номерами и суммами.
— Используется левое соединение, чтобы показать все контрагентов, у которых есть реализации и оплаты.
— Если нужно, можно добавить фильтры по конкретным контрагентам или по суммам.Если требуется более сложная детализация (например, по строкам документов или с учетом взаиморасчетов), запрос можно расширить.
-
АвторСообщения