Как получить весь диапазон изменений по регистру сведений?
Добрый день, нужно для документа сделать регистр, чтобы получать выборку по изменениям например цены за какой то периуд, у меня упорно выдает только последнее, будто срез последнее, заменяя все предыдущие, пытался достать консолью запросов, ничего кроме последнего периуда не было, в чем проблема ?
Сделал регистр независимым от регистратора, ручками пишу движение в регистр из документа все получилось, что было, не ясно. Возможно подчинение регистратору делает фиксированные значения, или конструктор запросов как то не явно косячит.
Либо у вас регистр сведений не периодический (что маловероятно в плане работы с ценами), либо периодический, но вы обращаетесь к виртуальной таблице "СрезПоследних".
Вы данные из регистра как получаете через запрос или через ...получить(СтруктураОтбора)???
Код в студию
Кольсоль запросов по всем полям, по очередно смотрю 3 регистра, дефолтный, срез последних, срез первых, они все одинаковые получаются. И лайтовый вариант через запущеную конфигурацию смотрел добавив ее в подистему.
Если ты реально не используешь срез последних, то:
1) или регистр у тебя не периодический
2) или реально нет истории изменений - только одна цена на товар, которую можно увидеть открыв форму регистра сведений.
stictt, куда уж подробнее? возможно вы ищете то, чего нет. Вы точно по 2-3 цены в разные дни дали? Покажите скрин регистра в конфигураиторе и каким текстом запроса хотите выбрать данные.
Дмитрий Кинаш, На счет скрина не обещаю, и будет не раньше как выйду на работу. через пару дней. я не делал 2-3 цены, там большое кол ресурсов и 4-5 измерения, и делал сначала по 1 измерению или по 1 ресурсу то есть писал рандомное значение в одну ячейку и смотрел по регистру что будет, это ошибка ? и я только что вспомнил, что у меня по моему, не все измерения были заполнены
stictt, если ты создал одну запись, а потом ее изменил - у тебя от этого две записи автоматом не появятся - в базе физически остается одна единственная запись. Смысл периодических регистров и их срезов последних (как и первых) в том, что ты можешь для товара1 назначить в качестве цены1 01.01.2019 сумму 1000 рублей и 01.03.2019 - 1500 рублей, а потом делая запросы в разные дни (параметр среза последних) получишь табличку:
01.01.2018 - 0 рублей
01.02.2019 - 1000 рублей
01.04.2019 - 1500 рублей
Но при этом в базе физически нет записей за 01.01.2018, 01.02.2019 и 01.04.2019, а лишь за 01.01.2019 и 01.03.2019
На счет редактирования. В последних версиях платформы появился механизм версионирования, в котором можно в конкретном объекте настроить хранение конкретных свойств, а далее на форме появится служебная команда с возможностью просмотра истории изменений в разрезе редакторов (так же можно прочитать историю программно), но к запросам это не имеет никакого отношения.
Дмитрий Кинаш, Как то можно получить эти записи ? я двумя способами пробывал найти, обращение к срезу первых и последних через консоль запросов, выгружая вообще все, а так же к стандартной версии регистра, пробывал добавлять регистр в конфигурацию чтобы там смотреть на него. не помогло. Да у меня переодический регист, по секундам. Вроде читал книгу что можно взять как то статистику для цены, что мне собственно и нужно, брать статистику по ресурсу. А он хранит дефолтные данные о последнем проведении получается.
stictt, я тебя не понимаю - ты явно берешь виртуальную таблицу среза последних и жалуешься, что там только срез последних. Бери физическую таблицу и не парься; отсортируй по периоду и получишь историю свою цен.
Дмитрий Кинаш, Это был один из способов. Я вообще все пробывал, по дефолту история должна отображатся в конфигурации регистра, ее там не было. Убрал подчинение регистратору, все заработало, как не странно. Когда движение руками начал делать без прямого указания для зависимости регистра от документа, чтобы проще было , мол конструктор движений. В чем проблема была ?
stictt, я не телепат, но очевидно проблема была в ошибках. Забудь хотя бы на месяц про конструкторы движений и конструкторы запросов - поделай все руками и от осознания назначения каждой написанной тобой команды придет понимание, что ты делаешь не так.
Дмитрий Кинаш, написать в ручную не проблема, просто там почти 50 столбцов, почти все из которых ресурсы, что не много проблемно было бы прописывать, ибо лень, а конструктор движений ламповый в этом плане, я его просто переписал под свои нужды уже.
stictt, никто не пишет вручную 50 столбцов. Для переноса данных между записями с колонками используют ЗаполнитьЗначениеСвойств(ПриемникЗначений, ИсточникЗначений), для отчетов из макетов используют ТабДок.Параметры.Заполнить(ИсточникЗначений) и так далее...
Если там какая-то бредятина типа День1, День2, День3... и нет однозначного соответствия в другой коллекции, то можно организовать цикл и обращаться к колонке с помощью индекса.
Дмитрий Кинаш, Идея хорошая , но там не все значения идут в движения, Но с таким кол столбцов да, искал как можно пройтись циклом, например по названию столбцов. Ну и самим столбцам, правда ничего дельного не нашел, был один способ с использованием поиска по названию. Но это все и так уже жрет много ресурсов, такое не хотел кидать. Если у вас есть простой способ, обращение к строке по индексу, очень буду рад.
Дмитрий Кинаш, В колонки собрал данные с половины предприятия, передаю данные между ведомостью и эксель для более удобной работы. то есть нужно к строкам , которые перебираю циклом, обратится по индексу к нужному столбцу. Есть способ без поиска по имени ?