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

Передать переменные из 2ух процедур в функцию

Автор JOG, 13 дек 2016, 14:49

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

JOG

Здравствуйте! Суть вопроса: мне нужно дать пользователю возможность ввести дату и ввести число любое и использовать эти значения как параметры для формирования отчета. По отдельности сделал, всё работает отчет формируется.
Привожу код как сделал:

&НаКлиенте
Процедура Команда1(Команда)
Оповещение = Новый ОписаниеОповещения("ПослеВводаДаты", ЭтотОбъект);
ПоказатьВводДаты(
        Оповещение,
        , // пропускаем начальное значение даты
        "ВВЕДИТЕ ДАТУ",
        ЧастиДаты.Дата
    );
КонецПроцедуры

&НаКлиенте
Процедура ПослеВводаДаты(РезультатВводаДаты, Параметры) Экспорт
    Если Не РезультатВводаДаты = Неопределено Тогда
Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения",
      ЭтотОбъект);
    ПоказатьВводЗначения(
        Оповещение,
        , // пропускаем начальное значение
        "Введите значение",
        "Число"
    );
    КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура ПослеВводаЗначения(РезультатВводаЗначения, РезультатВводаДаты, Параметры) Экспорт
    Если Не РезультатВводаЗначения = Неопределено Тогда
        ТабДок = Новый ТабличныйДокумент;
ТабДок = Документ(ТабДок, РезультатВводаДаты, РезультатВводаЗначения);
ТабДок.ТолькоПросмотр = Истина;
ТабДок.Показать();
    КонецЕсли;
КонецПроцедуры


&НаСервере
Функция Документ(ТабДок, РезультатВводаДаты, РезультатВводаЗначения) Экспорт
Запрос = Новый Запрос;
Запрос.Текст =
"/*текстзапроса*/" ;
ДатаНач = НачалоДня(РезультатВводаДаты);
ДатаКон = КонецДня(РезультатВводаДаты);
Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
Запрос.УстановитьПараметр("ДатаКон", ДатаКон);


Выдаёт ошибку "В методе ПослеВводаЗначения количество параметов 3. Ожидаемое количество - 2"
Как сделать последовательное введение сначала даты, потом числа и потом эти значения использовать в функции?


LexaK


<Значение> (обязательный)


&НаКлиенте
Процедура ПослеВводаДаты(РезультатВводаДаты, Параметры) Экспорт   
    Если Не РезультатВводаДаты = Неопределено Тогда
        Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения",
          ЭтотОбъект);   
        ПоказатьВводЗначения(
            Оповещение,
            , // пропускаем начальное значение
//ну-ну, СП с вами не согласен
//... <Значение> (обязательный) ...
//читай СП
            "Введите значение",
            "Число"
        );
    КонецЕсли;   
КонецПроцедуры


если помогло нажмите: Спасибо!

ilyay

Сделать форму с двумя полями, чтобы пользователь в одном окне их ввел.

JOG

Цитата: ilyay от 13 дек 2016, 15:26
Сделать форму с двумя полями, чтобы пользователь в одном окне их ввел.
да я хотел сделать всплывающим окном..
Добавлено: 13 дек 2016, 21:13


Цитата: LexaK от 13 дек 2016, 15:07

<Значение> (обязательный)


&НаКлиенте
Процедура ПослеВводаДаты(РезультатВводаДаты, Параметры) Экспорт   
    Если Не РезультатВводаДаты = Неопределено Тогда
        Оповещение = Новый ОписаниеОповещения("ПослеВводаЗначения",
          ЭтотОбъект);   
        ПоказатьВводЗначения(
            Оповещение,
            , // пропускаем начальное значение
//ну-ну, СП с вами не согласен
//... <Значение> (обязательный) ...
//читай СП
            "Введите значение",
            "Число"
        );
    КонецЕсли;   
КонецПроцедуры



Это не влияет на полёт

ilyay

Количество параметров оповещения не может изменяться. Запоминайте полученные значения в переменных формы.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск