Вход | Регистрация


Ошибка в чтении значения

Ошибка в чтении значения
Я
   ZloyRafa
 
19.09.16 - 07:29
Создал запрос, провел документ движения не отработали, отладчиком пошел по выборке
РезультатЗапроса = Запрос.Выполнить()//Работает

    
    Выборка = РезультатЗапроса.Выбрать()//В Выборке ошибка чтения значения.

Поэтому видимо движений нет, а в чем ошибка не пойму


Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

    // Данный фрагмент построен конструктором.

    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

    // Данный фрагмент построен конструктором.

    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

    
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    РасходнаяНакладнаяТовары.Номенклатура КАК Номенклатура,
        |    РасходнаяНакладнаяТовары.Количество * РасходнаяНакладнаяТовары.ЕдИзмерения.Коэффициент КАК Количество
        |ПОМЕСТИТЬ РасхНакл
        |ИЗ
        |    Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
        |;
        |
        ////////////////////////////////////////////////////////////////////////////////

        |ВЫБРАТЬ
        |    РасхНакл.Номенклатура КАК Номенклатура,
        |    РасхНакл.Количество КАК Количество,
        |    ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК КоличествоОстаток
        |ПОМЕСТИТЬ ОстаткиНоменклатуры
        |ИЗ
        |    РегистрНакопления.ОстаткиНоменклатуры.Остатки(&МоментВремени, Склад = &Склад) КАК ОстаткиНоменклатурыОстатки
        |        ЛЕВОЕ СОЕДИНЕНИЕ РасхНакл КАК РасхНакл
        |        ПО ОстаткиНоменклатурыОстатки.Номенклатура = РасхНакл.Номенклатура
        |;
        |
        ////////////////////////////////////////////////////////////////////////////////

        |ВЫБРАТЬ
        |    ОстаткиНоменклатуры.Номенклатура КАК Номенклатура,
        |    ЕСТЬNULL(ОстаткиНоменклатуры.Количество, 0) КАК Количество,
        |    ЕСТЬNULL(ОстаткиНоменклатуры.КоличествоОстаток, 0) КАК КоличествоОстаток,
        |    ЕСТЬNULL(СебестоимостьОстатки.КоличествоОстаток, 0) КАК КоличествоОстатокНаСкладе,
        |    ЕСТЬNULL(СебестоимостьОстатки.СуммаОстаток / СебестоимостьОстатки.КоличествоОстаток, 0) КАК ЦенаСР,
        |    ЕСТЬNULL(СебестоимостьОстатки.СуммаОстаток, 0) КАК СуммаОстаток
        |ИЗ
        |    РегистрНакопления.Себестоимость.Остатки(&МоментВремени, ) КАК СебестоимостьОстатки
        |        ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиНоменклатуры КАК ОстаткиНоменклатуры
        |        ПО СебестоимостьОстатки.Номенклатура = ОстаткиНоменклатуры.Номенклатура";
    
    Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
    Запрос.УстановитьПараметр("Склад", Склад);
    
    РезультатЗапроса = Запрос.Выполнить();
    
    Выборка = РезультатЗапроса.Выбрать();
    
    Пока Выборка.Следующий() Цикл
        Если НЕ Выборка.Номенклатура.Услуга=Истина Тогда
            Если Выборка.КоличествоОстаток<Выборка.Количество Тогда
                Сообщить(Выборка.Номенклатура+" ""не хватает на складе, есть реально"+Выборка.КоличествоОстаток);
                Отказ=Истина;
                Продолжить;
            ИначеЕсли Отказ Тогда
                Продолжить;
            КонецЕсли;
            СуммаКСписанию=?(Выборка.КоличествоОстаток=Выборка.КоличествоОстатокНаСкладе,
            Выборка.СуммаОстаток,
            Выборка.Количество*Выборка.ЦенаСР);
            
            // регистр ОстаткиНоменклатуры Расход

    Движения.ОстаткиНоменклатуры.Записывать = Истина;
        Движение = Движения.ОстаткиНоменклатуры.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Номенклатура = Выборка.Номенклатура;
        Движение.Склад = Склад;
        Движение.Количество = Выборка.Количество;
    

    // регистр Себестоимость Расход

    Движения.Себестоимость.Записывать = Истина;
        Движение = Движения.Себестоимость.Добавить();
        Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
        Движение.Период = Дата;
        Движение.Номенклатура = Выборка.Номенклатура;
        Движение.Количество = Выборка.Количество;
        Движение.Сумма = СуммаКСписанию;
    

    //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

КонецЕсли;

КонецЦикла;
     Движения.ОстаткиНоменклатуры.Записывать = Истина;
    Движения.Себестоимость.Записывать             = Истина;

    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


    КонецПроцедуры
 
 
   Рэйв
 
1 - 19.09.16 - 07:31
В чем вопрос то?
   ZloyRafa
 
2 - 19.09.16 - 07:32
(1) Движения не проходят, почему не понимаю.
   чувак
 
3 - 19.09.16 - 07:35
(2) отладчик в цикле что-то поймал?
   DDwe
 
4 - 19.09.16 - 07:38
Про отладчик говорили?
   ZloyRafa
 
5 - 19.09.16 - 07:40
отладчиком пошел по выборке 

РезультатЗапроса = Запрос.Выполнить(//Работает


    
    Выборка = РезультатЗапроса.Выбрать(//В Выборке ошибка чтения значения.
   чувак
 
6 - 19.09.16 - 07:43
(5) В консоли отчета пробовал?
   jsmith
 
7 - 19.09.16 - 07:46
Ошибка чтения значения это баг платформы
   jsmith
 
8 - 19.09.16 - 07:47
В отладчике посмотри Запрос.Выполнить().Выгрузить()
   Mauser
 
9 - 19.09.16 - 07:48
(5) По выборке ты пойдешь, когда выполнится первый раз .Следующий()
   ZloyRafa
 
10 - 19.09.16 - 07:48
всем спасибо за отклики, проблему решил.
 
 Рекламное место пустует
   Mauser
 
11 - 19.09.16 - 07:49
(7) Точно-точно, в 8.1.76 только и починили
   Mauser
 
12 - 19.09.16 - 07:49
(10) И что же там было?
   ZloyRafa
 
13 - 19.09.16 - 07:59
(12) Движение только первое сработало, ошибка "Значение не является значением объектного типа(Услуга)"
Строка: Если НЕ Выборка.Номенклатура.Услуга=Истина Тогда

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует