|
Операции сравнения на больше-меньше допустимы только для значений совпадающих пр | ☑ | ||
---|---|---|---|---|
0
ktu78
04.09.15
✎
17:20
|
Добрый день, коллеги.
При выполнении выборки запроса для проверки наличия ТМЦ на складе и в партии смотри код: //проверка наличия ТМЦ на складе и в партии Для Каждого ТекСтрока Из СписокПеремещенийТМЦ Цикл Запрос = ПроверкаНаличияТМЦНаСкладеВПартии(Ссылка, СкладОтправитель, ТекСтрока.Партия); Выборка=Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл Если Выборка.КоличествоСклад < Выборка.КоличествоДок Тогда Сообщение=Новый СообщениеПользователю; Сообщение.Текст="Не хватает товаров на складе в размере:"+Строка(Выборка.КоличествоДок-Выборка.КоличествоСклад)+" единиц"; Сообщение.Сообщить(); Отказ=Истина; КонецЕсли; КонецЦикла; КонецЦикла; ........ Функция ПроверкаНаличияТМЦНаСкладеВПартии(Документ, Склад, Партия) //контроль наличия на складе отправителе Запрос=Новый Запрос; Запрос.Текст="ВЫБРАТЬ | ТМЦОстатки.ТМЦ, | ТМЦОстатки.Склад, | ТМЦОстатки.Партия, | ТМЦОстатки.КоличествоОстаток КАК КоличествоСклад, | ПеремещениеТМЦСписокПеремещенийТМЦ.Количество КАК КоличествоДок |ИЗ | Документ.ПеремещениеТМЦ.СписокПеремещенийТМЦ КАК ПеремещениеТМЦСписокПеремещенийТМЦ | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТМЦ.Остатки( | , | Склад = &Склад | И Партия = &Партия) КАК ТМЦОстатки | ПО ПеремещениеТМЦСписокПеремещенийТМЦ.ТМЦ = ТМЦОстатки.ТМЦ |ГДЕ | ПеремещениеТМЦСписокПеремещенийТМЦ.Ссылка = &Ссылка"; Запрос.УстановитьПараметр("Ссылка",Ссылка); Запрос.УстановитьПараметр("Склад",Склад); Запрос.УстановитьПараметр("Партия",Партия); Возврат Запрос; КонецФункции При проведении документа Перемещение ТМЦ выдается ошибка: Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.ПеремещениеТМЦ.МодульОбъекта(20)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата) Если Выборка.КоличествоСклад < Выборка.КоличествоДок Тогда помогите пожалуйста, заранее благодарен |
|||
1
Господин ПЖ
04.09.15
✎
17:21
|
у тебя там null
|
|||
2
ДенисЧ
04.09.15
✎
17:22
|
хм... А почему при левом соединении не используется ЕСТЬNULL?
|
|||
3
Масянька
04.09.15
✎
17:22
|
(0) Щас придет Ненавижу1С и он тебе популярно объяснит, что Неопределено <> NULL :)))))
|
|||
4
sash-ml
04.09.15
✎
17:22
|
isnull(ТМЦОстатки.КоличествоОстаток,0) КАК КоличествоСклад,
|
|||
5
ktu78
04.09.15
✎
17:31
|
Добавил в запрос
ЕСТЬNULL(ТМЦОстатки.КоличествоОстаток, 0) КАК КоличествоСклад, | ЕСТЬNULL(ПеремещениеТМЦСписокПеремещенийТМЦ.Количество, 0) КАК КоличествоДок все равно выскакивает Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.ПеремещениеТМЦ.МодульОбъекта(20)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата) Если Выборка.КоличествоСклад < Выборка.КоличествоДок Тогда |
|||
6
Масянька
04.09.15
✎
17:39
|
(5) А нету остатков... Вообще...
|
|||
7
palsergeich
04.09.15
✎
17:41
|
Религия не позволяет сделать остонову по ошибке и самому просмотреть что же там на самом деле то в переменных. Мб где то не NULL а НЕОПРЕДЕЛЕНО? Или вообще другой тип данных?
|
|||
8
Господин ПЖ
04.09.15
✎
17:41
|
и вообще... запрос в цикле... куда мама смотрит?
|
|||
9
Брегорьян
04.09.15
✎
17:41
|
экое громкое имя у регистра
|
|||
10
palsergeich
04.09.15
✎
17:42
|
Кстати да Оо и небось параметры вирт таблицы не стоят, а все в ГДЕ Оо.
|
|||
11
ktu78
04.09.15
✎
17:49
|
Пожалуйста не показывайте ваше остроумие, лучше помогите конкретно
|
|||
12
ktu78
04.09.15
✎
17:51
|
Применил такую конструкцию:
КС = Число (Выборка.КоличествоСклад); КД = Число (Выборка.КоличествоДок); Ничего не дает! Ошибка при выполнении обработчика - 'ОбработкаПроведения' по причине: {Документ.ПеремещениеТМЦ.МодульОбъекта(18)}: Преобразование значения к типу Число не может быть выполнено КС = Число (Выборка.КоличествоСклад); |
|||
13
Масянька
04.09.15
✎
17:51
|
(11) Да нет никакого остроумия... Просто Неопределено <> NULL... Религия, блин, такая :(
|
|||
14
Масянька
04.09.15
✎
17:52
|
(12) Нет остатков. Нет. Сколько раз еще повторять?
|
|||
15
Брегорьян
04.09.15
✎
17:53
|
(11) соберись и скажи, чем помочь. пока собираешься всё поймёшь ;)
|
|||
16
Господин ПЖ
04.09.15
✎
18:10
|
>Просто Неопределено <> NULL
оно тут откуда - итогов нет + Число (Выборка.КоличествоСклад) сломалось бы >Нет остатков при пустом результате не попал бы в цикл Пока Выборка.Следующий() Цикл |
|||
17
Брегорьян
04.09.15
✎
18:11
|
(16) автор врёт?
|
|||
18
Масянька
04.09.15
✎
18:14
|
(16) Рекомендую, прежде чем отвечать, читать всю (!!!) ветку.
|
|||
19
Господин ПЖ
04.09.15
✎
18:32
|
(18) ты себе совет даешь, на будущее что ли?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |