|   |   | 
| 
 | Внешняя обработка | ☑ | ||
|---|---|---|---|---|
| 0
    
        example221 27.12.19✎ 14:55 | 
        Доброго времени суток,написал обработку,она вродебы работает заказы шерстит но не выполняет свою функцию по изменению коэффициента
 Помогите пожалуйста Процедура КнопкаВыполнитьНажатие(Кнопка) //Защита картера ДВС с/у Работа = Новый СписокЗначений; Работа.Добавить(Справочники.Автоработы.НайтиПоКоду("ЦБ00021506")); //Номер.Добавить("0,200"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказНарядРаботы.Ссылка КАК Ссылка, | ЗаказНарядРаботы.Работа КАК ВидРаботы, | ЗаказНарядРаботы.Коэффициент КАК Коэффициент |ИЗ | Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы |ГДЕ | ЗаказНарядРаботы.Работа В(&Работа)"; Запрос.УстановитьПараметр("Работа", Работа); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Объект = Выборка.Ссылка.ПолучитьОбъект(); Если Выборка.Коэффициент = "0,200" Тогда Объект.Коэффициент = "1,200"; КонецЕсли; Попытка Объект.Записать(); Сообщить(Выборка.Ссылка) Исключение Сообщить("НормЧасы " + Выборка.Ссылка + " не изменены."); КонецПопытки; КонецЦикла; КонецПроцедуры | |||
| 1
    
        Волшебник модератор 27.12.19✎ 14:56 | 
        Объект.Коэффициент = 1.2;     | |||
| 2
    
        Kigo_Kigo 27.12.19✎ 14:56 | 
        А где получитьОбъект?     | |||
| 3
    
        Kigo_Kigo 27.12.19✎ 14:57 | 
        А вижу, ссори     | |||
| 4
    
        example221 27.12.19✎ 14:57 | 
        (1) Не понял,что тут не так?     | |||
| 5
    
        Волшебник модератор 27.12.19✎ 14:58 | 
        (4) Несоответствие типов. 
 сравните Объект.Коэффициент = "1,200"; и Объект.Коэффициент = 1.2; | |||
| 6
    
        RomanYS 27.12.19✎ 14:58 | 
        (0) Читаешь ты реквизит ТЧ, а пишешь в реквизит шапки     | |||
| 7
    
        Kigo_Kigo 27.12.19✎ 14:58 | 
        (4) Несовпадение типов, вы в число суете строку, а она, так бывает, не преобразуется     | |||
| 8
    
        dezss 27.12.19✎ 14:58 | 
        (6) +1)     | |||
| 9
    
        example221 27.12.19✎ 14:59 | 
        (5) (6) А ип**ть щас проверю спасибо.     | |||
| 10
    
        example221 27.12.19✎ 15:00 | 
        {ВнешняяОбработка.ЗНВН.Форма.Форма.Форма(28,26)}: Неопознанный оператор
 Объект.Коэффициент = 1<<?>>,200; (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ЗНВН.Форма.Форма.Форма(29,3)}: Ожидается ключевое слово 'КонецЦикла' ('EndDo') <<?>>КонецЕсли; (Проверка: Толстый клиент (обычное приложение)) {ВнешняяОбработка.ЗНВН.Форма.Форма.Форма(36,2)}: Ожидается ключевое слово 'КонецПроцедуры' ('EndProcedure') <<?>>КонецЦикла; (Проверка: Толстый клиент (обычное приложение)) выдал такую ошибку | |||
| 11
    
        example221 27.12.19✎ 15:00 | 
        сорри
 тупой точка | |||
| 12
    
        Волшебник модератор 27.12.19✎ 15:00 | 
        (6) И это тоже.     | |||
| 13
    
        Kigo_Kigo 27.12.19✎ 15:01 | 
        (10) разделитель точка!     | |||
| 14
    
        example221 27.12.19✎ 15:01 | 
        (12) неа не помогло,теперь вообще обработка не каких действий не делает     | |||
