- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
Если Номенклатура1 <> Номенклатура2 Тогда
Запрос=Новый Запрос("ВЫБРАТЬ
|РаспределениеМатериаловПоМенеджерам.ЗаявкаНаМатериалы,
|РаспределениеМатериаловПоМенеджерам.Материал
|ИЗ
|РегистрСведений.РаспределениеМатериаловПоМенеджерам КАК РаспределениеМатериаловПоМенеджерам
|ГДЕ
|РаспределениеМатериаловПоМенеджерам.Материал = &Материал");
Запрос.УстановитьПараметр("Материал",Номенклатура1);
Выборка=Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
МЗСтарой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
МЗСтарой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
МЗСтарой.Материал=Номенклатура2;
МЗСтарой.Прочитать();
МЗНовой=РегистрыСведений.РаспределениеМатериаловПоМенеджерам.СоздатьМенеджерЗаписи();
МЗНовой.ЗаявкаНаМатериалы=Выборка.ЗаявкаНаМатериалы;
МЗНовой.Материал=Выборка.Материал;
МЗНовой.Прочитать();
Если МЗСтарой.Выбран() тогда
МЗНовой.Удалить();
Иначе
МЗНовой.Материал=Номенклатура2;
МЗНовой.Записать(Истина);
КонецЕсли;
КонецЦикла;
КонецЕсли;
Вот такой код сделан был франчем, который потребовал за это еще и 3 часа оплаты)))) Одно только непонятно почему при обращении к регистру нельзя было использовать отбор это же гораздо проще и быстрее и кода меньше