Имя: Пароль:
1C
1C 7.7
v7: Получение всех реквизитов табличной части документа
0 sidalexsandr
 
14.01.13
17:14
j = 1;
   Пока Метаданные.Документ([СокрЛП(НазваниеДокумента)].РеквизитТабличнойЧасти()) > j Цикл
       Сообщить(Метаданные.Документ([СокрЛП(НазваниеДокумента)].РеквизитШапки(j).Идентификатор));    
       j = j + 1;
   КонецЦикла;
1 sidalexsandr
 
14.01.13
17:15
Выдает ошибки:
Пока Метаданные.Документ([СокрЛП(НазваниеДокумента)<<?>>].РеквизитТабличнойЧасти()) > j Цикл
{D:\140113\ЗаполненЛиРеквизит.ert(6)}: Выражение должно иметь логический тип
Сообщить(Метаданные.Документ(<<?>>[СокрЛП(НазваниеДокумента)].РеквизитШапки(j).Идентификатор));    
{D:\140113\ЗаполненЛиРеквизит.ert(7)}: Ожидается выражение
Сообщить(Метаданные.Документ([СокрЛП(НазваниеДокумента)<<?>>].РеквизитШапки(j).Идентификатор));    
{D:\140113\ЗаполненЛиРеквизит.ert(7)}: Ожидается символ ')'
При проверке модуля обнаружены синтаксические ошибки!
2 YF
 
14.01.13
17:15
Хвастаешься?
3 Ёпрст
 
гуру
14.01.13
17:15
[]
выкини, для начала
4 sidalexsandr
 
14.01.13
17:16
нет ли у кого случаем обработки, которая выводит значение всех реквизитов табличной части документа.
5 sidalexsandr
 
14.01.13
17:17
(3) Вот    j = 1;
   Пока Метаданные.Документ(СокрЛП(НазваниеДокумента).РеквизитТабличнойЧасти()) > j Цикл
       Сообщить(Метаданные.Документ(СокрЛП(НазваниеДокумента).РеквизитШапки(j).Идентификатор));    
       j = j + 1;
   КонецЦикла;


Другие ошибки:
Пока Метаданные.Документ(СокрЛП(НазваниеДокумента)<<?>>.РеквизитТабличнойЧасти()) > j Цикл
{D:\140113\ЗаполненЛиРеквизит.ert(6)}: Ожидается символ ')'
Сообщить(Метаданные.Документ(СокрЛП(НазваниеДокумента)<<?>>.РеквизитШапки(j).Идентификатор));    
{D:\140113\ЗаполненЛиРеквизит.ert(7)}: Ожидается символ ')'
Сообщить(Метаданные.Документ(СокрЛП(НазваниеДокумента).РеквизитШапки(j)<<?>>.Идентификатор));    
{D:\140113\ЗаполненЛиРеквизит.ert(7)}: Неопознанный оператор
При проверке модуля обнаружены синтаксические ошибки!
6 Ёпрст
 
гуру
14.01.13
17:17
Для к = 1 По Метаданные.Документ(СокрЛП(НазваниеДокумента).РеквизитТабличнойЧасти()) Цикл
       Сообщить(Метаданные.Документ(СокрЛП(НазваниеДокумента).РеквизитШапки(к).Идентификатор));    
   КонецЦикла;
7 Kreont
 
14.01.13
17:18
Для ИндРекв = 1 По Метаданные.Документ(Док.Вид()).РеквизитТабличнойЧасти() Цикл
       Док.ВыбратьСтроки();
       Пока Док.ПолучитьСтроку()>0 Цикл
           ИмяРеквизита = Метаданные.Документ(Док.Вид()).РеквизитТабличнойЧасти(ИндРекв).Идентификатор;
ЗначРеквизита=Док.ПолучитьАтрибут(ИмяРеквизита);
       КонецЦикла;
   КонецЦикла;
8 sidalexsandr
 
14.01.13
17:19
(6) Лови ошибки:
Для к = 1 По Метаданные.Документ(СокрЛП(НазваниеДокумента)<<?>>.РеквизитТабличнойЧасти()) Цикл
{D:\140113\ЗаполненЛиРеквизитТабличнойЧасти.ert(6)}: Ожидается символ ')'
Сообщить(Метаданные.Документ(СокрЛП(НазваниеДокумента)<<?>>.РеквизитШапки(к).Идентификатор));    
{D:\140113\ЗаполненЛиРеквизитТабличнойЧасти.ert(7)}: Ожидается символ ')'
Сообщить(Метаданные.Документ(СокрЛП(НазваниеДокумента).РеквизитШапки(к)<<?>>.Идентификатор));    
{D:\140113\ЗаполненЛиРеквизитТабличнойЧасти.ert(7)}: Неопознанный оператор
9 Эльниньо
 
14.01.13
17:20
(6) Слишком примитивно. Надо поизящрёнее, строк 100 кода.
10 sidalexsandr
 
14.01.13
17:21
(7) Знаток метаданных, спасибо.
11 Фокусник
 
14.01.13
17:25
(8) Ну скобки-то мог бы и сам посчитать/поправить ;)
12 sidalexsandr
 
14.01.13
17:26
(7) Заработало.
13 Ёпрст
 
гуру
14.01.13
17:26
(11) это же слишком сложно, особенно тем, у кого опенконфа нет
14 Ёпрст
 
гуру
14.01.13
17:26
и als -а по метаданным
15 hhhh
 
14.01.13
17:35
(12) просто пить надо меньше. Почему у тебя Для Каждого РеквизитТабличнойЧасти, а в Сообщить пишешь РеквизитШапки?
16 Torquader
 
15.01.13
01:01
ВидНашегоДокумента=НашДокумент.Вид();
МетаданныеДокумента=Метаданные.Документ(ВидНашегоДокумента);
КоличествоПолейВТаблице=МетаданныеДокумента.РеквизитТабличнойЧасти();
Для НомерПоля=1 По КоличествоПолейВТаблице Цикл
МетаданныеРеквизита=МетаданныеДокумента.РеквизитТабличнойЧасти(НомерПоля);
Сообщить("ИдентификаторПоля:"+МетаданныеРеквизита.Идентификатор);
КонецЦикла;
17 КонецЦикла
 
15.01.13
01:36
+(15) Зачем j = j + 1;?
Почему не i?
Чтобы язык переключать или понты?