|
Поиск ТЧ по имени | ☑ | ||
---|---|---|---|---|
0
zippygrill
16.11.13
✎
18:24
|
Поместил поиск ТЧ в попытке чтобы ошибке не было. Но всеравно ругается на НовыйОбъект[ИмяТабличнойЧастьИсточника]. Как красивее написать поиск ТЧ по имени?
Для каждого ТабличнаяЧасть Из ДокументОснование.Метаданные().ТабличныеЧасти Цикл ИмяТабличнойЧастьИсточника = ТабличнаяЧасть.Имя; Попытка ИмяТабличнойЧастьПриемника = НовыйОбъект[ИмяТабличнойЧастьИсточника]; //проверим есть у документа приемника такая ТЧ как у источника //ИмяТабличнойЧастьПриемника = НовыйОбъект.Метаданные().ТабличныеЧасти.Найти(ИмяТабличнойЧастьИсточника); //проверим есть у документа приемника такая ТЧ как у источника Исключение ИмяТабличнойЧастьПриемника = Неопределено; КонецПопытки; //Сообщить(ИмяТабличнойЧастьИсточника + "-" + ИмяТабличнойЧастьПриемника); Если ИмяТабличнойЧастьПриемника = Неопределено Тогда Продолжить; КонецЕсли; НовыйОбъект[ИмяТабличнойЧастьПриемника].Очистить(); |
|||
1
Error pro
16.11.13
✎
18:26
|
(0) Найти(ИмяТабличнойЧасти)?
|
|||
2
Поросенок Петр
16.11.13
✎
18:27
|
Попытка создана не для того, чтобы гово*деры пихали её вместо своего унылого кода. Не умеешь пользвовать попытку - не используй.
А про метаданные здорово. Накуренный чоли? |
|||
3
zippygrill
16.11.13
✎
18:29
|
(2)не хочешь не используй попытки. Твое дело.
Не понял, что тебе не нравиться в использование свойтсво метаданные()? |
|||
4
Поросенок Петр
16.11.13
✎
18:29
|
Если у приемника нет нужной табличной части, чистое, кошерное исключение будет лучше всякой шняги, которую вы можете придумать.
|
|||
5
Поросенок Петр
16.11.13
✎
18:31
|
Другой момент, когда ловить это исключение. Процедура поиска чего-то там это хреновое место для этого.
|
|||
6
zippygrill
16.11.13
✎
18:33
|
(5) наверное можно обойтись и без попытки, но смысл моей попытки в том чтобы при возникнование какой либо ошибки обработка не остановилась.
|
|||
7
NcSteel
16.11.13
✎
18:36
|
НовыйОбъект <> ДокументОснование
Поэтому и Табчасти ДокументОснование нет в списке табчастей "НовыйОбъект". |
|||
8
zippygrill
16.11.13
✎
18:37
|
(7) Естественно. Разные типы.
|
|||
9
NcSteel
16.11.13
✎
18:38
|
(8) Тогда не понятно почему ты удивляешся.
|
|||
10
zippygrill
16.11.13
✎
18:40
|
(9) Да я не удивляюсь вообще :)
Всего лишь хочу обработать момент когда у приемника нет такой ТЧ как в источнике. |
|||
11
NcSteel
16.11.13
✎
18:41
|
(10) А почему не искать его среди метаданных? В данном случае скорее всего у приемника есть такой реквизит (или другое свойство), но ни как не ТЧ.
|
|||
12
zippygrill
16.11.13
✎
18:44
|
(11) а вот мне нужны только ТЧ и ни какое другое свойство или реквизит объекта.
|
|||
13
NcSteel
16.11.13
✎
18:45
|
(12) ТОгда почему ты не ищешь среди ТЧ?
|
|||
14
zippygrill
16.11.13
✎
18:46
|
(13)а это что НовыйОбъект.Метаданные().ТабличныеЧасти.Найти(ИмяТабличнойЧастьИсточника)
|
|||
15
zippygrill
16.11.13
✎
18:56
|
КоллекцияОбъектовМетаданных (MetadataObjectCollection)
Найти (Find) Синтаксис: Найти(<Наименование>) Параметры: <Наименование> (обязательный) Тип: Строка. Наименование объекта описания метаданного. Что метод не возвращает Неопределено если не найдено ничего. |
|||
16
zippygrill
16.11.13
✎
18:59
|
ИмяТабличнойЧастьПриемника = НовыйОбъект.Метаданные().ТабличныеЧасти.Найти(ИмяТабличнойЧастьИсточника); //проверим есть у документа приемника такая ТЧ как у источника
ругается что метод объекта(Метаданные) не обнаружен. |
|||
17
Oleg_ka
16.11.13
✎
19:06
|
Хорошо.
Поставь точку останова ДО этой строчки и посмотри чему равен НовыйОбъект? |
|||
18
zippygrill
16.11.13
✎
19:11
|
не могу. это внешняя обработка по заполнению тч
|
|||
19
mehfk
16.11.13
✎
19:18
|
(18) Создай форму для обработки, в ней реквизит ссылка на документ, в обработке нажатия кнопки вызови процедуру инициализировать с нужными параметрами и отлаживай хоть до бесконечности.
|
|||
20
NcSteel
16.11.13
✎
19:49
|
(14) В предоставленном листинге в посте (0) нет этого кода.
Если ты подобное используешь, тогда зачем тут (0)? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |