|
Ошибка в чтении значения | ☑ | ||
---|---|---|---|---|
0
ZloyRafa
19.09.16
✎
07:29
|
Создал запрос, провел документ движения не отработали, отладчиком пошел по выборке
РезультатЗапроса = Запрос.Выполнить();//Работает Выборка = РезультатЗапроса.Выбрать();//В Выборке ошибка чтения значения. Поэтому видимо движений нет, а в чем ошибка не пойму Процедура ОбработкаПроведения(Отказ, Режим) //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РасходнаяНакладнаяТовары.Номенклатура КАК Номенклатура, | РасходнаяНакладнаяТовары.Количество * РасходнаяНакладнаяТовары.ЕдИзмерения.Коэффициент КАК Количество |ПОМЕСТИТЬ РасхНакл |ИЗ | Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | РасхНакл.Номенклатура КАК Номенклатура, | РасхНакл.Количество КАК Количество, | ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК КоличествоОстаток |ПОМЕСТИТЬ ОстаткиНоменклатуры |ИЗ | РегистрНакопления.ОстаткиНоменклатуры.Остатки(&МоментВремени, Склад = &Склад) КАК ОстаткиНоменклатурыОстатки | ЛЕВОЕ СОЕДИНЕНИЕ РасхНакл КАК РасхНакл | ПО ОстаткиНоменклатурыОстатки.Номенклатура = РасхНакл.Номенклатура |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ОстаткиНоменклатуры.Номенклатура КАК Номенклатура, | ЕСТЬNULL(ОстаткиНоменклатуры.Количество, 0) КАК Количество, | ЕСТЬNULL(ОстаткиНоменклатуры.КоличествоОстаток, 0) КАК КоличествоОстаток, | ЕСТЬNULL(СебестоимостьОстатки.КоличествоОстаток, 0) КАК КоличествоОстатокНаСкладе, | ЕСТЬNULL(СебестоимостьОстатки.СуммаОстаток / СебестоимостьОстатки.КоличествоОстаток, 0) КАК ЦенаСР, | ЕСТЬNULL(СебестоимостьОстатки.СуммаОстаток, 0) КАК СуммаОстаток |ИЗ | РегистрНакопления.Себестоимость.Остатки(&МоментВремени, ) КАК СебестоимостьОстатки | ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиНоменклатуры КАК ОстаткиНоменклатуры | ПО СебестоимостьОстатки.Номенклатура = ОстаткиНоменклатуры.Номенклатура"; Запрос.УстановитьПараметр("МоментВремени", МоментВремени()); Запрос.УстановитьПараметр("Склад", Склад); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); Пока Выборка.Следующий() Цикл Если НЕ Выборка.Номенклатура.Услуга=Истина Тогда Если Выборка.КоличествоОстаток<Выборка.Количество Тогда Сообщить(Выборка.Номенклатура+" ""не хватает на складе, есть реально"+Выборка.КоличествоОстаток); Отказ=Истина; Продолжить; ИначеЕсли Отказ Тогда Продолжить; КонецЕсли; СуммаКСписанию=?(Выборка.КоличествоОстаток=Выборка.КоличествоОстатокНаСкладе, Выборка.СуммаОстаток, Выборка.Количество*Выборка.ЦенаСР); // регистр ОстаткиНоменклатуры Расход Движения.ОстаткиНоменклатуры.Записывать = Истина; Движение = Движения.ОстаткиНоменклатуры.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = Выборка.Номенклатура; Движение.Склад = Склад; Движение.Количество = Выборка.Количество; // регистр Себестоимость Расход Движения.Себестоимость.Записывать = Истина; Движение = Движения.Себестоимость.Добавить(); Движение.ВидДвижения = ВидДвиженияНакопления.Расход; Движение.Период = Дата; Движение.Номенклатура = Выборка.Номенклатура; Движение.Количество = Выборка.Количество; Движение.Сумма = СуммаКСписанию; //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецЕсли; КонецЦикла; Движения.ОстаткиНоменклатуры.Записывать = Истина; Движения.Себестоимость.Записывать = Истина; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА КонецПроцедуры |
|||
1
Рэйв
19.09.16
✎
07:31
|
В чем вопрос то?
|
|||
2
ZloyRafa
19.09.16
✎
07:32
|
(1) Движения не проходят, почему не понимаю.
|
|||
3
чувак
19.09.16
✎
07:35
|
(2) отладчик в цикле что-то поймал?
|
|||
4
DDwe
19.09.16
✎
07:38
|
Про отладчик говорили?
|
|||
5
ZloyRafa
19.09.16
✎
07:40
|
отладчиком пошел по выборке
РезультатЗапроса = Запрос.Выполнить()//Работает Выборка = РезультатЗапроса.Выбрать()//В Выборке ошибка чтения значения. |
|||
6
чувак
19.09.16
✎
07:43
|
(5) В консоли отчета пробовал?
|
|||
7
jsmith
19.09.16
✎
07:46
|
Ошибка чтения значения это баг платформы
|
|||
8
jsmith
19.09.16
✎
07:47
|
В отладчике посмотри Запрос.Выполнить().Выгрузить()
|
|||
9
Mauser
19.09.16
✎
07:48
|
(5) По выборке ты пойдешь, когда выполнится первый раз .Следующий()
|
|||
10
ZloyRafa
19.09.16
✎
07:48
|
всем спасибо за отклики, проблему решил.
|
|||
11
Mauser
19.09.16
✎
07:49
|
(7) Точно-точно, в 8.1.76 только и починили
|
|||
12
Mauser
19.09.16
✎
07:49
|
(10) И что же там было?
|
|||
13
ZloyRafa
19.09.16
✎
07:59
|
(12) Движение только первое сработало, ошибка "Значение не является значением объектного типа(Услуга)"
Строка: Если НЕ Выборка.Номенклатура.Услуга=Истина Тогда |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |