Имя: Пароль:
1C
1С v8
Запрос остатков и вывод таблицы
0 Vitalii72
 
17.07.15
09:12
Добрый день, только учусь, подскажите пожалуйста. Необходимо из регистра остатков выгрузить остатки по конкретному складу. Сделал вот такой запрос, почему то ругается на Дату и Склад

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

    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("Cклад", Склад)

Вот на последние 2 строчки ругается, процедура на &НаСервереБезКонтекста.
1 asady
 
17.07.15
09:14
(0) Дата и Склад - откуда берешь?
2 Остап Сулейманович
 
17.07.15
09:14
(0) Вызов и заголовок твоей процедуры - в студию.
3 Vitalii72
 
17.07.15
09:20
Есть документ УстановкаОборудования, в нём есть дата и склад. Вот в него хочу в поле номенклатуры табличной части сделать выборку по запросу остатков. Процедура называется

&НаСервереБезКонтекста
Процедура ТЧНоменклатураПриИзменении(Элемент)
4 PaulBC
 
17.07.15
09:29
Запрос.УстановитьПараметр("Cклад", Объект.Склад)
5 asady
 
17.07.15
09:29
(3) "&НаСервереБезКонтекста" ни на что не намекает тебе?

а если сменить на "НаСервере"
и вместо Дата написать Объект.Дата
Склад - Объект.Склад
6 Vitalii72
 
17.07.15
09:33
Спасибо за ответы, теперь при открытие документам ругается;

Ошибка инициализации модуля: Документ.УстановкаОборудования.Форма.ФормаДокумента.Форма
по причине:
{Документ.УстановкаОборудования.Форма.ФормаДокумента.Форма(20,11)}: Процедура или функция с указанным именем уже определена (ТЧНоменклатураПриИзменении)
Процедура <<?>>ТЧНоменклатураПриИзменении(Элемент)
{Документ.УстановкаОборудования.Форма.ФормаДокумента.Форма(21,17)}: Тип не определен (Запрос)
    Запрос = Новый <<?>>Запрос;
7 Vitalii72
 
17.07.15
09:34
и как вывести сейчас данные из запроса? Пытаюсь параллельно гуглить, пока нет результатов, пока остановился на этом

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

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

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        
    КонецЦикла;
8 Остап Сулейманович
 
17.07.15
09:40
(6) "Запрос" не живет НаКлиенте. Все нужно делать НаСервере. Хоть с контекстом, хоть без. Но НаСервере.

(7) Правильно остановился. Есть правда еще варианты. Но пока освойся с таким.
9 Vitalii72
 
17.07.15
10:18
хм, судя по всему я этой выборкой в лучшем случае смогу заполнить автоматически поля табличной части, что есть на складе по остаткам. А как сделать, чтобы при нажатии на поле табличной части номенклатура открывалась другая форма списка со списком номенклатуры на конкретном складе. Это надо создать новую форму документа и как то туда заполнить данные из запроса?
10 Одинесю
 
17.07.15
10:39
(9) Запусти в режиме 1с Предприятия, попробуй.