# Форум 1С > Конфигурирование, программирование 1С - Предприятие > 1С - Предприятие 7.7 >  1с 7.7 обработка расшифровки ячейки таблицы помогите разобраться плиз

## Igoor46

Доброго времени суток.
Занялся изучением программирования в 1с. Т.к. в конторе до сих пор используют 7.7 УСН то соответственно с ней и маюсь. Опыта пока мало, потому опытным программистам мой вопрос покажется примитивным, но уж не обессудьте. Читал и книжки и документацию и по форумам искал, так и не смог разобраться, видимо мозгов не хватает :)
Собственно, в чем вопрос. Делаю обработкой простой отчет. В одной из ячеек выражение типа "Справочник.Номенклатура  ". Дабы по двойному клику открывалась карточка счета, в модуле прописываю: 



```

Перем Таб, Расшифровка; 
 Процедура Сформировать()
    Таб.Очистить();
    Таб.ВывестиСекцию("Шапка");
    Таб.Опции(0,0,3,0);
    Сч = СоздатьОбъект("Счет.Основной");
      Сч.НайтиПоКоду("41"); 
      Счет = Сч.ТекущийСчет();
        Расшифровка.Установить("Счет", Счет);
        Расшифровка.Установить("ОтборСубконто1", 2);
        Расшифровка.Установить("ВидСубконто1", ВидыСубконто.Номенклатура);
        Расшифровка.Установить("Субконто1", ВыбНоменклатура);
        Расшифровка.Установить("Дата1", НачГода(ТекущаяДата()));
        Расшифровка.Установить("Дата2", ТекущаяДата());
        Расшифровка.Установить("Отчет", "КарточкаСчета");
        Таб.ВывестиСекцию("Строка");
    Таб.ТолькоПросмотр(1);
    Таб.Показать("Номенклатура","");
КонецПроцедуры 
 Процедура ПриОткрытии()
     Таб = СоздатьОбъект("Таблица");
       Таб.ИсходнаяТаблица("Таблица");
    Расшифровка = СоздатьОбъект("СписокЗначений");
КонецПроцедуры 


```

И все прекрасно работает, карточка счета открывается. 
Но. Понадобилась на отчете кнопка "Обновить",  так чтобы заново запускалась процедура "Сформировать". Дописываю модуль:



```

Процедура ОбработкаЯчейкиТаблицы(Значение, Флаг, Таб);
    Если НЕ(Значение = "Обновить") Тогда 
        Флаг = 1;
        СтатусВозврата(0);
        Возврат;
    Иначе 
        Флаг = 0;
        Сформировать();
    КонецЕсли;
КонецПроцедуры 


```

Обновление отчета срабатывает как надо, НО перестала открываться карточка счета. Понятно, что если в модуле обработки есть процедура "ОбработкаЯчейкиТаблицы"  , то выполняется именно она а не аналогичная процедура из глобального модуля.  И при этом при двойном клике на ячейке с номенклатурой (в которой прописана расшифровка типа "Список Значений" с параметрами нужной карточки счета) появляется предупреждение с текстом "СписокЗначений".
Игрался и с Флагом и со СтатусомВозврата (кто-то посоветовал), но не помогло.
Как сделать так, чтобы при клике на любую ячейку кроме "Обновить" срабатывала именно процедура глобального модуля. Или может как-то по другому надо решать эту задачу. Не могу сообразить. 
Подскажите плизз.

----------


## Igoor46

Похоже, что сам нашел решение. 



```

Процедура ОбработкаЯчейкиТаблицы(Значение, Флаг, Таб);
    Если Значение = "Обновить" Тогда 
        Сформировать();
    Иначе 
        глРасшифровка = Расшифровка;
        глФлагРасшифровки = 1;
        Отчет = Расшифровка.Получить("Отчет"); 
            Попытка            
        Если Метаданные.Отчет(Отчет).Выбран() = 1 Тогда
            ОткрытьФорму("Отчет."+Отчет+"#");
        КонецЕсли;
            Исключение   
                Сообщить(ОписаниеОшибки());
            КонецПопытки; 
        глФлагРасшифровки = 0;
        глРасшифровка = 0;
    КонецЕсли;
КонецПроцедуры 


```

Все срабатывает как и требовалось. Может еще есть более оптимальные  варианты решения?

----------

