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

Форумы на Кубань.Ру


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

Метки:

Таблица значений

Ø
Я
   csharpus
29.11.04 - 12:06
На форме есть табл значений и в ней есть колонка с идент "НомерСтроки"
 В коде я выгружаю содержимое этой табл в ТабТов
   	ТабТов=СоздатьОбъект("ТаблицаЗначений");
  ВыгрузитьТабличнуюЧасть(ТабТов);
Я хочу получить значение в текущей ячейки Таблице значений (ко-я на форме)
   в колонке с идент "НомерСтроки" через ТабТов
я сделал :
НомГ = ТабТов.ПолучитьЗначение(ТекущаяСтрока(),ТабТов.НомерСтроки);
Он выдает : Выход за пределы значения
 
  Рекламное место пустует
   Самый умный
1 - 29.11.04 - 12:08
ТабТов.НомерСтроки - надо номер колонки
   сsharpus
2 - 29.11.04 - 12:24
ТабТов.НомерСтроки - ID колонки
   Diter
3 - 29.11.04 - 12:24
Обзови колонку по другому. У тебя перекрещиваются реквизит ТЗ "НомерСтроки" и колонка с именем "НомерСтроки". Приоритет у первого.
   dma
4 - 29.11.04 - 12:29
В ТЗ нет необходимости заводить колонку НомерСтроки - она там есть автоматически. ТекущаяСтрока() может ничего не выдать, когда курсор находится не на ТЗ, поэтому надо проверить корректность этого значения. Вместо хранения ID колонки можно пользовать ТекущаяКолонка().
   сsharpus
5 - 29.11.04 - 12:34
Поставил
НомГ = ТабТов.ПолучитьЗначение(ТабТов.ТекущаяСтрока(),1);
1 - номер колонки вместо id
тоже самое
   dma
6 - 29.11.04 - 12:36
Проверь, а есть там вообще что-нибудь
   Diter
7 - 29.11.04 - 12:41
А ты вообще как позиционируешь текущую строку в ТЗ? через какой оператор? Напиши ТабТов.НомерСтроки в цикле
Пока ТабТов.ПолучитьСтроку()<>0 Цикл
...
КонецЦикла;
   сsharpus
8 - 29.11.04 - 12:42
Есть - сам ставлю и записявыю вдобавок (из справочн материалы)
    Поставил
 НомГ = ТабТов.ПолучитьЗначение(ТабТов.ТекущаяСтрока(),ТабТов.ТекущаяКолка());
он
Номер за пределами значения
   Diter
9 - 29.11.04 - 12:48
(8) Блин. Как ты перебираешь строки и колонки? Код покажи целиком
   сsharpus
10 - 29.11.04 - 12:57
Вот весь код
ТабТов=СоздатьОбъект("ТаблицаЗначений");
  ВыгрузитьТабличнуюЧасть(ТабТов);
    ТабТов.ВыбратьСтроки();
  Пока ТабТов.ПолучитьСтроку() >0 Цикл
    ТабТов.ТП=ОпределитьКладовую(ТабТов.Товар);
  КонецЦикла;
  ТабТов.Сортировать("ТП+");
  
  ТабТов.ВыбратьСтроки();
НомФ=0;
НомГл=0;
  Пока ТабТов.ПолучитьСтроку() >0 Цикл
  Если Строка(ТабТов.ТП) = "Фурнитура" Тогда
     		 	
    Если НомФ =0  Тогда
    
             	 Т.ВывестиСекцию("ШапкаФ");
       Т.ВывестиСекцию("СтрокаФ");
        НомФ = НомФ+1;
      
    Иначе
         Т.ВывестиСекцию("СтрокаФ");
          	НомФ = НомФ+1;	    	
              КонецЕсли;
      
      ИначеЕсли
    Строка(ТабТов.ТП) <> "Главный"
    тогда
      прервать;
    КонецЕсли;
      
Если Строка(ТабТов.ТП) = "Главный" Тогда
   
    Если НомГл =0  Тогда
    
          	 Т.ВывестиСекцию("ШапкаГ");
       Т.ВывестиСекцию("СтрокаГ");
            НомГ = ТабТов.ПолучитьЗначение(ТабТов.ТекущаяСтрока(),ТабТов.ТекущаяКолонка());
       		НомГл = НомГл+1;
       	
    Иначе
       Т.ВывестиСекцию("СтрокаГ");
        НомГл = НомГл+1;	
    КонецЕсли;
      	  	
      ИначеЕсли
    Строка(ТабТов.ТП) <> "Фурнитура"
    тогда
      прервать;
      КонецЕсли;	   	
          	КонецЦикла;
  //Т.ВывестиСекцию("Комментарий");	
  Т.Опции(0,0,7,0,ПарСтрДок);
  Т.Защита(Константа.ФлагЗащитыТаблиц);
  Т.ТолькоПросмотр(1);
  Т.Показать("Упаковочный лист","");
КонецПроцедуры
 
  Рекламное место пустует
   сsharpus
11 - 29.11.04 - 13:00
сори забыл ТабТов.НоваяКолонка("ТП",,,,,,,); вставить
   Diter
12 - 29.11.04 - 13:01
(10) Ты не спозиционировался на колонке. Отсуда и ошибка. До конструкции
ВыбратьКолонки() и ПолучитьКолонку() ТекущаяКолонка()=0
   niko
13 - 29.11.04 - 14:41
Проверь применение метода ТекущаяСтрока():
если ТабТов это через СоздатьОбъект, текущую строку
определяем через атрибут ТабТов.НомерСтроки.
ТекущаяСтрока() - метод элемента диалога "таблица значений",
возвращает номер строки где фокус.



Список тем форума

Форум Территория 1С

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