1с 7.7 обработка расшифровки ячейки таблицы помогите разобраться плиз
X

Привет дорогой друг

Наш сайт существует и развиваетется за счет рекламы. Пожалуйста, отключите блокировку рекламы AdBlock или подобное, для нашего сайта. Спасибо!
Показано с 1 по 2 из 2
  1. #1
    Гость форума

    Регистрация
    24.11.2017
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию 1с 7.7 обработка расшифровки ячейки таблицы помогите разобраться плиз

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

    PHP код:
    Перем ТабРасшифровка

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

    Процедура ПриОткрытии
    ()
         
    Таб СоздатьОбъект("Таблица");
           
    Таб.ИсходнаяТаблица("Таблица");
        
    Расшифровка СоздатьОбъект("СписокЗначений");
    КонецПроцедуры 
    И все прекрасно работает, карточка счета открывается.
    Но. Понадобилась на отчете кнопка "Обновить", так чтобы заново запускалась процедура "Сформировать". Дописываю модуль:

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

  2. #2
    Гость форума

    Регистрация
    24.11.2017
    Сообщений
    2
    Сказал(а) спасибо
    0
    Поблагодарили 0 раз(а) в 0 сообщениях

    По умолчанию Re: 1с 7.7 обработка расшифровки ячейки таблицы помогите разобраться плиз

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

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

Похожие темы

  1. Помогите плиз по 1С 7.7
    от IamILYA в разделе 1С - Предприятие 7.7
    Ответов: 2
    Последнее сообщение: 05.10.2017, 15:16
  2. Помогите плиз разобраться.Управление торговлей 11.1.
    от Sammy77 в разделе Общие вопросы по 1С - Предприятие
    Ответов: 18
    Последнее сообщение: 11.11.2014, 19:48
  3. Помогите плиз с ТЗ.
    от тоби в разделе 1С - Предприятие 8.0, 8.1, 8.2, 8.3
    Ответов: 1
    Последнее сообщение: 11.05.2014, 13:34
  4. Помогите плиз
    от anhen-n в разделе 1С - Предприятие 7.7
    Ответов: 2
    Последнее сообщение: 03.05.2013, 05:06
  5. Помогите плиз
    от assassin272746 в разделе Windows 7
    Ответов: 0
    Последнее сообщение: 14.04.2012, 11:41

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •