Каким Образом На 1900 Год Могут Быть Остатки На Регистре Взаиморассчет

  • Автор темы Автор темы Истребитель
  • Дата начала Дата начала
И

Истребитель

Дорбрый день!

Столкнулся с непонятной проблемой. Делаю запрос к регистру, хранящему вазиморассчеты с контрагентами (база 8.1 Управление Торговлей 10.3). Вижу странные остатки на начало периода. Ок, делаю начальный период равным 01.04.1900. Всё равно ненулевые остатки на начало периода!

Запрос выглядит так:

ВЫБРАТЬ * ИЗ РегистрНакопления.ВзаиморасчетыСКонтрагентами.ОстаткиИОбороты(&НачПер, &КонПер, Регистратор, , )
НачПер - 01.04.1900 КонПер=31.06.2012

Сделал выборку из самого регистра, самая ранняя запись - 26.03.2010 0:00:00
Откуда же ненулевые остатки на начало периода с 01.04.1900?
 
Периодичность "Регистратор", значит в результате запроса будут остатки на "начало" каждого регистратора.
 
СКД? неправильный расчет остатков при поле период регистратор. Лечится добавлением доп поля периода Секунда. Особенности СКД понимашь... На лекциях по СКД от spec8.ru показывалось. то бишь делаете периодичность авто, и выводите поля регистратор и секунда. ПРиоритет периода - у регистртора 1 у секунды - 2.

Оттуда-же - для правильного расчета в СКД конечных остатков обязательно должны быть рассчитаны начальные остатки.
 
Нет, не СКД. Просто запрос. И как оказалось это вроде и не баг даже. Там в другом дело - там остатки не на начало регистратора, а по измерениям выводятся, потому что как я понимаю, остатки только по измерениям регистра и могут быть получены (а регистратор измерением не является).

Пример: есть регистр - Остатки по номенклатуре в разрезе складов.
Измерения : Склад, Номенклатура
Ресурсы: Количество

в него сделали проводки

01.01.2012 док1 склад1 ном1 10
01.02.2012 док2 склад1 ном1 5

Если сделать запрос на начало 1900 года к имя_регистра.ОстаткиИОбороты, с периодичностью "регистратор", то получим такое:

док1 склад1 ном1 (начальный остаток - 0, приход 10, конечный остаток 10)
док2 склад1 ном1 (начальный остаток - 10, приход 5, конечный остаток 15)

Т.е. хотя на начало 1900 года ненулевых начальных остатков быть не может, в данном случае в колонке "начальный остаток" будут остатки не на начало периода, а на тот момент, когда впервые сделал проводку этот регистратор. Поскольку когда док2 делал проводку, на регистре уже был остаток 10, он и показывается как "начальный остаток"
 
Ааа - это фишка известная. Я чтобы корректно получать делаю либо на СКД, либо запрос из двух таблиц - остатков и оборотов склеиваю.
 
А я ничего не понимаю. Где ошибка-то?
 
Согласен с unknown181538. Запросил с периодичностью "Регистратор", так и получил. Остаток на момент документа.
Или что-то другое хотел?
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab