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