Получает обороты по регистру бухгалтерии на заданный момент. Обороты получаются в разрезе заданных измерений и по заданным ресурсам. В измерения входят счет дебета, субконто дебета, счет кредита, субконто кредита, измерения кредита, измерения (для балансовых) и измерения дебета, измерения кредита (для не балансовых).
Синтаксис
ОборотыДтКт(<НачалоПериода>, <КонецПериода>, <ВидыСубконтоДт>, <ВидыСубконтоКт>, <Отбор>, <Измерения>, <Ресурсы>)Полное описание, параметры и ограничения
РегистрБухгалтерииМенеджер.<Имя регистра бухгалтерии>.ОборотыДтКт (AccountingRegisterManager.<Accounting register name>.DrCrTurnovers)
РегистрБухгалтерииМенеджер.<Имя регистра бухгалтерии> (AccountingRegisterManager.<Accounting register name>)
ОборотыДтКт (DrCrTurnovers)
Доступен, начиная с версии 8.0.
Синтаксис:
ОборотыДтКт(<НачалоПериода>, <КонецПериода>, <ВидыСубконтоДт>, <ВидыСубконтоКт>, <Отбор>, <Измерения>, <Ресурсы>)
Параметры:
<НачалоПериода> (необязательный)
Тип: Дата, МоментВремени, Граница.
Момент времени, начиная с которого необходимо получить обороты. Если параметр не указан, то обороты будут получены начиная с момента ведения базы данных. Если в качестве параметра передана Дата или МоментВремени, то обороты за указанную дату (момент времени) будут включены в результирующую таблицу значений.
<КонецПериода> (необязательный)
Тип: Дата, МоментВремени, Граница.
Момент времени, определяющий конец периода за который необходимо получить обороты. Если параметр не указан, то обороты будут получены до самого позднего движения регистра. Если в качестве параметра передана Дата или МоментВремени, то обороты за указанную дату (момент времени) будут включены в результирующую таблицу значений.
<ВидыСубконтоДт> (необязательный)
Тип: ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>, Массив, ФиксированныйМассив.
Передается ссылка, или массив ссылок, или фиксированный массив ссылок на виды субконто. Параметр определяет, какие значения субконто дебета будут доступны по именам "СубконтоДт1", "СубконтоДт2" и т.д. Кроме того, обороты будут посчитаны только по счетам дебета, имеющим заданные виды субконто дебета. Если параметр не задан, то обращение к значениям субконто дебета осуществляется по порядку (индексу), как они определены на соответствующем счете.
Параметр не существует, если при конфигурировании для плана счетов не указаны субконто.
<ВидыСубконтоКт> (необязательный)
Тип: ПланВидовХарактеристикСсылка.<Имя плана видов характеристик>, Массив, ФиксированныйМассив.
Передается ссылка, или массив ссылок, или фиксированный массив ссылок на виды субконто. Виды субконто определяют, какие значения субконто кредита будут доступны по именам "СубконтоКт1", "СубконтоКт2" и т.д. Кроме того, обороты будут посчитаны только по счетам кредита, имеющим заданные виды субконто кредита. Если виды субконто кредита не заданы, то обращение к значениям субконто кредита осуществляется по порядку, как они определены на соответствующем счете.
Параметр не существует, если при конфигурировании для плана счетов не указаны субконто.
<Отбор> (необязательный)
Тип: Структура.
Структура, содержащая набор значений измерений регистра, по которым надо отбирать итоги. Допустимые значения ключа: СчетДт, СубконтоДт<Номер>, СчетКт, СубконтоКт<Номер>, <Имя измерения> или <Имя измерения>Дт и <Имя измерения>Кт.
Если параметр не указан, то отбор не используется.
<Измерения> (необязательный)
Тип: Строка, Неопределено.
Список измерений, для которых надо получить обороты. Строка, содержащая имена измерений, разделенных запятыми. Допустимые имена измерений: СчетДт, СубконтоДт<Номер>, СчетКт, СубконтоКт<Номер>, <Имя измерения> или <Имя измерения>Дт и <Имя измерения>Кт.
Если параметр не указан или указано Неопределено, то обороты будут сформированы по всем измерениям.
Значение по умолчанию: Неопределено.
<Ресурсы> (необязательный)
Тип: Строка, Неопределено.
Список ресурсов, для которых надо получить обороты. Строка, содержащая имена ресурсов, разделенных запятыми.
Если параметр не указан или указано Неопределено, то обороты будут сформированы по всем ресурсам.
Значение по умолчанию: Неопределено.
Возвращаемое значение:
Тип: ТаблицаЗначений.
Описание:
Получает обороты по регистру бухгалтерии на заданный момент. Обороты получаются в разрезе заданных измерений и по заданным ресурсам. В измерения входят счет дебета, субконто дебета, счет кредита, субконто кредита, измерения кредита, измерения (для балансовых) и измерения дебета, измерения кредита (для не балансовых).
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Параметры "Виды субконто Дт" и "Виды субконто Кт" не существуют, если при конфигурировании для плана счетов не указаны субконто.
Использование в версии:
Доступен, начиная с версии 8.0.
Методическая информация
Практические примеры
Убедиться, что проводки только в памяти не попали в остатки и обороты
Заполненный набор 750/50 не записан. Три менеджерских отчёта читают базу и по уникальной собственной метке возвращают пустые таблицы.
Где и как запускать
Полный серверный общий модуль собственной конфигурации УчебнаяБухгалтерия85. Нет работы с регистрами БП/КА2.
Подготовка
Создайте НОВУЮ пустую файловую базу с именем корневой конфигурации УчебнаяБухгалтерия85, управляемым режимом блокировок. Это отдельный стенд, не УТ/КА2/УНФ/БП и не копия с рабочими данными.
Планы счетов → УчебныеСчета85: код Строка 20, Максимальное количество субконто 0, без флагов учёта. Создайте два предопределённых негрупповых счёта: УчебныйАктив, код DEMO-A, вид Активный; УчебныйПассив, код DEMO-P, вид Пассивный. Оба не забалансовые. Не создавайте счёт 41/60 и не называйте опыт реальным планом бухучёта.
Документы → УчебнаяОперация85: номер Строка 40, автонумерация выключена. Без пользовательских реквизитов, проведения, обработчиков, подписок, планов обмена и внешних вызовов.
Регистры бухгалтерии → УчебныеПроводки85: план УчебныеСчета85, Корреспонденция включена. Единственное измерение МеткаОперации: Строка 80, Балансовый включён, проверка заполнения Показывать ошибку. Единственный ресурс Сумма: Число 15,2, Балансовый включён. Реквизитов нет. Длина уточнения периода 3.
Создайте второй регистр УчебныеОдносторонние85 с теми же планом, измерением, ресурсом и длиной уточнения периода, но Корреспонденция выключена. У обоих единственный регистратор УчебнаяОперация85. Модули наборов и документа пустые, кроме отдельной экспортной учебной процедуры в последнем уроке.
Обновите конфигурацию базы данных и убедитесь, что предопределённые счета созданы как данные. Создайте серверный общий модуль УчебнаяБухгалтерияПримеры с флагом Сервер. Вставьте весь модуль одного урока, вызовите УчебнаяБухгалтерияПримеры.ВыполнитьПример() из серверной команды своей обработки.
Первые семь задач не записывают данные. Восьмая кратковременно записывает собственный документ и проводки в собственной транзакции, которую обязательно отменяет. Девятая относится к модулю собственного набора, а не общему модулю.
Отмена транзакции не отменяет письма, HTTP и внешние файлы. Поэтому у собственного документа и наборов не должно быть таких обработчиков или подписок. Привилегированный режим не включается.
В обоих собственных регистрах использование итогов включено. Для урока выборки по метке у измерения МеткаОперации включите Индексировать, затем обновите конфигурацию базы данных.
Метка каждой задачи содержит новый UUID. Не подставляйте DEMO-BOOK или метку другого опыта: отчёт должен читать только собственные временные проводки.
План без субконто: фактические вызовы Остатки имеют четыре аргумента, Обороты и ОборотыДтКт — пять. В плане с субконто набор аргументов будет другим.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Документы.Количество() <> 1
ИЛИ Метаданные.ПланыСчетов.Количество() <> 1
ИЛИ Метаданные.РегистрыБухгалтерии.Количество() <> 2
ИЛИ Метаданные.Документы.Найти("УчебнаяОперация85") = Неопределено
ИЛИ Метаданные.ПланыСчетов.Найти("УчебныеСчета85") = Неопределено Тогда
ВызватьИсключение "Разрешены только собственные документ, план счетов и два регистра";
КонецЕсли;
Если Метаданные.ПланыСчетов.УчебныеСчета85.МаксКоличествоСубконто <> 0 Тогда
ВызватьИсключение "В этом опыте план счетов без субконто";
КонецЕсли;
Для Каждого ИмяРегистра Из СтрРазделить("УчебныеПроводки85,УчебныеОдносторонние85", ",") Цикл
Описание = Метаданные.РегистрыБухгалтерии.Найти(ИмяРегистра);
Если Описание = Неопределено Тогда
ВызватьИсключение "Не найден собственный регистр " + ИмяРегистра;
КонецЕсли;
Если Описание.Корреспонденция <> (ИмяРегистра = "УчебныеПроводки85")
ИЛИ Описание.ПланСчетов.Имя <> "УчебныеСчета85"
ИЛИ Описание.Измерения.Количество() <> 1
ИЛИ Описание.Ресурсы.Количество() <> 1
ИЛИ Описание.Реквизиты.Количество() <> 0
ИЛИ Описание.Измерения.Найти("МеткаОперации") = Неопределено
ИЛИ Описание.Ресурсы.Найти("Сумма") = Неопределено
ИЛИ Описание.ДлинаУточненияПериода <> 3 Тогда
ВызватьИсключение "Схема собственного регистра отличается от учебной";
КонецЕсли;
КонецЦикла;
СчетДебета = ПланыСчетов.УчебныеСчета85.УчебныйАктив;
СчетКредита = ПланыСчетов.УчебныеСчета85.УчебныйПассив;
Если СчетДебета.Пустая() ИЛИ СчетКредита.Пустая() Тогда
ВызватьИсключение "Нужны два собственных предопределённых счёта";
КонецЕсли;
Если СчетДебета.ПолучитьОбъект() = Неопределено ИЛИ СчетКредита.ПолучитьОбъект() = Неопределено Тогда
ВызватьИсключение "Данные собственных счетов не созданы";
КонецЕсли;
Менеджер = РегистрыБухгалтерии.УчебныеПроводки85;
Если НЕ Менеджер.ПолучитьИспользованиеИтогов() Тогда
ВызватьИсключение "У собственного регистра должны быть включены итоги; урок их автоматически не включает";
КонецЕсли;
Начало = Дата(2026, 9, 15, 0, 0, 0);
Конец = Дата(2026, 9, 16, 0, 0, 0);
СвояМетка = "REPORT-" + Строка(Новый УникальныйИдентификатор);
СвояСсылка = Документы.УчебнаяОперация85.ПолучитьСсылку(Новый УникальныйИдентификатор);
Набор = СвойНаборПроводок(СвояСсылка, СчетДебета, СчетКредита);
Для Каждого Запись Из Набор Цикл
Запись.МеткаОперации = СвояМетка;
КонецЦикла;
ОтборОстатка = Новый Структура("Счет,МеткаОперации", СчетДебета, СвояМетка);
ОтборПар = Новый Структура("СчетДт,СчетКт,МеткаОперации", СчетДебета, СчетКредита, СвояМетка);
Остатки = Менеджер.Остатки(Конец, ОтборОстатка, "Счет,МеткаОперации", "Сумма");
Обороты = Менеджер.Обороты(Начало, Конец, ОтборОстатка, "Счет,МеткаОперации", "Сумма");
Пары = Менеджер.ОборотыДтКт(Начало, Конец, ОтборПар, "СчетДт,СчетКт,МеткаОперации", "Сумма");
Сообщить(Набор.Количество() = 2 И Набор.Итог("Сумма") = 800);
Сообщить(Остатки.Количество() = 0);
Сообщить(Обороты.Количество() = 0);
Сообщить(Пары.Количество() = 0);
Сообщить(СвояСсылка.ПолучитьОбъект() = Неопределено);
КонецПроцедуры
Функция СвойНаборПроводок(СвояСсылка, СчетДебета, СчетКредита)
Набор = РегистрыБухгалтерии.УчебныеПроводки85.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(СвояСсылка);
Для Каждого СуммаСтроки Из СтрРазделить("750,50", ",") Цикл
Запись = Набор.Добавить();
ЗаполнитьСвоюПроводку(Запись, СвояСсылка, СчетДебета, СчетКредита, Число(СуммаСтроки));
КонецЦикла;
Возврат Набор;
КонецФункции
Процедура ЗаполнитьСвоюПроводку(Запись, СвояСсылка, СчетДебета, СчетКредита, СуммаСтроки)
Запись.Период = Дата(2026, 9, 15, 10, 0, 0);
Запись.Регистратор = СвояСсылка;
Запись.Активность = Истина;
Запись.СчетДт = СчетДебета;
Запись.СчетКт = СчетКредита;
Запись.МеткаОперации = "DEMO-BOOK";
Запись.Сумма = СуммаСтроки;
КонецПроцедурыРазбор по шагам
Создать собственные две незаписанные проводки и назначить всем строкам уникальную метку REPORT-<UUID>.
Для Остатки/Обороты отбор содержит Счет; для ОборотыДтКт — СчетДт и СчетКт. Балансовая метка не делится на Дт/Кт.
Поскольку план без субконто, параметры их видов отсутствуют. Передать отбор сразу после периода/периодов.
Вызвать три метода, которые читают базу, не локальный Набор. Сумма в памяти 800, таблицы базы пустые.
Проверить, что ссылка на документ также ещё не существует как записанный объект.
Как проверить результат
Пять сообщений Истина: в памяти две строки 800, три таблицы базы пусты, документ не записан.
Ни один метод не вызван с выдуманными лишними параметрами субконто.
Ожидаемый результат
Отдельный опыт объясняет границу между набором памяти и менеджером регистров базы.
На что обратить внимание
Для плана с субконто сигнатура другая; нельзя слепо копировать число запятых из чужой конфигурации.
Уникальная метка ограничивает выборку своей задачей, но в рабочей базе это не заменяет правила доступа.
Отчёты требуют включённых итогов; здесь при отключённых итогах возникает объяснение, а не скрытый пересчёт.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.
В своей транзакции получить остаток и два вида оборотов по проводкам 800
После записи собственных строк таблицы содержат данные. Дата для Остатки означает начало дня; фактические колонки выводятся из полученной таблицы, без угадывания имён суффиксов.
Где и как запускать
Полный серверный общий модуль собственной конфигурации УчебнаяБухгалтерия85. Нет работы с регистрами БП/КА2.
Подготовка
Создайте НОВУЮ пустую файловую базу с именем корневой конфигурации УчебнаяБухгалтерия85, управляемым режимом блокировок. Это отдельный стенд, не УТ/КА2/УНФ/БП и не копия с рабочими данными.
Планы счетов → УчебныеСчета85: код Строка 20, Максимальное количество субконто 0, без флагов учёта. Создайте два предопределённых негрупповых счёта: УчебныйАктив, код DEMO-A, вид Активный; УчебныйПассив, код DEMO-P, вид Пассивный. Оба не забалансовые. Не создавайте счёт 41/60 и не называйте опыт реальным планом бухучёта.
Документы → УчебнаяОперация85: номер Строка 40, автонумерация выключена. Без пользовательских реквизитов, проведения, обработчиков, подписок, планов обмена и внешних вызовов.
Регистры бухгалтерии → УчебныеПроводки85: план УчебныеСчета85, Корреспонденция включена. Единственное измерение МеткаОперации: Строка 80, Балансовый включён, проверка заполнения Показывать ошибку. Единственный ресурс Сумма: Число 15,2, Балансовый включён. Реквизитов нет. Длина уточнения периода 3.
Создайте второй регистр УчебныеОдносторонние85 с теми же планом, измерением, ресурсом и длиной уточнения периода, но Корреспонденция выключена. У обоих единственный регистратор УчебнаяОперация85. Модули наборов и документа пустые, кроме отдельной экспортной учебной процедуры в последнем уроке.
Обновите конфигурацию базы данных и убедитесь, что предопределённые счета созданы как данные. Создайте серверный общий модуль УчебнаяБухгалтерияПримеры с флагом Сервер. Вставьте весь модуль одного урока, вызовите УчебнаяБухгалтерияПримеры.ВыполнитьПример() из серверной команды своей обработки.
Первые семь задач не записывают данные. Восьмая кратковременно записывает собственный документ и проводки в собственной транзакции, которую обязательно отменяет. Девятая относится к модулю собственного набора, а не общему модулю.
Отмена транзакции не отменяет письма, HTTP и внешние файлы. Поэтому у собственного документа и наборов не должно быть таких обработчиков или подписок. Привилегированный режим не включается.
В обоих собственных регистрах использование итогов включено. Для урока выборки по метке у измерения МеткаОперации включите Индексировать, затем обновите конфигурацию базы данных.
Метка каждой задачи содержит новый UUID. Не подставляйте DEMO-BOOK или метку другого опыта: отчёт должен читать только собственные временные проводки.
План без субконто: фактические вызовы Остатки имеют четыре аргумента, Обороты и ОборотыДтКт — пять. В плане с субконто набор аргументов будет другим.
Процедура ВыполнитьПример() Экспорт
Если Метаданные.Документы.Количество() <> 1
ИЛИ Метаданные.ПланыСчетов.Количество() <> 1
ИЛИ Метаданные.РегистрыБухгалтерии.Количество() <> 2
ИЛИ Метаданные.Документы.Найти("УчебнаяОперация85") = Неопределено
ИЛИ Метаданные.ПланыСчетов.Найти("УчебныеСчета85") = Неопределено Тогда
ВызватьИсключение "Разрешены только собственные документ, план счетов и два регистра";
КонецЕсли;
Если Метаданные.ПланыСчетов.УчебныеСчета85.МаксКоличествоСубконто <> 0 Тогда
ВызватьИсключение "В этом опыте план счетов без субконто";
КонецЕсли;
Для Каждого ИмяРегистра Из СтрРазделить("УчебныеПроводки85,УчебныеОдносторонние85", ",") Цикл
Описание = Метаданные.РегистрыБухгалтерии.Найти(ИмяРегистра);
Если Описание = Неопределено Тогда
ВызватьИсключение "Не найден собственный регистр " + ИмяРегистра;
КонецЕсли;
Если Описание.Корреспонденция <> (ИмяРегистра = "УчебныеПроводки85")
ИЛИ Описание.ПланСчетов.Имя <> "УчебныеСчета85"
ИЛИ Описание.Измерения.Количество() <> 1
ИЛИ Описание.Ресурсы.Количество() <> 1
ИЛИ Описание.Реквизиты.Количество() <> 0
ИЛИ Описание.Измерения.Найти("МеткаОперации") = Неопределено
ИЛИ Описание.Ресурсы.Найти("Сумма") = Неопределено
ИЛИ Описание.ДлинаУточненияПериода <> 3 Тогда
ВызватьИсключение "Схема собственного регистра отличается от учебной";
КонецЕсли;
КонецЦикла;
СчетДебета = ПланыСчетов.УчебныеСчета85.УчебныйАктив;
СчетКредита = ПланыСчетов.УчебныеСчета85.УчебныйПассив;
Если СчетДебета.Пустая() ИЛИ СчетКредита.Пустая() Тогда
ВызватьИсключение "Нужны два собственных предопределённых счёта";
КонецЕсли;
Если СчетДебета.ПолучитьОбъект() = Неопределено ИЛИ СчетКредита.ПолучитьОбъект() = Неопределено Тогда
ВызватьИсключение "Данные собственных счетов не созданы";
КонецЕсли;
Менеджер = РегистрыБухгалтерии.УчебныеПроводки85;
Если НЕ Менеджер.ПолучитьИспользованиеИтогов() Тогда
ВызватьИсключение "У собственного регистра должны быть включены итоги; урок их автоматически не включает";
КонецЕсли;
Начало = Дата(2026, 9, 15, 0, 0, 0);
Конец = Дата(2026, 9, 16, 0, 0, 0);
СвояМетка = "REPORT-" + Строка(Новый УникальныйИдентификатор);
Если ТранзакцияАктивна() Тогда
ВызватьИсключение "Урок нельзя запускать внутри чужой транзакции";
КонецЕсли;
НачатьТранзакцию();
Попытка
Документ = Документы.УчебнаяОперация85.СоздатьДокумент();
Документ.Дата = Дата(2026, 9, 15, 10, 0, 0);
Документ.Номер = "R-" + Строка(Новый УникальныйИдентификатор);
Документ.Записать();
СвояСсылка = Документ.Ссылка;
Набор = СвойНаборПроводок(СвояСсылка, СчетДебета, СчетКредита);
Для Каждого Запись Из Набор Цикл
Запись.МеткаОперации = СвояМетка;
КонецЦикла;
Набор.Записать(Истина);
ОтборОстатка = Новый Структура("Счет,МеткаОперации", СчетДебета, СвояМетка);
ОтборПар = Новый Структура("СчетДт,СчетКт,МеткаОперации", СчетДебета, СчетКредита, СвояМетка);
НаНачалоДня = Менеджер.Остатки(Дата(2026, 9, 15, 11, 0, 0), ОтборОстатка, "Счет,МеткаОперации", "Сумма");
НаСледующийДень = Менеджер.Остатки(Конец, ОтборОстатка, "Счет,МеткаОперации", "Сумма");
Обороты = Менеджер.Обороты(Начало, Конец, ОтборОстатка, "Счет,МеткаОперации", "Сумма");
Пары = Менеджер.ОборотыДтКт(Начало, Конец, ОтборПар, "СчетДт,СчетКт,МеткаОперации", "Сумма");
Сообщить(НаНачалоДня.Количество() = 0);
Сообщить(НаСледующийДень.Количество() = 1);
Сообщить(Обороты.Количество() = 1);
Сообщить(Пары.Количество() = 1);
Сообщить(ЕстьСвоеЧислоВТаблице(НаСледующийДень, 800));
Сообщить(ЕстьСвоеЧислоВТаблице(Обороты, 800));
Сообщить(ЕстьСвоеЧислоВТаблице(Пары, 800));
ПоказатьСвоюТаблицу("Остаток активного счёта", НаСледующийДень);
ПоказатьСвоюТаблицу("Обороты счёта", Обороты);
ПоказатьСвоюТаблицу("Обороты пары Дт/Кт", Пары);
ОтменитьТранзакцию();
Исключение
Если ТранзакцияАктивна() Тогда
ОтменитьТранзакцию();
КонецЕсли;
ВызватьИсключение;
КонецПопытки;
После = Менеджер.СоздатьНаборЗаписей();
После.Отбор.Регистратор.Установить(СвояСсылка);
После.Прочитать();
Сообщить(После.Количество() = 0);
Сообщить(СвояСсылка.ПолучитьОбъект() = Неопределено);
КонецПроцедуры
Функция СвойНаборПроводок(СвояСсылка, СчетДебета, СчетКредита)
Набор = РегистрыБухгалтерии.УчебныеПроводки85.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(СвояСсылка);
Для Каждого СуммаСтроки Из СтрРазделить("750,50", ",") Цикл
Запись = Набор.Добавить();
ЗаполнитьСвоюПроводку(Запись, СвояСсылка, СчетДебета, СчетКредита, Число(СуммаСтроки));
КонецЦикла;
Возврат Набор;
КонецФункции
Процедура ЗаполнитьСвоюПроводку(Запись, СвояСсылка, СчетДебета, СчетКредита, СуммаСтроки)
Запись.Период = Дата(2026, 9, 15, 10, 0, 0);
Запись.Регистратор = СвояСсылка;
Запись.Активность = Истина;
Запись.СчетДт = СчетДебета;
Запись.СчетКт = СчетКредита;
Запись.МеткаОперации = "DEMO-BOOK";
Запись.Сумма = СуммаСтроки;
КонецПроцедуры
Процедура ПоказатьСвоюТаблицу(Заголовок, Таблица)
Сообщить(Заголовок + ": строк " + Строка(Таблица.Количество()));
Для Каждого СтрокаТаблицы Из Таблица Цикл
Для Каждого Колонка Из Таблица.Колонки Цикл
Сообщить(Колонка.Имя + " = " + Строка(СтрокаТаблицы[Колонка.Имя]));
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Функция ЕстьСвоеЧислоВТаблице(Таблица, Ожидаемое)
Для Каждого СтрокаТаблицы Из Таблица Цикл
Для Каждого Колонка Из Таблица.Колонки Цикл
Значение = СтрокаТаблицы[Колонка.Имя];
Если ТипЗнч(Значение) = Тип("Число") Тогда
Если Значение = Ожидаемое Тогда
Возврат Истина;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат Ложь;
КонецФункцииРазбор по шагам
Записать только новый собственный документ и две собственные проводки с уникальной меткой внутри своей транзакции.
Получить Остатки на Дата(...15 сентября,11 часов): для параметра типа Дата это начало дня, движения 10 часов туда ещё не входят.
Получить Остатки на следующий день и два вида оборотов за период. Отбор задаёт собственную метку и необходимые стороны счетов.
Проверить одну итоговую строку каждого отчёта и наличие собственного числового результата 800.
Обойти фактические колонки результата и вывести реальные имена. Не называть суффиксы колонок метода именами виртуальной таблицы запроса по памяти.
Отменить свою транзакцию и повторно проверить отсутствие собственного документа и его движений.
Как проверить результат
Первые семь булевых сообщений Истина: пустое начало дня, по одной строке трёх отчётов и собственная сумма 800 в них.
После вывода фактических колонок последние две проверки Истина: документ и движения отменены.
Ожидаемый результат
Реальная связь даты, записи и табличных результатов разобрана на собственном активном счёте.
На что обратить внимание
Дата с временем в Остатки не означает срез до указанного часа: здесь метод трактует Дата как начало дня.
Возвращённые колонки необходимо изучать по фактической схеме; суффиксы виртуальных таблиц запроса нельзя автоматически переносить на менеджерские методы.
Числовая проверка 800 относится только к этому одному ресурсу и паре учебных счетов, не универсальному бухгалтерскому отчёту.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.