| 15
    
        example221 27.12.19✎ 15:02 | 
        Делал подобное и оно работало как надо а щас не получается уже тильт полный
 Процедура КнопкаВыполнитьНажатие(Кнопка) Номер = Новый СписокЗначений; Номер.Добавить("000000395"); Номер.Добавить("000000398"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | КассоваяСмена.Ссылка, | КассоваяСмена.Номер |ИЗ | Документ.КассоваяСмена КАК КассоваяСмена |ГДЕ | КассоваяСмена.Номер В(&Номер)"; Запрос.УстановитьПараметр("Номер", Номер); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Объект = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект(); Объект.Статус = Перечисления.СтатусыКассовойСмены.Закрыта; Если ВыборкаДетальныеЗаписи.Номер = "000000395" Тогда Объект.Номер = "48"; ИначеЕсли ВыборкаДетальныеЗаписи.Номер = "000000398" Тогда Объект.Номер = "258"; КонецЕсли; Попытка Объект.Записать(); Исключение Сообщить("Документ " + ВыборкаДетальныеЗаписи.Ссылка + " не записался."); КонецПопытки; КонецЦикла; КонецПроцедуры | |||
| 16
    
        Волшебник модератор 27.12.19✎ 15:03 | 
        (14) Вам надо перестать тупить и сделать правильно.     | |||
| 17
    
        RomanYS 27.12.19✎ 15:03 | 
        (14) код покажи     | |||
| 18
    
        example221 27.12.19✎ 15:03 | 
        (6) Так всм,в шапку пишу?     | |||
| 19
    
        dezss 27.12.19✎ 15:03 | 
        (15) Ты, блин, что вообще делаешь?
 Тебе после получения объекта надо найти нужные строки и там поменять свой коэффициент. | |||
| 20
    
        example221 27.12.19✎ 15:03 | 
        (17) 
 Процедура КнопкаВыполнитьНажатие(Кнопка) //Защита картера ДВС с/у Работа = Новый СписокЗначений; Работа.Добавить(Справочники.Автоработы.НайтиПоКоду("ЦБ00021506")); //Номер.Добавить("0,200"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказНарядРаботы.Ссылка КАК Ссылка, | ЗаказНарядРаботы.Работа КАК ВидРаботы, | ЗаказНарядРаботы.Коэффициент КАК Коэффициент |ИЗ | Документ.ЗаказНаряд.Работы КАК ЗаказНарядРаботы |ГДЕ | ЗаказНарядРаботы.Работа В(&Работа)"; Запрос.УстановитьПараметр("Работа", Работа); Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Объект = Выборка.Ссылка.ПолучитьОбъект(); Если Выборка.Коэффициент = "0,200" Тогда Объект.Коэффициент = 1.200; КонецЕсли; Попытка Объект.Записать(); Сообщить(Выборка.Ссылка) Исключение Сообщить("НормЧасы " + Выборка.Ссылка + " не изменены."); КонецПопытки; КонецЦикла; КонецПроцедуры | |||
| 21
    
        dezss 27.12.19✎ 15:04 | 
        (18) А коэффициент для сравнения берешь из таб части.     | |||
| 22
    
        example221 27.12.19✎ 15:04 | 
        (19) Да выбирает колонку там работа мне надо поминять в нескольких документах с помощью обработки этот коэф     | |||
| 23
    
        example221 27.12.19✎ 15:05 | 
        (21) беру тот копированием который дал мне запрос     | |||
| 24
    
        RomanYS 27.12.19✎ 15:05 | 
        (20)  
 Если Выборка.Коэффициент = "0,200" Тогда//всегда ЛОЖЬ! | |||
| 25
    
        dezss 27.12.19✎ 15:06 | 
        (23) который ты попросил у запроса)))
 Лучше покажи структуру своего объекта и тип реквизита "Коэффициент". | |||
| 26
    
        RomanYS 27.12.19✎ 15:07 | 
        (22) (23) ппц. 
 (16) абсолютно в точку | |||
| 27
    
        Волшебник модератор 27.12.19✎ 15:07 | 
        (24) Здесь может сработать неявное преобразование типов и результат может быть правильный. Но разумеется лучше на него не надеяться.     | |||
| 28
    
        example221 27.12.19✎ 15:09 | 
        (25) тип резкезита сек     | |||
| 29
    
        example221 27.12.19✎ 15:09 | 
        (25) Число     | |||
| 30
    
        example221 27.12.19✎ 15:09 | 
        Точность до 3     | |||
| 31
    
        Kigo_Kigo 27.12.19✎ 15:10 | 
        (27) а может и нет, вс равно сравнивать число со строкой не коррректно
 Если Выборка.Коэффициент = 0.2 Тогда | |||
| 32
    
        example221 27.12.19✎ 15:13 | 
        Ну люди ,пожалуйста обьясните,я  2 недели только копаюсь.     | |||
| 33
    
        dezss 27.12.19✎ 15:15 | 
        (32) тебе в (31) написали.     | |||
| 34
    
        RomanYS 27.12.19✎ 15:21 | 
        (27) НЕ может! При присваивании может (и срабатывает), а при сравнении преобразования типов не будет. Переменные разных типов не могут быть равны.     | |||
| 35
    
        Волшебник модератор 27.12.19✎ 15:27 | 
        (34) Под Новый год всё возможно. ;)     | |||
| 36
    
        RomanYS 27.12.19✎ 15:28 | 
        (35) Принято)     | |||
| 37
    
        example221 27.12.19✎ 15:47 | 
        (31) он при таком действие ожидает кл слово тогда     | |||
| 38
    
        example221 27.12.19✎ 15:47 | 
        Опять туплю
 все пробую | |||
| 39
    
        example221 27.12.19✎ 15:48 | 
        Нет реакции при нажатии кнопки выполнить     | |||
| 40
    
        example221 27.12.19✎ 15:48 | 
        И через т Остановки тоже не видно действий     | |||
| 41
    
        pechkin 27.12.19✎ 15:50 | 
        юзай такую     | |||
| 42
    
        pechkin 27.12.19✎ 15:50 | ||||
| 43
    
        example221 27.12.19✎ 16:30 | 
        {ВнешняяОбработка.ЗНВН.Форма.Форма.Форма(28)}: Поле объекта не обнаружено (Коэффициент)
 Объект.Коэффициент = 1.200; начала появлятся такая ошибка | |||
| 44
    
        RomanYS 27.12.19✎ 16:31 | 
        (43) прочитай (6)     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |