Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: УПП 1.3 Перебрать регистр сведений список в табличное поле
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
alexandr_f
Как сделать перевод строк в табличном поле с источником данных РегистрСвденийСписок периодический(РежимПрохода) . Надо найти значение то одному измерению и удалит ь( скорректировать строку). Я не знаю Период - нужен Последний
Устанавливается по отбору
РежимПрохода.Отбор.CheckPointID.Значение = мCheckPointId;
        РежимПрохода.Отбор.CheckPointID.ВидСравнения = ВидСравнения.Равно;
        РежимПрохода.Отбор.CheckPointID.Использование = Истина;
        РежимПрохода.Отбор.ДатаОкончания.Значение = НАЧАЛОДНЯ(ТекущаяДата());
        РежимПрохода.Отбор.ДатаОкончания.ВидСравнения = ВидСравнения.БольшеИлиРавно;
        РежимПрохода.Отбор.ДатаОкончания.Использование = Истина;
        
        РежимПрохода.Обновить();

Если беру
Для Каждого строка из РежимПрохода ТОГДА

Пишет - не найден итератор
Bernet
alexandr_f @ Сегодня, 8:08 необходимо зарегистрироваться для просмотра ссылки ,
Если РежимПрохода это набор записей регистра сведений, то Вам надо после установки отбора вызвать функцию "Прочитать", т.е. выглядит это примерно так

НаборЗаписей = РегистрСведений.ВАШРЕГИСТР.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.ВАШЕПОЛЕ1.Установить(ЗНАЧЕНИЕОТБОРА);
НаборЗаписей.Отбор.ВАШЕПОЛЕ2.Установить(ЗНАЧЕНИЕОТБОРА);
НаборЗАписей.Прочитать();

Для Каждого Запись Из НаборЗАписей Цикл
        // тут что-то делаем с записью регистра
КонецЦикла;

// и сохраняем изменения
НаборЗаписей.Записать();
alexandr_f
Bernet @ Сегодня, 9:31 необходимо зарегистрироваться для просмотра ссылки ,
Это Список. Набор имеет отбор только по Измерениям , а у меня по ресурсам - время окончания - ищет не актульные
Bernet
alexandr_f @ Сегодня, 10:25 необходимо зарегистрироваться для просмотра ссылки ,
да, что-то я рассеяный стал, невнимательно прочитал первый пост. А разве можно удалить строку из списка регистра, не удаляя её при этом из самого набора? В чем конечная задача, что хотите со строками делать потом?
alexandr_f
Bernet @ Сегодня, 10:32 необходимо зарегистрироваться для просмотра ссылки ,
Есть График занесенные на карту( Регистр Сведений) Измерения № карты, тип графика, тип карты и ресурсы - дата начала дата окончания.
Надо отредактировать графики на карте. Я выбираю карту Ставлю отбор но карте и признак просроченные или нет. -Это РегистрСписок в ТП
Далее вызываю форму справочника графиков ( множественный выбор из двух списков) и устанавливаю те, что нужно. Получаю ТЗ отличий - те что надо добавить и те что надо удалить.
Теперь надо найти те стоки что надо удалить и добавить (что легче) те что надо добавить
sava1
А запросом выбрать - что мешает.
alexandr_f
sava1 @ Сегодня, 10:58 необходимо зарегистрироваться для просмотра ссылки ,
Запрос мне вернет ТЗ. Ворос что никак не могу понять как перебирать РегистрСведенийСписок. Остальные просто перебором ТЧ, а этот как- то через что-то
sava1
Цитата(alexandr_f @ 07.04.17, 11:03) необходимо зарегистрироваться для просмотра ссылки
как перебирать РегистрСведенийСписок.

Не предназначен он для перебора. Работает напрямую с данными - это пользовательское отражение объекта.
Если хотите перебирать - надо получить коллекцию/набор данных.
alexandr_f
sava1 @ 07.04.17, 11:44 необходимо зарегистрироваться для просмотра ссылки ,
Переделал на Набор Записей . А можно ли добавить(удалить) в ТП чтобы было видно но не записывалось? Вручную получается , А программо
Для Каждого строка  ИЗ ТаблицаОтличий ЦИКЛ
            ЕСЛИ строка.знак =1 ТОГДА
                запись= РежимПрохода.Добавить();
                запись.Период=НачалоДня(ТекущаяДАТА());
                запись.ДатаНачала=запись.Период;
                запись.CheckPointID=мCheckPointID;
                запись.График= строка.график;
                запись.датаОкончания=ДобавитьМесяц(запись.Период,36);
                запись.типПропуска=  мТипПропуска;
                //РежимПрохода.
            //ИНАЧЕ
            //    Для Каждого стр из ЭлементыФормы.Режимы.Данные ЦИКЛ
            //        ЕСЛИ стр.График = строка.График ТОГДА
            //            стр.удалить();
            //        КОНЕЦЕСЛИ;    
            //    КОНЕЦЦИКЛА;    
            КОНЕЦЕСЛИ;    
        КОНЕЦЦИКЛА;

И как найти ту строку которую надо удалить
sava1
1. Выбираем записи из регистра по условию ЗАПРОСОМ в тз или ТЧ.
2. Источником для ТП ставим тз/тч.
3. Делаем весь функционал по работе с данными в ТП.
4. По кнопке - записываем в регистр (с отборами).

Строка ищется по Ключу.
alexandr_f
sava1 @ 10.04.17, 14:43 необходимо зарегистрироваться для просмотра ссылки ,
Я уже месяц тудо суда мучаюсь регистрами. В ТЗ меня не устраило отсутсвует возмозности отбора как в источнике данных так и ТП (ЭлементыФормы.ОтборСтрок)
А в регистре это есть.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.