|
Помогите с ошибкой | ☑ | ||
---|---|---|---|---|
0
Boudybuilder
27.07.11
✎
01:18
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ |ЗначениеНачисленияПлатыЗаРемонт |ИЗ |РегистрСведений.РасчетыЗароботнойПлаты.СрезПоследних КАК ВыбранРегистр |ГДЕ |ВыбранРегистр.ФизическоеЛицо = &ФизическоеЛицо"; Запрос.УстановитьПараметр("ФизическоеЛицо",МастерФизЛицо); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Выборка.Выбрать(); Пока Выборка.Следующий() Цикл НаценкаЗаРемонт = Выборка.ЗначениеНачисленияПлатыЗаРемонт; КонецЦикла; //Расчет Зароботка Мастеру Ремонта Если НЕ МастерФизЛицо = 0 Тогда НачислениеЗаРемонт = НаценкаЗаРемонт*(ЦінаВихідна-ЗапчастиСебестоимость); КонецЕсли; |
|||
1
Boudybuilder
27.07.11
✎
01:19
|
Выбивает эту ошибку:
{Документ.ВнутреннийРемонт.Форма.ФормаДокумента.Форма(91)}: Преобразование значения к типу Число не может быть исполнено НачислениеЗаРемонт = НаценкаЗаРемонт*(ЦінаВихідна-ЗапчастиСебестоимость); |
|||
2
Boudybuilder
27.07.11
✎
01:19
|
Выбивает эту ошибку:
{Документ.ВнутреннийРемонт.Форма.ФормаДокумента.Форма(91)}: Преобразование значения к типу Число не может быть исполнено НачислениеЗаРемонт = НаценкаЗаРемонт*(ЦінаВихідна-ЗапчастиСебестоимость); |
|||
3
Boudybuilder
27.07.11
✎
01:20
|
А в начале этой процедуры обьявил переменную
Перем НаценкаЗаРемонт; Чтото тут на нее грешит... |
|||
4
IamAlexy
27.07.11
✎
01:21
|
у тебя запрос ничего не возвращает.. вот в формуле неопределно и вываливает ошибку..
ты запрос поправь... конструктором его открой - не ругается? |
|||
5
kiruha
27.07.11
✎
01:28
|
и это зачем
Выборка = РезультатЗапроса.Выбрать(); Выборка.Выбрать();// ? и в отладчике см тип переменных |
|||
6
y22-k
27.07.11
✎
01:35
|
выборка.выбрать() убери из цикла
в отладчике посмотри тип переменных |
|||
7
Boudybuilder
27.07.11
✎
01:43
|
ВЫБРАТЬ
|ВыбранРегистр.ЗначениеНачисленияПлатыЗаРемонт |ИЗ |РегистрСведений.РасчетыЗароботнойПлаты.СрезПоследних КАК ВыбранРегистр |
|||
8
Boudybuilder
27.07.11
✎
01:44
|
Все работает!
|
|||
9
Boudybuilder
27.07.11
✎
01:45
|
В консоле запросов возвращает число....
|
|||
10
Boudybuilder
27.07.11
✎
01:48
|
Процедура ОтветственноеФизическоеЛицоПриИзменении(Элемент)
Перем НаценкаЗаРемонт; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |ВыбранРегистр.ЗначениеНачисленияПлатыЗаРемонт |ИЗ |РегистрСведений.РасчетыЗароботнойПлаты.СрезПоследних КАК ВыбранРегистр |ГДЕ |ВыбранРегистр.ФизическоеЛицо = &ФизическоеЛицо"; Запрос.УстановитьПараметр("ФизическоеЛицо",МастерФизЛицо); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл НаценкаЗаРемонт = Выборка.ЗначениеНачисленияПлатыЗаРемонт; КонецЦикла; //Расчет Зароботка Мастеру Ремонта Если НЕ МастерФизЛицо = 0 Тогда НачислениеЗаРемонт = НаценкаЗаРемонт*(ЦінаВихідна-ЗапчастиСебестоимость); КонецЕсли; |
|||
11
Boudybuilder
27.07.11
✎
01:50
|
НачислениеЗаРемонт = НаценкаЗаРемонт*(ЦінаВихідна-ЗапчастиСебестоимость);
Это все реквизиты дока кроме НаценкаЗаРемонт |
|||
12
Boudybuilder
27.07.11
✎
01:50
|
Реквизиты с типом - число
|
|||
13
Terve-R-
27.07.11
✎
01:55
|
Что за ЦінаВихідна?
Напиши по-русски, она не понимает! |
|||
14
Terve-R-
27.07.11
✎
02:07
|
Я бы написал так:
Если НЕ МастерФизЛицо = 0 Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ВыбранРегистр.ЗначениеНачисленияПлатыЗаРемонт |ИЗ | РегистрСведений.РасчетыЗароботнойПлаты.СрезПоследних(, ФизическоеЛицо = &ФизическоеЛицо) КАК ВыбранРегистр"; Запрос.УстановитьПараметр("ФизическоеЛицо",МастерФизЛицо); РезультатЗапроса = Запрос.Выполнить().Выбрать(); Если РезультатЗапроса.Следующий() Тогда //Расчет Зароботка Мастеру Ремонта НаценкаЗаРемонт = РезультатЗапроса.ЗначениеНачисленияПлатыЗаРемонт; НачислениеЗаРемонт = НаценкаЗаРемонт*(ЦінаВихідна-ЗапчастиСебестоимость); КонецЕсли; КонецЕсли; |
|||
15
Boudybuilder
27.07.11
✎
02:15
|
|ВыбранРегистр.ФизическоеЛицо = &Регистратор";
Запрос.УстановитьПараметр("Регистратор",ЭлементыФормы.МастерФизЛицо.Значение); Так работает... По реквизиту не фильтровало , тока по єлементуформі со ссілкой на реквизит... |
|||
16
Boudybuilder
27.07.11
✎
02:56
|
(14)
Как получить курс на дату проведения дока??? |
|||
17
Boudybuilder
27.07.11
✎
02:56
|
//Получить СуммуУпр
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ |ВыбранРегистр.Курс, |ВыбранРегистр.Кратность |ИЗ |РегистрСведений.КурсыВалют.СрезПоследних КАК ВыбранРегистр |ГДЕ |ВыбранРегистр.Валюта= &Регистратор"; Запрос.УстановитьПараметр("Регистратор",Справочники.Валюты.НайтиПоКоду("840")); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Выборка.Выбрать(); Пока Выборка.Следующий() Цикл СуммаУпр=(НачислениеЗаРемонт/Выборка.Курс)*Выборка.Кратность; КонецЦикла; |
|||
18
Terve-R-
27.07.11
✎
03:05
|
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ | КурсыВалютСрезПоследних.Курс, | КурсыВалютСрезПоследних.Кратность |ИЗ | РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДок, Валюта = &Регистратор) КАК КурсыВалютСрезПоследних"; Запрос.УстановитьПараметр("ДатаДок",ЭтотОбъект.Дата); Запрос.УстановитьПараметр("Регистратор",Справочники.Валюты.НайтиПоКоду("840")); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда СуммаУпр=(НачислениеЗаРемонт/Выборка.Курс)*Выборка.Кратность; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |