|   |   | 
| 
 | Внешняя обработка на изменения норм часов | ☑ | ||
|---|---|---|---|---|
| 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) Так оптимальнее.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |