Обход записей регистра сведений с учетом отбора #687742


#0 by СэдКС
Добрый день! Задача: на форме размещен список регистра сведений, над формой поле флажка, выставлен некоторый отбор по полям регистра. Отображаются записи соответственно отбору. При включении флажка поле Выполнено включается у всех записей, а не только у отобранных записей. Подскажите пожалуйста, какое условие выставить перед условием обхода полей регистра, чтобы флажок ставился только у отобранных полей (те поля, которые на данный момент выставил пользователь)? условие на обход регистра:
#1 by Господин ПЖ
за такой код принято бить по пальцам
#2 by Господин ПЖ
молотком как минимум
#3 by СэдКС
я его нашла на сайте . Побейте их) Вы мне подскажите как правильно, я исправлюсь
#4 by Ork
Читайте в СП за метод Выбрать. Там одним из параметров идет "Отбор". Это то, что вам нужно. Установите так же как отбор в форме и получите такую же выборку. Хай тренируется. Вам жалко?
#5 by Maxus43
лучше запросом получай данные, так лучше во всех смыслах
#6 by Defender aka LINN
Сегодня он тренируется, а завтра ты это найдешь в рабочем коде
#7 by Maxus43
она. понять и простить, научить, воспитать, взять замуж. Нормально
#8 by Ork
Я сам тренировки с этого начинал... пАтамучта после семерки. И "это" до сих пор продолжаю находить в своем жеШ коде. Такие дела...
#9 by СэдКС
Хорошо, я попробую. Спасибо! :)))
#10 by Ork
Вам же сказали - не нужно так делать. Методически правильно - запросом. Если только потренироваться...
#11 by СэдКС
Да нет же, я не буду так делать, я всё сразу поняла :) Над "попробую" я имела ввиду метод выбрать
#12 by 1dvd
Кривой программист за год создает два рабочих места
#13 by Михаил Козлов
Обход записей, соответствующих отборам попробуйте через построитель отчета:
#14 by СэдКС
Подождите, я еще не разобралась с записью полей. У меня не ставится флажок на поля регистра. Я не поняла, как это написать. После запроса вывела: Скорей всего неверно. Нужно через команду "СоздатьНаборЗаписей"?
#15 by Ofizer
Выборке из результата запроса нельзя что-то присвоить. да, можно СоздатьНаборЗаписей, там установить необходимые значения, и потом записать этот набор
#16 by СэдКС
С набором получилось, сохраняет значения. Теперь остался отбор
#17 by Ofizer
отбор сразу в запросе установить можно
#18 by СэдКС
Но я ведь снова сделала неправильно. Не через запрос. Кто мне может сказать, как это "через запрос" ?
#19 by Ofizer
посмтри в СП Запрос.Выполнить
#20 by СэдКС
я знаю, как строить запрос, но я не могу понять, как сделать привязку. Вы же говорили, что > Выборке из результата запроса нельзя что-то присвоить. А как тогда присвоить?
#21 by Ofizer
РезультатЗапроса = Запрос.Выполнить.Выгрузить; получить ТаблицуЗначений, в ней делай все необходимое, потом НаборЗаписей.Загрузить(ТаблицаЗначений.Выгрузить)
#22 by Ofizer
малость ошибся :) НаборЗаписей.Загрузить(ТаблицаЗначений) вот так надо
#23 by СэдКС
сначала создаю таблицу значений, потом делаю выборку из запроса в эту таблицу, потом создаю набор записей, присваиваю значение флажка полю из регистра и затем выгражаю все значения из таблицы в набор. Схема такая? Запутано как-то
#24 by Ofizer
ничего не запустано, метод Выгрузить сразу возвращает ТаблицуЗначений: ТЗ = Запрос.Выполнить.Выгрузить; дальше в ТЗ делаешь необходимые действия: для каждого СтрокаТЗ из ТЗ цикл .... конецЦикла создаешь набор записей НЗ = рег.СоздатьНаборЗаписей; загружаешь в него ТЗ НЗ.Загрузить(ТЗ); записываешь набор в БД - НЗ.Записать;
#25 by СэдКС
У меня получилось только очистить записи, которые соответствуют отбору списка регистра, но присвоить значение Булево определенному полю так и не удалось. Если ставить такое условие, то не проходит, потому что выборке из результата запроса нельзя что-то присвоить, как показал опыт. Для каждого СтрокаТЗ из ТЗ цикл Если ставить такое условие, то не проходит, потому что ругается на то, что "Запись не верна! Значение поля не соответствует установленному отбору:..." Может еще где можно дописать это условие? Конечный вариант:
#26 by СэдКС
+Предпоследняя строка неправильная НЗ.Отбор.Выполнено.Установить;
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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