Перейти к содержимому


Услуги программиста 1С
Профессиональные программисты 1С.
Весь комплекс услуг сопровождения 1С.

Курсы 1С
Бухгалтерам, менеджерам
и программистам.
Бесплатно!
Живое индивидуальное обучение по 1С.

Вывод инфо о текущей ячейке ТЗ


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 13

#1   vadim007

vadim007

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 146
    • Регистрация: 14-October 09
    • Откуда:Донецк, Украина

Отправлено 21 December 2010 - 21:52

При навигации по ТЗ с помощью клавиатары хочу выводить информацию о текущей ячейке ТЗ. следующим образом:
Функция Инфо()
Если Табл.КоличествоКолонок() = 0 Тогда
Возврат "";
КонецЕсли;
ТекСтрока = Табл.ТекущаяСтрока();
ТекКолонка = Табл.ТекущаяКолонка();
Табл.ПолучитьПараметрыКолонки(ТекКолонка,,,,Заголовок);
Значение = Табл.ПолучитьЗначение(ТекСтрока, ТекКолонка);
Возврат Заголовок+": "+СокрЛП(Значение);
КонецФункции
И вот что получается: если перемещаться по строкам - информация выводится, если по столбцам - нет. Отладчик показал, что в последнем случае функция Инфо() не вызывается.
Вопрос: как вывести информацию о текущей ячейке ТЗ?
  • 0

#2   direk

direk

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 67
    • Регистрация: 27-May 10
    • Откуда:Долина , Ивано-Франковская Область , Украина

Отправлено 21 December 2010 - 23:10

А каким вообще способом вы эту самую фун-ю Инфо() вызываете?
Так как стало просто интересно, быстро набрал у себя - и работает. При щелчке на ячейку показывет ее значение.
Единственное замечание - нужно переменную "Заголовок" обявить отдельно....
  • 0
Пришел, увидел, сделал как надо...

#3   vadim007

vadim007

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 146
    • Регистрация: 14-October 09
    • Откуда:Донецк, Украина

Отправлено 22 December 2010 - 10:56

Вызывается так: на форме под ТЗ вставлен Текст, из которой вызывается функция Инфо().
Кстати, у меня при смене ячейки ТЗ с помощью мышки выводится значение предыдущей ячейки. Почему?
  • 0

#4   direk

direk

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 67
    • Регистрация: 27-May 10
    • Откуда:Долина , Ивано-Франковская Область , Украина

Отправлено 22 December 2010 - 11:58

Все равно не понял biggrin Я бы советовал вставить вызов функции в процедуру, которая обрабатывает события ТБ. Тогда и второй проблемы наверное небудет.
  • 0
Пришел, увидел, сделал как надо...

#5   Anderson

Anderson

      Полковник

    • Пользователи
    • PipPipPipPipPipPip
    • Сообщений: 178
    • Регистрация: 05-March 08
    • Откуда: , ,

Отправлено 22 December 2010 - 14:03

У меня тоже все работает. И мышкой и клавой.
  • 0

#6   Max_Nj

Max_Nj

      Ищу работу!!!

    • Пользователи
    • PipPipPipPipPipPipPipPip
    • Сообщений: 506
    • Регистрация: 07-August 08
    • Откуда:Мелитополь

Отправлено 22 December 2010 - 16:23

vadim007, Попробуй так:
Code
Функция Инфо(ТекСтрока,ТекКолонка)  
Если Табл.КоличествоКолонок() = 0 Тогда  
Возврат "";  
КонецЕсли;  
Табл.ПолучитьПараметрыКолонки(ТекКолонка,,,,Заголовок);  
Значение = Табл.ПолучитьЗначение(ТекСтрока, ТекКолонка);  
Возврат Заголовок+": "+СокрЛП(Значение);  
КонецФункции

И функцию вызывать так:
Инфо(Табл.ТекущаяСтрока(),Табл.ТекущаяКолонка())

  • 0

#7   Anderson

Anderson

      Полковник

    • Пользователи
    • PipPipPipPipPipPip
    • Сообщений: 178
    • Регистрация: 05-March 08
    • Откуда: , ,

Отправлено 23 December 2010 - 09:45

Инфо(Табл.ТекущаяСтрока(),Табл.ТекущаяКолонка()) - масло масленное
  • 0

#8   vadim007

vadim007

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 146
    • Регистрация: 14-October 09
    • Откуда:Донецк, Украина

Отправлено 24 December 2010 - 19:35

Quote (Max_Nj)
И функцию вызывать так:
Инфо(Табл.ТекущаяСтрока(),Табл.ТекущаяКолонка())

Попробовал как посоветовал: никакой разницы.
Также попробовал на таблице в другом диалоге, с одним слоем (мало что напартачил в текущем) - то же самое.
Наверное пора сравнивать версии движков. У меня 1С:Предприятие 7.7.для SQL (7.70.027).
  • 0

#9   Anderson

Anderson

      Полковник

    • Пользователи
    • PipPipPipPipPipPip
    • Сообщений: 178
    • Регистрация: 05-March 08
    • Откуда: , ,

Отправлено 25 December 2010 - 09:28

Попробуй так:
Code

Функция Инфо()    
      Заголовок=""; Значение="";
      Если Табл.КоличествоСтрок() > 0 Тогда    
        ТекСтрока = Табл.ТекущаяСтрока();    
        ТекКолонка = Табл.ТекущаяКолонка();    
        Табл.ПолучитьПараметрыКолонки(ТекКолонка,,,,Заголовок);    
        Значение = Табл.ПолучитьЗначение(ТекСтрока, ТекКолонка);    
      КонецЕсли;    
    Возврат Заголовок+": "+СокрЛП(Значение);    
КонецФункции    

  • 0

#10   vadim007

vadim007

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 146
    • Регистрация: 14-October 09
    • Откуда:Донецк, Украина

Отправлено 29 December 2010 - 07:49

Quote (Anderson)
Попробуй так:

Попробовал - все равно при перемещении курсором по столбцам (т.е. горизонтально) информация не обновляется.
Не понимаю корень проблемы! Трассирую отладчиком: функция Инфо() вызывается только при перемещении по строкам таблицы (т.е. вертикально).
  • 0

#11   direk

direk

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 67
    • Регистрация: 27-May 10
    • Откуда:Долина , Ивано-Франковская Область , Украина

Отправлено 29 December 2010 - 13:55

Какая-то паранормальная у вас ТБ - вдоль работает, а поперек не хочет.:)))))))))))
Но думаю, большего вам не подскажут. Совет - выложите файл с отчетом, мне уже самому интересно посмотреть....
  • 0
Пришел, увидел, сделал как надо...

#12   vadim007

vadim007

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 146
    • Регистрация: 14-October 09
    • Откуда:Донецк, Украина

Отправлено 30 December 2010 - 18:51

Это не отчет, а обычная форма, в которую вставлена ТЗ.
Для примера можно взять любую обработку из стандартной конфигурации, в которой есть ТЗ. Например, ДополнительныеВозможности, ЗаписьПериодическихРеквизитов, СписокПериодическихРеквизитов, УстановкаЗначений, и попробовать вывести информацию о текущей ячейке.
  • 0

#13   direk

direk

      Лейтенант

    • Пользователи
    • PipPip
    • Сообщений: 67
    • Регистрация: 27-May 10
    • Откуда:Долина , Ивано-Франковская Область , Украина

Отправлено 30 December 2010 - 19:00

Quote (vadim007)
Для примера можно взять любую обработку из стандартной конфигурации, в которой есть ТЗ

Quote (direk)
быстро набрал у себя - и работает

тоесть если брать только саму ф-ю - она работает (тоесть - отмечем ячейку - жмем ентер - видим инфу).

  • 0
Пришел, увидел, сделал как надо...

#14   vadim007

vadim007

      Подполковник

    • Пользователи
    • PipPipPipPipPip
    • Сообщений: 146
    • Регистрация: 14-October 09
    • Откуда:Донецк, Украина

Отправлено 31 December 2010 - 15:18

Quote (direk)
тоесть если брать только саму ф-ю - она работает (тоесть - отмечем ячейку - жмем ентер - видим инфу)

Попробуй еще мышкой поизменять текущую ячейку в ТЗ: отображается предыдущая ячейка.
Такая "работа" не устраивает. Ведь нормально-же можно отобразить информацию о текущей ячейке в справочнике, в табличной части документа без всяких дополнительных нажатий на Ентер. Почему-же тогда для ТЗ эта возможность работает наполовину?
Будем считать это багом 1С. Придется отказаться от затеи отображать данные из текущей ячейки ТЗ в информационной строке диалога sad
  • 0


Обратно в Программирование и конфигурирование 1С Предприятия 7.7

Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных