|
Внешняя обработка на изменения норм часов | ☑ | ||
---|---|---|---|---|
0
example221
30.12.19
✎
08:27
|
Подскажите в чем может быть проблема
Процедура КнопкаВыполнитьНажатие(Кнопка) //Защита картера ДВС с/у Работа = Новый СписокЗначений; Работа.Добавить(Справочники.Автоработы.НайтиПоКоду("ЦБ00021506")); //Номер.Добавить("0,200"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказНарядРаботы.Ссылка КАК Ссылка, | ЗаказНарядРаботы.Работа КАК ВидРаботы, | ЗаказНарядРаботы.Коэффициент КАК Коэффициент |ИЗ | Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы |ГДЕ | ЗаказНарядРаботы.Работа В(&Работа)"; Запрос.УстановитьПараметр("Работа", Работа); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Объекта = Выборка.Ссылка.ПолучитьОбъект(); Для каждого Выборка из Объекта.Работы Цикл Если Выборка.Коэффициент = 0.200 Тогда Объекта.Коэффициент = 1.000; КонецЕсли; КонецЦикла; Попытка Объекта.Записать(); Сообщить(Выборка.Ссылка) Исключение Сообщить("НормЧасы " + Выборка.Ссылка + " не изменены."); КонецПопытки; КонецЦикла; КонецПроцедуры |
|||
1
Aleksey
30.12.19
✎
08:30
|
тебе виднее в чем проблема.
Что за ошибка, что не получается? |
|||
2
example221
30.12.19
✎
08:30
|
(1) Вроде считывает,но по задумке неизменяет значение норм часов.
|
|||
3
JeHer
30.12.19
✎
08:31
|
(1) Наверное, тут ошибка
>>> Для каждого Выборка |
|||
4
example221
30.12.19
✎
08:33
|
(3) ОО возможно,спсибо щас проверю
|
|||
5
example221
30.12.19
✎
08:37
|
(3) Начал жаловаться что итератор не определен
|
|||
6
example221
30.12.19
✎
08:40
|
Закрыто
|
|||
7
example221
30.12.19
✎
12:53
|
Извиняюсь за плодение веток.
Но Обясните что от меня хотят Сообщение в котором говорят что изменить (Смотри, ты в запросе выбираешь номер строки. Теперь вместо цикла с обходом строк ты пиши сразу Объект.Работы.(номер строки - поищи как правильно указывать).Коэффициент = ...) Сам Код Процедура КнопкаВыполнитьНажатие(Кнопка) //Защита картера ДВС с/у Работа = Новый СписокЗначений; Работа.Добавить(Справочники.Автоработы.НайтиПоКоду("ЦБ00021506")); //Номер.Добавить("0,200"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказНарядРаботы.Ссылка, | ЗаказНарядРаботы.Работа, | ЗаказНарядРаботы.Коэффициент, | ЗаказНарядРаботы.НомерСтроки |ИЗ | Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы |ГДЕ | ЗаказНарядРаботы.Работа В(&Работа)"; Запрос.УстановитьПараметр("Работа", Работа); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Объект = Выборка.Ссылка.ПолучитьОбъект(); Для каждого Стр из Объект.Работы Цикл Если Выборка.Коэффициент = 0.500 Тогда стр.Коэффициент = 0.600; КонецЕсли; Попытка Объект.Записать(); Исключение Сообщить("НормЧасы " + Объект + " не изменены."); КонецПопытки; КонецЦикла; КонецЦикла; КонецПроцедуры Я Туповат да |
|||
8
NcSteel
30.12.19
✎
12:53
|
Процедура КнопкаВыполнитьНажатие(Кнопка)
//Защита картера ДВС с/у Работа = Новый СписокЗначений; Работа.Добавить(Справочники.Автоработы.НайтиПоКоду("ЦБ00021506")); //Номер.Добавить("0,200"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказНарядРаботы.Ссылка, | ЗаказНарядРаботы.Работа, | ЗаказНарядРаботы.Коэффициент, | ЗаказНарядРаботы.НомерСтроки |ИЗ | Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы |ГДЕ | ЗаказНарядРаботы.Работа В(&Работа) |Итоги ПО ЗаказНарядРаботы.Ссылка"; Запрос.УстановитьПараметр("Работа", Работа); Результат = Запрос.Выполнить(); ВыборкаЗН = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаЗН.Следующий() Цикл Объект = ВыборкаЗН.Ссылка.ПолучитьОбъект(); ВыборкаДетали = ВыборкаЗН.Выбрать(ОбходРезультатаЗапроса.Прямой); Пока ВыборкаДетали.Следующий() Цикл ИндексСтроки = ВыборкаДетали.НомерСтроки - 1; стр = Объект.Работы[ИндексСтроки]; стр.Коэффициент = 0.600; КонецЦикла; Попытка Объект.Записать(); Исключение Сообщить("НормЧасы " + Объект + " не изменены."); КонецПопытки; КонецЦикла; КонецПроцедуры |
|||
9
example221
30.12.19
✎
12:54
|
(8) Угу Спасибо,щас проверю
|
|||
10
example221
30.12.19
✎
12:56
|
(8) Но тут опять цикл в цикле получается,одним циклом это не провернуть?
|
|||
11
hhhh
30.12.19
✎
13:05
|
(10) зачем это всё? Есть же типовая ГрупповаяОбработкаСправочниковИДокументов. Идеально подходит для данного случая, и вообще ничего писать не надо.
|
|||
12
NcSteel
30.12.19
✎
13:24
|
(10) Так оптимальнее.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |