СКД и МоментВремени. Нужно ли брать границу, когда получаю остатки с помощью СКД #681567


#0 by DirecTwiX
Допустим, запрос такой: В СКД добавлен стандартный период, и указаны связи: Такой запрос корректен? Или нужно учитывать момент времени: КП = НачалоПериода(ДобавитьКДате(&Период.ДатаОкончания, "День", 1) "День"); (взято отсюда: )
#1 by Лефмихалыч
а вот теперь берем и смотрим в СП, что там пишут про таблицу остатков. РегистрНакопленияМенеджер.<Имя регистра накопления>.Остатки (AccumulationRegisterManager.<Имя регистра накопления>.Balance) РегистрНакопленияМенеджер.<Имя регистра накопления> (AccumulationRegisterManager.<Имя регистра накопления>) Остатки (Balance) Синтаксис: Остатки(<МоментВремени>, <Отбор>, <Измерения>, <Ресурсы>) Параметры: Тип: Дата; МоментВремени; Граница. Момент времени, на который необходимо получить остатки. Если параметр не указан, то будут получены текущие остатки (на максимальную дату движений регистра). Если в качестве параметра передана Дата, то остатки будут получены на начало дня, если МоментВремени - то в остатках не будут учтены движения регистра, произошедшие в тот же момент времени. какой же вывод из этого следует? дайте подумать... хм...
#2 by shuhard
оторвать руки по самые уши
#3 by DirecTwiX
Спасибо! Да, мне тоже показалось странным) Хм.. А зачем тогда требуют подставлять момент времени в регистры бухгалтерии, хотя в СП написано, что и дата пойдёт?
#4 by Лефмихалыч
а ты почитай глазами, что конкретно про дату там написано. Прямо вот пересиль себя и дочитай до конца. Во что бы то ни стало. Там есть ответ на этот вопрос.
#5 by Armando
Херня что в ноль обороты?
#6 by DirecTwiX
РегистрБухгалтерииМенеджер.<Имя регистра бухгалтерии>.ОборотыДтКт (AccountingRegisterManager.<Имя регистра бухгалтерии>.DrCrTurnovers) РегистрБухгалтерииМенеджер.<Имя регистра бухгалтерии> (AccountingRegisterManager.<Имя регистра бухгалтерии>) ОборотыДтКт (DrCrTurnovers) Синтаксис: ОборотыДтКт(<НачалоПериода>, <КонецПериода>, <ВидыСубконтоДт>, <ВидыСубконтоКт>, <Отбор>, <Измерения>, <Ресурсы>) Параметры: Тип: Дата; МоментВремени; Граница. Момент времени, начиная с которого необходимо получить обороты. Если параметр не указан, то обороты будут получены начиная с момента ведения базы данных. Если в качестве параметра передана Дата или МоментВремени, то обороты за указанную дату (момент времени) будут включены в результирующую таблицу значений. Момент времени, определяющий конец периода за который необходимо получить обороты. Если параметр не указан, то обороты будут получены до самого позднего движения регистра. Если в качестве параметра передана Дата или МоментВремени, то обороты за указанную дату (момент времени) будут включены в результирующую таблицу значений. Тип: ПланВидовХарактеристикСсылка.; Массив; ФиксированныйМассив. Передается ссылка, или массив ссылок, или фиксированный массив ссылок на виды субконто. Параметр определяет, какие значения субконто дебета будут доступны по именам "СубконтоДт1", "СубконтоДт2" и т.д. Кроме того, обороты будут посчитаны только по счетам дебета, имеющим заданные виды субконто дебета. Если параметр не задан, то обращение к значениям субконто дебета осуществляется по порядку (индексу), как они определены на соответствующем счете. Параметр не существует, если при конфигурировании для плана счетов не указаны субконто. Тип: ПланВидовХарактеристикСсылка.; Массив; ФиксированныйМассив. Передается ссылка, или массив ссылок, или фиксированный массив ссылок на виды субконто. Виды субконто определяют, какие значения субконто кредита будут доступны по именам "СубконтоКт1", "СубконтоКт2" и т.д. Кроме того, обороты будут посчитаны только по счетам кредита, имеющим заданные виды субконто кредита. Если виды субконто кредита не заданы, то обращение к значениям субконто кредита осуществляется по порядку, как они определены на соответствующем счете. Параметр не существует, если при конфигурировании для плана счетов не указаны субконто. Структура, содержащая набор значений измерений регистра, по которым надо отбирать итоги. Допустимые значения ключа: СчетДт, СубконтоДт<Номер>, СчетКт, СубконтоКт<Номер>, <Имя измерения> или <Имя измерения>Дт и <Имя измерения>Кт. Если параметр не указан, то отбор не используется. <Измерения> (необязательный) Тип: Строка, Неопределено. Список измерений, для которых надо получить обороты. Строка, содержащая имена измерений, разделенных запятыми. Допустимые имена измерений: СчетДт, СубконтоДт<Номер>, СчетКт, СубконтоКт<Номер>, <Имя измерения> или <Имя измерения>Дт и <Имя измерения>Кт. Если параметр не указан или указано Неопределено, то обороты будут сформированы по всем измерениям. Значение по умолчанию: Неопределено <Ресурсы> (необязательный) Тип: Строка, Неопределено. Список ресурсов, для которых надо получить обороты. Строка, содержащая имена ресурсов, разделенных запятыми. Если параметр не указан или указано Неопределено, то обороты будут сформированы по всем ресурсам. Значение по умолчанию: Неопределено Возвращаемое значение: Тип: ТаблицаЗначений. Описание: Получает обороты по регистру бухгалтерии на заданный момент. Обороты получаются в разрезе заданных измерений и по заданным ресурсам. В измерения входят счет дебета, субконто дебета, счет кредита, субконто кредита, измерения кредита, измерения (для балансовых) и измерения дебета, измерения кредита (для не балансовых). Доступность: Сервер, толстый клиент, внешнее соединение. Примечание: Параметры "Виды субконто Дт" и "Виды субконто Кт" не существуют, если при конфигурировании для плана счетов не указаны субконто. Не нашёл...
#7 by Armando
"Если в качестве параметра передана Дата..."
#8 by Armando
только что в название темы вчитался ппц СКД и МОМЕНТВРЕМЕНИ. Нужно ли брать ГРАНИЦУ, когда получаю ОСТАТКИ а в ОБОРОТЫ ты уж определись, что конкретно тебе надо
#9 by DirecTwiX
Большая разница что ли между остатками и оборотами? Т.е. в остатки нужно момент времени пихать, а для оборотов и дата пойдёт?
#10 by sanja26
для оборотов есть доп. параметр "включая .." в парамтреах таблицы , т.е. каждый раз пишем в коде ?? Я обычно, если не забываю, просто добавляю "+1" к концу периода
#11 by DirecTwiX
"для оборотов есть доп. параметр "включая .." в параметрах таблицы" Где? Виртуальной таблицы?
#12 by Armando
большая разница. дату для остатков тоже можно. при получении остатков, если подставишь дату, то в запросе к БД будет "period < ТвояДата", тоже самое, если граница исключая если граница включая, то "period <= ТвояДата" для таблицы оборотов, если передаешь дату, всегда будет >= и <= если границу передаешь, то в зависимости от вида границы. < или <= то есть граница работает всегда однозначно. а дата в остатках и оборотах по разному себя ведет
#13 by DirecTwiX
Спасибо за разъяснение! Тогда получается, что вместо ДатыОкончания можно указать не границу, а дату+1 в остатках? 2) Почему в СП для остатков написано следующее: "Если в качестве параметра передана Дата, то остатки будут получены на начало дня" Косяк?
#14 by sanja26
&Период.ДатаОкончания тебя спасет. Дата по-умолчанию в 1с всегда начало дня
#15 by sanja26
это по второму пункту
#16 by DirecTwiX
Это понятно. Вопрос был в следующем: если дата будет 24.10.92 12:00, то остатки будут на 24.10.92 00:00?
#17 by Armando
чуть-чуть обманул. остатки немного по другому считаются. там есть нюансы. в общем берутся рассчитанные итоги на начало следующего месяца (из таблицы итогов) и от них отнимается оборот из основной таблицы от твоей даты до даты итогов. схема примерно такая (упрощенно): если остаток на дату &ТвояДата, или граница исключая выбрать Сумма из ТаблицаИтогов из ОсновнаяТаблица где Период >= &ТвояДата и Период < &ДатаИтогов если граница включая, то где Период > &ТвояДата и Период < &ДатаИтогов
#18 by sanja26
если дата будет 24.10.92 12:00, то остатки будут на 24.10.92 12:00 Просто дата обычно задается пользователем без указания времени
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С