|
Редактирование данных программно |
☑ |
0
igoza
07.05.14
✎
12:39
|
Есть Ссылка на множество объектов, как их отредактировать?
Пример:
Для Каждого Ссылка Из Список Цикл
Ссылка.Реквизит = Что-то
КонецЦикла;
Как сделать?
|
|
1
ДенисЧ
07.05.14
✎
12:40
|
Получить объект, изменить, записать
|
|
2
Wobland
07.05.14
✎
12:41
|
(1) записывать не обязательно
|
|
3
igoza
07.05.14
✎
12:41
|
(1) блин точно, спасибо
|
|
4
Михаил Козлов
07.05.14
✎
13:30
|
Может быть Вас устроят обработки с ИТС "Групповая обработка справочников и документов" или "Универсальный подбор и обработка объектов".
|
|
5
igoza
07.05.14
✎
13:38
|
Закидайте меня какашками, только что не так по подробнее
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПроизводственныеЗаказы.Код
|ИЗ
| Справочник.ПроизводственныеЗаказы КАК ПроизводственныеЗаказы
|";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДлинаСтроки = 11;
НовыйКод = Прав(ВыборкаДетальныеЗаписи.Код, ДлинаСтроки - КоличествоСимволов);
ИсправляемыйОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ИсправляемыйОбъект.Код = НовыйКод;
Попытка
ИсправляемыйОбъект.Записать();
Сообщить(ВыборкаДетальныеЗаписи.Код + "->" + НовыйКод);
Исключение
Предупреждение(НСтр("ru = 'Не удалось записать объект';"
+ " en = 'Can't write the object'")
+ " "" + Объект + ""!
|"+ ОписаниеОшибки(),60);
КонецПопытки;
КонецЦикла;
|
|
6
ДенисЧ
07.05.14
✎
13:39
|
В запросе нет получения ссылки, поэтому
ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
фигня какая-то
|
|
7
Godofsin
07.05.14
✎
13:41
|
(5) Это чо? Перенумерация? воспользуйся универсальной обработкой
|
|
8
igoza
07.05.14
✎
14:16
|
(6)
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ПроизводственныеЗаказы.Ссылка,
| ПроизводственныеЗаказы.Код
|ИЗ
| Справочник.ПроизводственныеЗаказы КАК ПроизводственныеЗаказы
|";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ДлинаСтроки = СтрДлина(ВыборкаДетальныеЗаписи.Код);
НовыйКод = Прав(ВыборкаДетальныеЗаписи.Код, ДлинаСтроки - КоличествоСимволов);
ИсправляемыйОбъект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
ИсправляемыйОбъект.Код = НовыйКод;
Попытка
ИсправляемыйОбъект.Записать();
Исключение
Предупреждение(НСтр("ru = 'Не удалось записать объект';"
+ " en = 'Can't write the object'")
+ " "" + Объект + ""!
|"+ ОписаниеОшибки(),60);
КонецПопытки;
КонецЦикла;
(7) сокращение длины кода
|
|
9
ДенисЧ
07.05.14
✎
14:17
|
(8) И? Не работает?
|
|
10
igoza
07.05.14
✎
14:18
|
(9) нет всё работает, обычно меня какашками закидывают, и видно что где не так, или что-то новое, более удобное подкидывают)
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший