Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 ноя 2024, 13:02

задача по теме запросов

Автор Пушкина, 24 июн 2024, 13:53

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

Ивашка

Цитата: Пушкина от 25 июн 2024, 12:25LexaK, Пишет вот эту ошибку: {Документ.РасходТовара.Форма.ФормаДокумента.Форма(20,36)}: Переменная не определена (Дата)
   Запрос.УстановитьПараметр("Дата", <<?>>Дата); (Проверка: Сервер)


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

Пушкина

Ивашка, {Документ.РасходТовара.Форма.ФормаДокумента.Форма(4,2)}: Недостаточно фактических параметров (ЗаполнитьВсемиОстаткамиНаСервере)
   <<?>>ЗаполнитьВсемиОстаткамиНаСервере(); (Проверка: Тонкий клиент)

Ивашка

Цитата: Пушкина от 25 июн 2024, 12:45Ивашка, {Документ.РасходТовара.Форма.ФормаДокумента.Форма(4,2)}: Недостаточно фактических параметров (ЗаполнитьВсемиОстаткамиНаСервере)
   <<?>>ЗаполнитьВсемиОстаткамиНаСервере(); (Проверка: Тонкий клиент)


откуда вызываете эту процедуру определите тоже параметр, Объект.Дата

LexaK

Пушкина, эти процедуры надо все вместе рассматривать, примерно так должно получиться

&НаКлиенте
Процедура ЗаполнитьВсемиОстатками(Команда)
ЗаполнитьВсемиОстаткамиНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьВсемиОстаткамиНаСервере()

//заполняем данными из функции без контекста
Объект.Товары.Загрузить(ЗаполнитьВсемиОстаткамиНаСервереБезКонтекста(Объект.дата));

КонецПроцедуры

&НаСервереБезКонтекста
Функция  ЗаполнитьВсемиОстаткамиНаСервереБезКонтекста(Дата)

//Функция без контекста

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

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

Возврат Запрос.Выполнить().Выгрузить();

КонецФункции
если помогло нажмите: Спасибо!

Пушкина

все работает, огромное спасибо!!!! :zebzdr:

Теги:
Рейтинг@Mail.ru

Поиск