Независимый регистр сведений: как проще получить измененный набор записей? #758881


#0 by dave2000
Нужно по определенному узлу обмена программно получить весь измененный набор записей регистра сведений в виде таблицы значений. Делаю так: 1. Запросом (ВЫБРАТЬ * ИЗ РегистрСведений.ИмяРС.Изменения) получаю выборку измерений, по которым были изменения значений. 2. Создаю набор записей регистра, в цикле перебираю каждую строку выборки п.1, устанавливаю значения отбора по каждому измерению, делаю Прочитать. 3. После каждого чтения набора п.3 все записи постепенно перекидываю в отдельную таблицу значений. Выходит длинный и мудрёный кусок кода. Проще никак нельзя? Скопом как-то прочитать. Либо я туплю, либо не знаю..
#1 by dave2000
Как вариант, можно получать сразу всё одним запросом п.1 через левое соеднинением с самим регистром. Выходит чуть проще.
#2 by Fedor-1971
тебе нужен просто набор или ты его будешь изменять?
#3 by RomanYS
если прочитать то конечно , а записывать проще циклом, иначе много заморочек с отборами и риск зацепить что-либо лишнее
#4 by dave2000
Только прочитать, изменять не нужно Просто думал может можно как-то еще проще.
#5 by Fedor-1971
возможно, понятнее и нагляднее будет работать через НаборЗаписей с установленным отбором, но не факт что это будет оптимальнее и проще.
#6 by RomanYS
"еще проще" - позови программиста, сделает тебе кнопку) вместо соединения можно сделать выбрать * из Регистр где (измерение1, измерение2...) В (выбрать измерение1, измерение2... из Изменения) Не факт, что проще и оптимальнее... но вариант
#7 by dave2000
Сделал всё таки через левое соединение, т.к. если вдруг запись была удалена, мне нужно получать значения ресурсов NULL (т.е. ничего не присоединено)
#8 by ЧеловекДуши
Как вариант, сперва определись, что есть "Изменение". После уже пляши далее :) И лучше всего работать с прямыми запросами. Коль нужна скорость.
#9 by ЧеловекДуши
Если запись была удалена, то надо там где "Изменен", отметить или удалить её тоже :)
#10 by ЧеловекДуши
....Я не вижу что у вас там, для чего там. И что такое "Изменен". Несть только абстрактное представление кусочка в . :) ...
#11 by dave2000
Имелось в виду так: ИЗ РегистрСведений.ИмяРС.Изменения КАК РегИзменения Т.е. ресурсы тех записей, которые были удалены, в выборке будут иметь значение NULL.
#12 by dave2000
Ой, вернее вот так: ИЗ РегистрСведений.ИмяРС.Изменения КАК РегИзменения
#13 by dave2000
Ещё такой вопрос по поводу УдалитьРегистрациюИзменений(Узел, НаборЗаписей). Здесь пишут, что после установки значений отборов НаборЗаписей.Прочитать делать не обязательно. Это так?
#14 by dave2000
Проверено: набор можно не читать, достаточно лишь установить все отборы. Да и действительно, записи могут быть и удалены - там нечего будет читать.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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