Вход | Регистрация

1С:Предприятие ::

Метки:отчеты

Оброщение к процедуре в модуле отчета

Я
   MBA
 
24.06.04 - 12:57
Добрый день специалисты 1С.
Может вопрос Вам покажется и наивным, но я только начинаю разбиратся с 1С v7.7 из "нутри"
Вопрос следующий.
Есть отчет остатки и движения товара
В процедуре Сформировать() периодически выполняется проверка двух пораметров, от которых зависит какие секции таблицы выводить. Что бы двадцать пять раз не писать одни и тежи проверки, я создал в этом же модуле Процедуру ОпределитьСекцию().
Из процедуры Сформировать() в определеном месте пытаюсь обратиться к процедуре ОпределитьСекцию(), следующим образом:
Текущая = "Заголовок";// Это имя секции Таблицы

ОпределитьСекцию(Текущая);// Пытаюсь обратиться к процедуре


выдает ошибку:
ОпределитьСекцию<<?>>(Текущая);
Процедура не обнаружена (ОпределитьСекцию)

Где грабли?
 
 
   Gavrila
 
1 - 24.06.04 - 13:01
процедура "ОпределитьСекцию" должна быть объявлена перед процедурой "Сформировать"
   Волшебник
 
2 - 24.06.04 - 13:08
(0) "изнутри"
   MBA
 
3 - 24.06.04 - 13:12
Спасибо, Процедуру увидел, но теперь ругается на:
ОпределитьСекцию(<<?>>Текущая);
Слишком много фактических параметров
   Gavrila
 
4 - 24.06.04 - 13:21
(3)в объявлении процедуры
Процедура ОпределитьСекцию(Текущая)
...
КонецПроцедуры
   MBA
 
5 - 24.06.04 - 13:44
Спасибо. Но теперь секция просто не выводиться в отчет ;)
Вот сама процедура:
Процедура ОпределитьСекцию(Текущая)
    
    Таб =СоздатьОбъект("Таблица");
    
    
    Если (ФлгКолл = 1) И (ФлгСумма = 1) Тогда
        Таб.ВывестиСекцию(Текущая);
    ИначеЕсли (ФлгКолл = 1) И (ФлгСумма =0) Тогда
        Таб.ВывестиСекцию(Текущая+"|Исход");
        Таб.ПрисоединитьСекцию(Текущая+"|КолНач");
        Таб.ПрисоединитьСекцию(Текущая+"|КолПрих");
        Таб.ПрисоединитьСекцию(Текущая+"|КолРасх");
        Таб.ПрисоединитьСекцию(Текущая+"|КолКон");
        Таб.ПрисоединитьСекцию(Текущая+"|Конец");
    Иначе
        Таб.ВывестиСекцию(Текущая+"|Исход");
        Таб.ПрисоединитьСекцию(Текущая+"|СуммаНач");
        Таб.ПрисоединитьСекцию(Текущая+"|СуммаПрих");
        Таб.ПрисоединитьСекцию(Текущая+"|СуммаРасх");
        Таб.ПрисоединитьСекцию(Текущая+"|СуммаКон");
        Таб.ПрисоединитьСекцию(Текущая+"|Конец");
    КонецЕсли;
КонецПроцедуры

а вот обращение к ней

Процедура Сформировать()
...
    Текущая = "Заголовок";
    ОпределитьСекцию(Текущая);
...

    Таб.Опции(0);
    Таб.Показать("ОстаткиИДвижение","");

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

Если процедуру Сформировать

        Текущая = "Заголовок";
    ОпределитьСекцию(Текущая);
заменить на

    Если (ФлгКолл = 1) И (ФлгСумма = 1) Тогда
        Таб.ВывестиСекцию("Заголовок");
    ИначеЕсли (ФлгКолл = 1) И (ФлгСумма =0) Тогда
        Таб.ВывестиСекцию("Заголовок"+"|Исход");
        Таб.ПрисоединитьСекцию("Заголовок"+"|КолНач");
        Таб.ПрисоединитьСекцию("Заголовок"+"|КолПрих");
        Таб.ПрисоединитьСекцию("Заголовок"+"|КолРасх");
        Таб.ПрисоединитьСекцию("Заголовок"+"|КолКон");
        Таб.ПрисоединитьСекцию("Заголовок"+"|Конец");
    Иначе
        Таб.ВывестиСекцию("Заголовок"+"|Исход");
        Таб.ПрисоединитьСекцию("Заголовок"+"|СуммаНач");
        Таб.ПрисоединитьСекцию("Заголовок"+"|СуммаПрих");
        Таб.ПрисоединитьСекцию("Заголовок"+"|СуммаРасх");
        Таб.ПрисоединитьСекцию("Заголовок"+"|СуммаКон");
        Таб.ПрисоединитьСекцию("Заголовок"+"|Конец");
   КонецЕсли;
то все работает чудесно. Я что то делаю не так?
   NiGMa
 
6 - 24.06.04 - 13:52
Самую малость.
Таб=СоздатьОбъект("Таблица");
надо писать в ВЫЗЫВАЮЩЕЙ процедуре, а переменную Таб либо передавать через параметр (скажем, ОпределитьСекцию(Таб,Текущая) ), либо объявить как переменную МОДУЛЯ (в самом начале модуля написать Перем Таб;)
   MBA
 
7 - 24.06.04 - 14:18
Спасибо огромное.
Все получилось.


Список тем форума
Рекламное место пустует   Рекламное место пустует
2 + 2 = 3.9999999999999999999999999999999...
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует