|
универсальный подбор и обработка объектов |
☑ |
0
DenisVich
22.01.18
✎
17:54
|
Здравствуйте. Столкнулся со следующей проблемой. Обрабатываю записи в справочнике с табличной частью. Данные заполняются по нескольку раз.(Одна и та же запись повторяется в табличной части, сколько найденных объектов столько раз и вносятся в выбранную запись)
Вот код:
СписокКонтрагентов = Новый СписокЗначений;
СписокКонтрагентов.Добавить("Альянс Белгород 2 РС ООО");
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 2
| Компьютеры.Ссылка,
| Компьютеры.Контрагент КАК Контрагент
|ИЗ
| Справочник.Компьютеры КАК Компьютеры
|ГДЕ
| Компьютеры.Контрагент.Наименование В(&Контрагент)
|СГРУППИРОВАТЬ ПО
| Компьютеры.Ссылка,
| Компьютеры.Контрагент";
Запрос.УстановитьПараметр("Контрагент", СписокКонтрагентов);
РезультатЗапросаКомпьютеры = Запрос.Выполнить().Выбрать();
Если РезультатЗапросаКомпьютеры.Количество()>0 Тогда
Пока РезультатЗапросаКомпьютеры.Следующий() Цикл
Источник = РезультатЗапросаКомпьютеры.Ссылка;
ЭлементОбработан = Ложь;
Если Не ЭлементОбработан Тогда
НовоеСвойство = Объект.Свойства.Добавить();
НовоеСвойство.ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Дата снятия с учета");
НовоеСвойство.ЗначениеСвойства= НачалоГода(ТекущаяДата());
Сообщить(СОКРЛП(РезультатЗапросаКомпьютеры.Ссылка.Контрагент)+" "+СОКРЛП(РезультатЗапросаКомпьютеры.Ссылка));
Объект.Записать();
ЭлементОбработан = Истина;
КонецЕсли;
КонецЦикла;
КонецЕсли;
|
|
1
DenisVich
22.01.18
✎
17:55
|
Поясняю, это произвольный алгоритм!
|
|
2
Darych
22.01.18
✎
17:58
|
запрос в топку, СписокКонтрагентов.Добавить("Альянс Белгород 2 РС ООО") в топку
|
|
3
DenisVich
22.01.18
✎
17:58
|
Что в этой обработке брать в качестве источника, если не использовать выборку?
|
|
4
DenisVich
22.01.18
✎
18:00
|
" Источник = ????????;
НовоеСвойство = Объект.Свойства.Добавить();
НовоеСвойство.ВидСвойства = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Дата снятия с учета");
НовоеСвойство.ЗначениеСвойства= НачалоГода(ТекущаяДата());
Сообщить(СОКРЛП(РезультатЗапросаКомпьютеры.Ссылка.Контрагент)+" "+СОКРЛП(РезультатЗапросаКомпьютеры.Ссылка));
Объект.Записать();"
|
|
5
DenisVich
22.01.18
✎
18:03
|
Источник = ТекущийОбъект;
|
|
6
DenisVich
22.01.18
✎
18:03
|
В том так сразу, а подсказать!
|
|
7
DenisVich
22.01.18
✎
18:03
|
*в топку
|
|