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

Автор Тема: Выборка из регистра накопления остатков  (Прочитано 1754 раз)

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

Оффлайн getman

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-02
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте. Я только учусь поэтому сильно не пинайте если вопросы глупые. Есть задание - в Документе заполнена колонка Номенклатура (справочник.ссылка.номенклатура) надо по нажатию кнопки в соседнюю колонку заполнить остатками по каждой позиции на складе. я пишу


  &НаСервере 
Функция ПолучитьКоличество( ссылка, Склад )
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|   СвободныеОстатки.Номенклатура    КАК Номенклатура,
|   СвободныеОстатки.Склад           КАК Склад,
|   СвободныеОстатки.ВНаличииОстаток КАК ВНаличии,
|   СвободныеОстатки.Номенклатура.Ссылка,
|   СвободныеОстатки.Склад.ссылка
|ИЗ
|   РегистрНакопления.СвободныеОстатки.Остатки КАК СвободныеОстатки
|           ГДЕ
|   СвободныеОстатки.Номенклатура = &Ссылка И СвободныеОстатки.Склад = &Склад
|";
Запрос.УстановитьПараметр("Склад", Склад);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить().Выбрать();
 
 
Возврат Результат.Вналичии;
КонецФункции 

 

А на выходе ноль. запрос просто не работает.
Результат.ВНаличии - не определено.
Результат.Следующий() - ложь.
то есть ни одного совпадения? но если я делаю отчет с запросом через конструктор запросов то точно такой же текст мне выдает правильное количество. где косяк то?((


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Ссылка - это что? какой тип данных?
+ запрос построен некорректно. Отбор нужно устанавливать через параметры виртуальной таблицы
|ИЗ
|   РегистрНакопления.СвободныеОстатки.Остатки(,Номенклатура=&Номенклатура) КАК СвободныеОстатки

Оффлайн getman

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-02
  • Сайт: 
  • Профессия: Ученик 1С
Ссылка - это что? какой тип данных?
+ запрос построен некорректно. Отбор нужно устанавливать через параметры виртуальной таблицы
|ИЗ
|   РегистрНакопления.СвободныеОстатки.Остатки(,Номенклатура=&Номенклатура) КАК СвободныеОстатки

Ссылка - Справочник. ссылка. номенклатура

Оффлайн Hedinnk

  • **
  • Сообщений: 84
  • РЕПУТАЦИЯ: 14
  • КПД: 17%
  • Регистрация: 2016-03-04
  • Сайт: 
  • Профессия: Программист 1С
Первая грубая ошибка, Вы выполняете запрос в цикле. Это неправильно. Вам необходимо получить остатки сразу для всей номенклатуры из табличной части и этими данными заполнить необходимую колонку
На форуме есть волшебная кнопка "Сказать СПАСИБО"

Оффлайн getman

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-02
  • Сайт: 
  • Профессия: Ученик 1С
В итоге все заработало когда заменил конец на
Результат = Запрос.Выполнить().Выбрать();
рез = 0;
пока Результат.Следующий() цикл
рез = рез + Результат.ВНаличии;
конеццикла;
Возврат рез;
выходит что запрос все таки формировался но просто не позиционировался на самом результате так что ли?
Добавлено: 02 Май 2016, 13:22

Первая грубая ошибка, Вы выполняете запрос в цикле. Это неправильно. Вам необходимо получить остатки сразу для всей номенклатуры из табличной части и этими данными заполнить необходимую колонку

А как это можно провернуть? ведь номенклатура может быть совершенно разная заполненная случайным образом. как ее отправить в запрос кроме цикла? и чем плох запрос в цикле?

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
и чем плох запрос в цикле?

всем. В первую очередь скоростью выполнения конечного кода.

Оффлайн getman

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2016-05-02
  • Сайт: 
  • Профессия: Ученик 1С
и чем плох запрос в цикле?

всем. В первую очередь скоростью выполнения конечного кода.

И как в таком случае от цикла избавиться? :dfbsdfbsdf:

Оффлайн Hedinnk

  • **
  • Сообщений: 84
  • РЕПУТАЦИЯ: 14
  • КПД: 17%
  • Регистрация: 2016-03-04
  • Сайт: 
  • Профессия: Программист 1С
Выгружаете колонку номенклатура в массив и подставляете его в качестве параметра виртуальной таблицы
На форуме есть волшебная кнопка "Сказать СПАСИБО"


Теги:
 

Отчеты "Ведомость ОС, НМА" и "Ведомость остатков материалов"

Автор OlegatorOGРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 2371
Последний ответ 04 Апр 2015, 06:15
от OlegatorOG
Как можно подставлять цену из регистра сведений "Цены поставщиков" в документ"ПоступлениеТоваров" на актуальную дату? Необходимо использовать запрос в решении.

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

Ответов: 14
Просмотров: 8288
Последний ответ 24 Окт 2014, 13:30
от cska-fanat-kz
«Единица для отчетов» и «Единица хранения остатков»

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

Ответов: 2
Просмотров: 6950
Последний ответ 14 Фев 2012, 02:29
от Dethmontt
Отличие проводки по регистру сведений от проводки по регистру накопления?

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

Ответов: 2
Просмотров: 4533
Последний ответ 18 Апр 2012, 02:19
от Dethmontt
Можно ли програмно изменить одну из колонок таблицы формы регистра сведений при создании формы

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

Ответов: 4
Просмотров: 1020
Последний ответ 21 Фев 2016, 17:00
от vitasw

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
96 Сообщений
oleg-x
75 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
66 Сообщений
Golickoff Golickoff
53 Сообщений
AIFrame
46 Сообщений
ilyay ilyay
40 Сообщений
Амал
30 Сообщений
MuI_I_Ika MuI_I_Ika
27 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений

* Кто онлайн

  • Точка Гостей: 273
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal