Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
24 Янв 2017, 10:00
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ошибка чтения значения  (Прочитано 1754 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Рафаэль

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-01-10
  • Сайт: 
  • Профессия: Ученик 1С
1С 8.3, самописная, учебная.
Всем доброго времени суток! Столкнулся с проблемой и никак ее не могу решить. Вот текст запроса:
"ВЫБРАТЬ
|   ПродажаТоваровТовары.Номенклатура,
|   СУММА(ПродажаТоваровТовары.Количество) КАК Количество,
|   ПродажаТоваровТовары.Ссылка.Склад
|ПОМЕСТИТЬ ТабДок
|ИЗ
|   Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары
|ГДЕ
|   ПродажаТоваровТовары.Ссылка = &Ссылка
|   И ПродажаТоваровТовары.Номенклатура.ВидНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга)
|
|СГРУППИРОВАТЬ ПО
|   ПродажаТоваровТовары.Номенклатура,
|   ПродажаТоваровТовары.Ссылка.Склад
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|   ТабДок.Номенклатура,
|   ТабДок.Количество,
|   ТабДок.Склад,
|   ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОстатки,
|   ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаОстаток, 0) КАК СуммаОстатки
|ИЗ
|   ТабДок КАК ТабДок
|      ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
|            &Момент,
|            (Номенклатура, Склад) В
|               (ВЫБРАТЬ
|                  ТабДок.Номенклатура,
|                  ТабДок.Склад
|               ИЗ
|                  ТабДок КАК ТабДок)) КАК ОстаткиНоменклатурыОстатки
|      ПО ТабДок.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура"

При попытке произвести выборку в дебаггере показывает ошибку чтения значений.
В этой строке: ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();      
В чем ошибка?
Вот остальная часть процедуры:
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
   Запрос.УстановитьПараметр("Момент", Неопределено);
Иначе
   Запрос.УстановитьПараметр("Момент", ТекущаяДата());
КонецЕсли;
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Инфо = Новый Структура;
Массив = Новый Массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Инфо.Вставить("Номенклатура", ВыборкаДетальныеЗаписи.Номенклатура);
Инфо.Вставить("Склад", ВыборкаДетальныеЗаписи.Склад);
Инфо.Вставить("КоличесвтоУчет", ВыборкаДетальныеЗаписи.КоличесвтоУчет);
Массив.Добавить(Инфо);

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>


Оффлайн Vladimir_Sh

  • 1С:Специалист
  • ****
  • Сообщений: 348
  • РЕПУТАЦИЯ: 65
  • КПД: 19%
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Разработчик 1С
Более подробнее, какую ошибку показывает?
Если я Вам помог, нажми - Спасибо!

Оффлайн Рафаэль

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-01-10
  • Сайт: 
  • Профессия: Ученик 1С
Более подробнее, какую ошибку показывает?

Оффлайн Vladimir_Sh

  • 1С:Специалист
  • ****
  • Сообщений: 348
  • РЕПУТАЦИЯ: 65
  • КПД: 19%
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Разработчик 1С
Выполните
РезультатЗапроса.Выбрать().Количество()
Если больше 0 тогда выборка со значениями и в цикле в переменную РезультатЗапроса будут передаваться строки выборки запроса на каждой итерации.
Хотите просмотреть всю выборку в таблице на отладке тогда Вам следующий код
Запрос.Выполнить().Выгрузить()
Получите ТЗ которую удобно анализировать визуально в отладке.
Если я Вам помог, нажми - Спасибо!

Оффлайн Рафаэль

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-01-10
  • Сайт: 
  • Профессия: Ученик 1С
Можете поподробнее объяснить, если не сложно? А то что то не могу понять..

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1095
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Массив = Новый Массив;

"Массив" - служебное слово. Слева, имя переменной, придумайте другое.

Затем после цикла точку останова поставьте и посмотрите, чему "Массив" равен, скорее всего ничему.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн Vladimir_Sh

  • 1С:Специалист
  • ****
  • Сообщений: 348
  • РЕПУТАЦИЯ: 65
  • КПД: 19%
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Разработчик 1С
Ну попробую)
Когда используется Выбрать(), то на выходе получается ВыборкаРезультатаЗапроса (это можно назвать его "контейнер" со строками), обход выборки происходит с помощью Следующий() в цикле. На каждом итерации (т.е. повторном выполнении тела) цикла происходит инициализация (присваивание строки) в переменную со значением ВыборкаРезультатЗапроса. Например имеем результат выборки:
НоменклатураКоличество
Яблоко1
Груша2
Банан3
Далее при конструкции
РезультатЗапроса = Запрос.Выполнить().Выбрать();
В переменной РезультатЗапроса будет значение типа "ВыборкаРезультатаЗапроса". Для того чтобы обойти значения необходимо использовать конструкцию.
Пока РезультатЗапроса.Следующий() Цикл
<<тело цикла>>
КонецЦикла;
При первом проходе с переменной РезультатЗапроса будет значения
НоменклатураКоличество
Яблоко1

При втором
НоменклатураКоличество
Груша2
и т.д.
Их можно просмотреть в отладке.
Добавлено: 10 Янв 2016, 15:16

Массив = Новый Массив;

"Массив" - служебное слово. Слева, имя переменной, придумайте другое.

Затем после цикла точку останова поставьте и посмотрите, чему "Массив" равен, скорее всего ничему.

Нет не является, используется только в конструкции "Новый Массив". Теоретически его можно использовать без каких либо проблем, на практике - просто не желательно.
Если я Вам помог, нажми - Спасибо!

Оффлайн Рафаэль

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-01-10
  • Сайт: 
  • Профессия: Ученик 1С
Ну попробую)
Когда используется..
Так и не понял, что у меня не так и что мне надо поменять?

Оффлайн Vladimir_Sh

  • 1С:Специалист
  • ****
  • Сообщений: 348
  • РЕПУТАЦИЯ: 65
  • КПД: 19%
  • Регистрация: 2015-10-16
  • Сайт: 
  • Профессия: Разработчик 1С
<_< да все у вас верно, в отладке так и будет показывать "Ошибка чтения значения". Поставьте точку останова во внутрь цикла и увидите в ней данные.
Если я Вам помог, нажми - Спасибо!

Оффлайн Рафаэль

  • *
  • Сообщений: 11
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-01-10
  • Сайт: 
  • Профессия: Ученик 1С
<_< да все у вас верно, в отладке так и будет показывать "Ошибка чтения значения". Поставьте точку останова во внутрь цикла и увидите в ней данные.
В цикл не заходит


Теги: 1сЮ 
 

При открытии обр-ки в "Предприятии" есть ошибка, а в "Отладке" нет

Автор proofetРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 3665
Последний ответ 21 Сен 2011, 17:35
от proofet
ошибка "Невозможно обработать параметр "ПрофильПолномочийПользователя""

Автор lindeluРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 4816
Последний ответ 06 Июн 2012, 09:15
от lindelu
Синтаксическая ошибка "В" Номенклатура.Ссылка = <<?>> В ИЕРАРХИИ(&Ссылка)

Автор maskitoРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 4
Просмотров: 3240
Последний ответ 28 Апр 2014, 15:53
от maskito
При создании нового документа "Заявка на кассовый расход" Ошибка "Значение 9 поля "номер" не уникально

Автор ppkmliteРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 14
Просмотров: 5187
Последний ответ 22 Ноя 2014, 04:50
от cska-fanat-kz
Ошибка при загрузке данных через (Обработка "Выгрузка и загрузка данных XML")

Автор Сергей_87Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 7025
Последний ответ 26 Апр 2012, 23:08
от Dethmontt

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
166 Сообщений
alex0402
56 Сообщений
MuI_I_Ika MuI_I_Ika
49 Сообщений
crow1983
35 Сообщений
LexaK
32 Сообщений
alexandr_ll
28 Сообщений
sertak sertak
25 Сообщений
Vzonder
21 Сообщений
BuhRust
17 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal