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

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

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

Таблица в режиме ввода данных

Я
   lexa
 
24.05.04 - 15:59
Как из таблицы в режиме ввода данных вызвать поцедуру?
 
 
   wind_wail
1 - 24.05.04 - 16:27
Для этого есть предопределенные процедуры. Ее пишишь и она вызывается при двойном щелчке, в качестве параметров ей передается адрес ячейки на которой был произведен клик :) К сожалению у меня все дома, сейчас конкретно мало что многу подсказать.
Напиши мне на мыло. Вечерком отвечу, может пришлю что-нибудь полезно.
wind_wail@mosk.ru
   lexa
 
2 - 24.05.04 - 18:06
//******************************************************************************

Процедура ПеренестиВДокумент()
    КолСтрок = 0;
    КолКолонок = 6; 
    СчСтрок = 3;
    СчКолонок = 0;
    ДвепустыхСтрокиПодряд = 0;
    КолНепустыхВСтроке = 0;  
    ВыбОбласть = Шабл.Область("R1C2"); 
    ВыбОбласть.Доступность(0); 
    ВремТабл = СоздатьОбъект("ТаблицаЗначений");
    ВремТабл.НоваяКолонка("N");
    ВремТабл.НоваяКолонка("Обозначение");
    ВремТабл.НоваяКолонка("Размеры");
    ВремТабл.НоваяКолонка("Исполнение");
    ВремТабл.НоваяКолонка("ЗаказнойНомер");
    ВремТабл.НоваяКолонка("Количество");
    Пока ДвепустыхСтрокиПодряд = 0 Цикл
        КолНепустыхВСтроке = 0;
        ВремТабл.НоваяСтрока();
        Для СчКолонок = 1 По КолКолонок  Цикл
            ВыбОбласть = Шабл.Область("R"+СчСтрок+"C"+СчКолонок);
            
//            Если ВыбОбласть.Текст = "" Тогда 

            Если ПустоеЗначение(ВыбОбласть.Текст) = 0 Тогда 
                
                КолНепустыхВСтроке = КолНепустыхВСтроке + 1;
                
            КонецЕсли;
            ВремТабл.УстановитьЗначение(ВремТабл.НомерСтроки,СчКолонок,СокрЛП(ВыбОбласть.Текст));
        КонецЦикла;
        Если КолНепустыхВСтроке = 0 Тогда
            ДвепустыхСтрокиПодряд = ДвепустыхСтрокиПодряд +1 ;
            ВремТабл.УдалитьСтроку(); 
        Иначе 
            ДвепустыхСтрокиПодряд = 0;
        
        КонецЕсли; 
            СчСтрок =СчСтрок +1;
    КонецЦикла;
    ВремТабл.ВыбратьСтроки();
    Пока ВремТабл.ПолучитьСтроку() = 1 Цикл
        НоваяСтрока();
        N = ВремТабл.N;
        Обозначение = ВремТабл.Обозначение;
        Размеры = ВремТабл.Размеры;
        Исполнение = ВремТабл.Исполнение;
        ЗаказнойНомер = ВремТабл.НоваяКолонка("ЗаказнойНомер");
        Количество = Число(ВремТабл.Количество);
    КонецЦикла;

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

Процедура ОбработкаЯчейкиТаблицы() 
    Если Шабл.АктивнаяОбласть = "R1C3:R1C3" Тогда
        ПеренестиВДокумент();    
    КонецЕсли;    
КонецПроцедуры
//******************************************************************************
При двойном клике ничего не происходит
   Макс
3 - 24.05.04 - 18:14
Читай синтаксис-помощник на будущее иногда. Вот тебе просто копия от туда:
"ОбработкаЯчейкиТаблицы()"
Внимание!
Данная предопределенная процедура НЕ вызывается при выборе ячейки таблицы в режиме ввода данных. Для этого случая вызывается предопределенная процедура ПриВыбореЯчейкиТаблицы.
   lexa
 
4 - 25.05.04 - 10:14
(3) процедура ПриВыбореЯчейкиТаблицы - пробовал эффект тот же
   Valery
 
5 - 25.05.04 - 10:33
Параметры в процедуре Процедура ОбработкаЯчейкиТаблицы()где
   lexa
 
6 - 25.05.04 - 10:45
Спасибо всем буду делать а-ля "мудрые" разработчики типовых: напишу специальную обработку и буду ее вызывать модально и з формы документа


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