Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 17:14

Работа с регистром сведений

Автор Funt432286, 28 фев 2023, 18:29

0 Пользователей и 1 гость просматривают эту тему.

Funt432286

Цитата: Afinogen от 01 мар 2023, 12:02работайте набором данных
Набор = РегистрыСведений.А_ПланированиеЗаказов.СоздатьНаборЗаписей();
Набор.Отбор.СсылкаРЗ .Установить(ТекТЗ.СсылкаРЗ);
Набор.Прочитать();
Если Набор.Выбран() Тогда
 Набор.Очистить();
 НоваяСтрокаНабор = Набор.Добавить();
 НоваяСтрокаНабор.СсылкаРЗ = ТекТЗ.СсылкаРЗ;
 НоваяСтрокаНабор.Проверка = Истина;
 Набор.Записать();
КонецЕсли;

в этой записи переписывалась полностью запись!

Afinogen

и вчема проблема то? ну перезаписалась и что? в ней же все равно сохранятся старые данные

antoneus

Проблема, наверно в том, что кроме СсылкаРЗ и Проверка там есть еще измерения или ресурсы.

Funt432286

Вопрос в продолжении работы с регистром.
Пытаюсь удалить все записи РегСв по отбору, где ресурс СтатусЗаказа равен коду 136 по справочнику.
Выдает ошибку:
// получение списка регистра сведений
Набор = РегистрыСведений.А_ПланированиеЗаказов.СоздатьНаборЗаписей();
Набор.Отбор.СтатусЗаказа.Установить(Справочники.П_СтатусыЗаказов.НайтиПоКоду(136));
Набор.Прочитать();

Поле объекта не обнаружено (СтатусЗаказа)
{Обработка.ОбработкаАдмина.Форма.Форма.Форма(30)}: Набор.Отбор.СтатусЗаказа.Установить(Справочники.П_СтатусыЗаказов.НайтиПоКоду(136));


antoneus

СтатусЗаказа - измерение или ресурс?

Funt432286


antoneus

Ну и не работает отбор по ресурсам. Запросом выдергивайте значения измерений и по ним удаляйте.

Funt432286

antoneus, а сам код в цикле как должен выглядеть, не подскажите случайно!?
буду очень признателен!  :)

Kvark5d

Funt432286, примерно как то так:
//сначала найдем все наборы измерений, для которых установлен нужный нам статус
// измерение1, измерение2, измерение3 - переименовать как они названы в конфигурации
Запрос=Новый Запрос;
 Запрос.Текст="ВЫБРАТЬ
 |   А_ПланированиеЗаказов.Измерение1,
 |   А_ПланированиеЗаказов.Измерение2,
 |   А_ПланированиеЗаказов.Измерение3
 |ИЗ
 |   РегистрСведений.А_ПланированиеЗаказов КАК А_ПланированиеЗаказов
 |ГДЕ
 |   А_ПланированиеЗаказов.СтатусЗаказа = &СтатусЗаказа"
 Запрос.УстановитьПараметр("СтатусЗаказа",Справочники.П_СтатусыЗаказов.НайтиПоКоду(136));
 Выборка = Запрос.Выполнить().Выбрать();
 Пока Выборка.Следующий() Цикл
    // для каждого набора измерений очищаем записи
   Набор = РегистрыСведений.А_ПланированиеЗаказов.СоздатьНаборЗаписей();
   Набор.Отбор.Измерение1 .Установить(Выборка.Измерение1);
   Набор.Отбор.Измерение2 .Установить(Выборка.Измерение2);
   Набор.Отбор.Измерение3 .Установить(Выборка.Измерение3);
   Набор.Прочитать();
   Набор.Очистить();
 КонецЦикла;

Afinogen

Набор еще надо записать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск