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

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

Метки: 

Определение имени колонки в ТЗ

Я
   Wow__cooL
08.03.04 - 00:23
Каким образом определить имя (идентификатор) колонки в ТЗ, если она выгружена следующим образом:
Док=СоздатьОбъект("Документ."+Метаданные.Документ(ФормДокумент.ТекущаяСтрока()).Идентификатор);
    Док.Новый();
    Док.ВыгрузитьТабличнуюЧасть(ТабЗнач);
 
 
   Darkman
 
1 - 08.03.04 - 00:34
текс...
отладчик...
//*******************************************

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

с.ПОлучитьПараметрыКолонки(3,Тип,Длина,Точность,Заголовок,Ширина) = "Количество"...
и т.д.
PS не сапсем меня склероз разбил.... метод имя колонки возвращаяет.... :)
   Wow__cooL
2 - 10.03.04 - 18:54
снова проблема. Пишу:
ДокТовар=СоздатьОбъект("Справочник.Номенклатура");
    Если ДокТовар.НайтиПоКоду(Код,0)=0 Тогда
    Предупреждение("Указанный товар не найден!");
КонецЕсли;                 
ТабЗнач.НоваяСТрока();
ДокМД = Метаданные.Документ(ФормДокумент.ТекущаяСтрока());
Для Инд = 1 По ДокМД.РеквизитТабличнойЧасти() Цикл 
    Если Строка(НаимКод)= ДокМД.РеквизитТабличнойЧасти(Инд).Представление() Тогда
        ТабЗнач.УстановитьЗначение(Тек,ДокМД.РеквизитТабличнойЧасти(Инд).Идентификатор,ДокТовар.ТекущийЭлемент());
    Прервать;
КонецЕсли;
КонецЦикла;  
Для Инд = 1 По ДокМД.РеквизитТабличнойЧасти() Цикл
    Если Строка(НаимКОличество)=ДокМД.РеквизитТабличнойЧасти(Инд).Представление() Тогда
        ТабЗнач.УстановитьЗначение(Тек,ДокМД.РеквизитТабличнойЧасти(Инд).Идентификатор,Заказ);
        Прервать;
КонецЕсли;
КонецЦикла;

НаимКОд и НаимКоличество  - это идентификаторы полей ввода,
Заказ - числовое выражение

В блок Если-КонецЕсли входа не происходит! Хотя сравниваемые значения и совпадают...
Что не так?
   Wow__cooL
3 - 10.03.04 - 18:55
Бухгалтерия 7.70.454
   romix
 
4 - 10.03.04 - 18:59
Если Строка(НаимКОличество)=ДокМД.РеквизитТабличнойЧасти(Инд).Представление() 

Если сравниваешь строки, всегда юзай СокрЛП()
   Wow__cooL
5 - 10.03.04 - 19:01
то есть изменить на 
СокрЛП(Строка(НаимКОличество))=СокрЛП(ДокМД.РеквизитТабличнойЧасти(Инд).Представление())
   Wow__cooL
6 - 10.03.04 - 19:04
(4) Боже мой!
мдя...
(столько эмоций...)
из-за этого так долго мучаться...
сэнкс!
в следующий раз буду знать...
   327
7 - 10.03.04 - 19:12
Даркману привет!

(6) и вообще частенько Сокрлп надо использовать.... ибо мозги у разработчиков платформы крЫвые ....
   romix
 
8 - 10.03.04 - 19:46
(7) А вот здесь как раз все корректно - строки
"327" и "327   " - различны. :-) Вроде во всех языках так, или я не прав?
   Wow__cooL
9 - 10.03.04 - 19:55
(8) дело в том, что эти строки нигде не набиваются вручную, и соответственно, имеют именно тот вид, в котором их первоначально занесли программно в список. Откуда там пробелы?
   skunk
 
10 - 10.03.04 - 19:56
(8)трудно не согласиться...
 
  Рекламное место пустует
   Рупор абсурда
 
11 - 10.03.04 - 19:58
(9) Если реквизит справочника типа строка имеет заданную длину, эта строка не может быть короче ...
Недостаток забивается пробелами ...
   Wow__cooL
12 - 10.03.04 - 20:02
(11) ну я же говорю - совсем голова сегодня не работает...
   Wow__cooL
13 - 10.03.04 - 20:02
(11) знал, но забыл! (с) :))
   romix
 
14 - 10.03.04 - 20:06
(9) Действительно, пробелы то там нигде и никогда не нужны... Хотя разработчики баз данных кто отрезает, а кто - нет эти пробелы...
   Darkman
 
15 - 11.03.04 - 10:15
А все из за того что "программить" счас начинают увы с VBA,1c и прочих конструкторов...:(
если бы с какой нить нормальной СУБД или языка типа c++ начинали то =(==) и LIKE были бы известны.... как и организация хранения данных в dbf.


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