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

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


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С

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