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

Вывод результата запроса на форму в виде надписи

Автор ppkmlite, 08 ноя 2014, 20:55

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

ppkmlite

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

Процедура Касса1НачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
   
    Форма=Справочники.Кассы.ПолучитьФормуВыбора(,Элемент,);
    Форма.Отбор.Владелец.Установить(ОрганизацияОт, Истина);
    Форма.ЗакрыватьПриВыборе = Истина;
   
    Если ЗначениеЗаполнено(Элемент.Значение) Тогда
       
        Форма.ПараметрТекущаяСтрока=Элемент.Значение;
       
    КонецЕсли;
   
    Форма.РежимВыбора=Истина;
   
    Форма.Открыть();
        //Будем выводить остаток по кассе

    Надпись1 = ОстатокПоКассе(Надпись1);
   
КонецПроцедуры


После функция, она для возврата отрицательного остатка по кассе, ну хотя вообще остатка, все равно не выводит.

Функция  ОстатокПоКассе(Надпись1)  Экспорт
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ДенежныеСредстваОстатки.СуммаОстаток
    |ИЗ
    |    РегистрНакопления.ДенежныеСредства.Остатки(&Период, ) КАК ДенежныеСредстваОстатки";
   
    Запрос.УстановитьПараметр("Период", Период);
   
    РезультатЗапроса = Запрос.Выполнить();
   
    Надпись1 = 0; ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Если ВыборкаДетальныеЗаписи.Следующий() Тогда
    Надпись1 = ВыборкаДетальныеЗаписи.СуммаОстаток;
КонецЕсли;
    //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА

Возврат Надпись1
КонецФункции


дфтын

ЭлементыФормы.Надпись1.Заголовок =  ОстатокПоКассе();
и в остатке по кассе сумму возвращайте просто

LexaK

наверно остаток по кассе надо получать, поэтому в функцию надо передать Кассу, возвращать функция будет Число - Сумму остатка или 0


Процедура Касса1НачалоВыбора(Элемент, СтандартнаяОбработка)
    СтандартнаяОбработка=Ложь;
    //другая часть вашего кода ...

    //я бы это перенес в событие при изменении поля Касса
    Надпись1.Заголовок = "Остаток по Кассе: " + ОстатокПоКассе(Элемент.Значение);
   
КонецПроцедуры


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

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

ppkmlite

Разобралась, добавила процедуру Обработка Выбора.
Добавлено: 09 ноя 2014, 09:56


Спасибо всем, кто откликнулся

Теги:

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

Рейтинг@Mail.ru

Поиск