Имя: Пароль:
1C
1C 7.7
v7: как проверить наличие реквизита шапки у ОЛЕ-объекта?
0 SanchoPancho
 
14.03.13
10:00
Прочитал http://www.mista.ru/articles1c/ole.htm - не нашел.
Задача - в базе ОЛЕ есть документ, которого нет в рабочей базе
поэтому, глЕстьРеквизитШапки упрется в ошибку
Подскажите!
1 1Сергей
 
14.03.13
10:05
используй глЕстьРеквизитШапки ОЛЕшной базы
2 GLazNik
 
14.03.13
10:09
или вызывай глЕстьРеквизитШапки через EvalExpr или пиши свою проверку обращаясь к метаданным олешной базы
3 SanchoPancho
 
14.03.13
12:48
(1) (2) спасибо, пробовал, но, что-то в кавычках закавыка
RoznOle.evalexpr("глЕстьРеквизитШапки("""+"Контрагент"+""",тзВрем.Док.Вид())");
глЕстьРеквизитШапки("Контрагент",тзВрем.Док.Вид()<<?>>)
Неопознанный оператор

проверял, строку для evalexpr формрует правильно
4 stanru1
 
14.03.13
12:57
тзВрем находится на ОЛЕшной стороне?
5 1Сергей
 
14.03.13
12:59
RoznOle.evalexpr("глЕстьРеквизитШапки(""Контрагент"","""+тзВрем.Док.Вид())""");
6 1Сергей
 
14.03.13
13:00
RoznOle.evalexpr("глЕстьРеквизитШапки(""Контрагент"","""+тзВрем.Док.Вид()+""")");
7 SanchoPancho
 
14.03.13
13:05
(6) сработало! спасибо за помощь!
чего-то тяжело мне кавычки в оле даются
8 1Сергей
 
14.03.13
13:05
(6) * Естественно, если тзВрем создана в текущей базе, а не ОЛЕшной
9 1Сергей
 
14.03.13
13:08
(7) чтобы понять сделай
Стр = "глЕстьРеквизитШапки(""Контрагент"","""+тзВрем.Док.Вид()+""")";
Сообщить(Стр);
10 Torquader
 
14.03.13
13:30
А что по метаданным объекта пробежаться считается некошерным ?
Если ДругаяБаза.Метаданные.Документы(ВидДокумента).Реквизиты(ИмяРеквизита).Выбран()=1 Тогда
Сообщить("Там есть такой реквидит");
КонецЕсли;
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой