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