|
Определение типа источника в обработчике ПКО | ☑ | ||
---|---|---|---|---|
0
falselight
02.02.17
✎
06:44
|
Необходимо определить тип источника в обработчике ПередКонвертациейОбъекта, в правилах конвертации данных.
В этом обработчике все объекты выгружаются как Источник. ПКО.Источник ТипЗнч(Источник) эти конструкции возвращают синоним объекта, представление объекта в режиме предприятие. Но не его тип. Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Источник.Ссылка)) эта конструкция ломается на Ссылке. Как можно универсально определять тип выгружаемого объекта по переменной Источник в ПКО ? |
|||
1
falselight
02.02.17
✎
07:31
|
Задача вроде проще некуда.
Я сам не сталкивался особо с источником. |
|||
2
Lexey_
02.02.17
✎
07:42
|
(0) ТипЗнч(Источник) не может возвращать синоним или представление, она возвращает тип
|
|||
3
falselight
02.02.17
✎
07:55
|
(2) Но если я вывожу что оно возвращает методом СООБЩИть()
почему она выводит мне синонимы объектов с пробелами? Или это не вывести методом СООБЩИТЬ()? Не бывает ведь такого. |
|||
4
Dmitry1c
02.02.17
✎
07:56
|
(3) Если ТипЗнч(ТвойОбъект) = Тип("СправочникСсылка.Договоры")
вот так надо проверять |
|||
5
Lexey_
02.02.17
✎
07:59
|
(3) я ему про тип, а он про пробелы
|
|||
6
falselight
02.02.17
✎
08:03
|
(4) То есть это будет отрабатывать, а выводиться будут в сообщить синонимы все равно?
(4) Я не стал пока рассматривать этот метод, так как мне нужно в условие пустить только к примеру документы и справочники. Это тогда получится что нужно мне все идентификаторы документов и справочников переписывать??????? Есть функция которая не ломается ни на чем что идет в выгрузке, и возвращает тип, документ это, справочник, либо что то другое? |
|||
7
Lexey_
02.02.17
✎
08:05
|
(6) да какие, синонимы?Покажи цитату из СП, что эта функция возвращает синоним, а не тип
|
|||
8
falselight
02.02.17
✎
08:05
|
(5) Ну тип этот, который возвращает эта функция должен идти же как "СправочникСсылка.Контрагенты" к примеру? И так же выводиться через сообщить?
А по сообщить, выводятся синонимы! |
|||
9
falselight
02.02.17
✎
08:05
|
(7) Я смотрю что выводится по сообщить, и говорю.
|
|||
10
Рэйв
02.02.17
✎
08:07
|
(9)а ты не смотри на Сообщить. Оно приводит к строке для вывода и получает синоним.
|
|||
11
Lexey_
02.02.17
✎
08:07
|
(8) это ты сам придумал?
|
|||
12
falselight
02.02.17
✎
08:10
|
(10) Ну ок! То есть что бы пустить в условие документы и справочники нужно перечислять все идентификаторы по методу (4) ?
И это единственное решение? |
|||
13
falselight
02.02.17
✎
08:10
|
(11) тебе в (10) это подтверждают
|
|||
14
Рэйв
02.02.17
✎
08:11
|
(12)Если нужны какието конкретные выборочные типы, то да.
|
|||
15
Рэйв
02.02.17
✎
08:12
|
+(14)чтобы не париться можно в СЗ их загнать и просто проверять на вхождение
|
|||
16
Lexey_
02.02.17
✎
08:15
|
(13) в (11) о том, что функция Сообщить() приводит тип к строке, а не о том, что тип, возвращаемый ТипЗнч() "должен идти же как "СправочникСсылка.Контрагенты""
|
|||
17
falselight
02.02.17
✎
08:18
|
(14) Нет все, просто Документы и Справочники
|
|||
18
falselight
02.02.17
✎
08:21
|
(16) То есть сообщить, приводит возвращаемый тип к строке и показывает его синоним?
Не знал что сообщить так делает. Я Всегда считал, что она возвращает то что возвращает функция, в таком же именно виде. |
|||
19
Рэйв
02.02.17
✎
08:21
|
(17)тогда как в сабже у тебя через ТипВсеСсылки.
а почему падает на Источник.Ссылка - это смотреть надо в отладчике |
|||
20
Рэйв
02.02.17
✎
08:22
|
(18)как она тебе "в таком же виде" объект в виде текста на экране покажет в виде текста?
|
|||
21
Lexey_
02.02.17
✎
08:23
|
(18) сообщить() ничего не возвращает, а принимает на вход строку или неявно приводит к строке переданное значение
|
|||
22
falselight
02.02.17
✎
08:38
|
(20) Ну преобразовывает в строку любое значение и показывает, я так всегда считал.
(21) Я имел ввиду выводит. Ну да приводит к строке переданное значение и выводит. Я в первые узнал, что она переданный идентификатор типа выводит как синоним. |
|||
23
falselight
02.02.17
✎
08:39
|
(19) Падает потому что видимо у какого то объекта нет Ссылки (
|
|||
24
Рэйв
02.02.17
✎
08:47
|
(23)Тип источника проверяй если не ссылочный тип, то не обрабатывай
|
|||
25
falselight
02.02.17
✎
08:52
|
(20) Да она показывает и объект и ссылку.
Объект это наверное то что выгружается. А ссылка это то что в объектах содержится. К примеру РеализацияТоваровУслуг и СчетФактуравыданная. РТиУ - объект СФВ - ссылка если я не ошибаюсь |
|||
26
falselight
02.02.17
✎
08:53
|
(24) Подскажите как проверять на ссылочный тип?
|
|||
27
falselight
02.02.17
✎
08:55
|
(26+) Я так понимаю, что если не ссылочный тип, то есть идет объект то нужно передавать Источник.Ссылка, иначе как Источник, так как там и так ссылка.
|
|||
28
Абыр
02.02.17
✎
08:59
|
Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Источник))
|
|||
29
falselight
02.02.17
✎
09:03
|
(25) или наоборот счет фактура выданная идет как объект
|
|||
30
falselight
02.02.17
✎
09:05
|
(28) Это проверяет является ли документом выгружаемый источник?
|
|||
31
Абыр
02.02.17
✎
09:07
|
(30) Да
|
|||
32
falselight
02.02.17
✎
09:13
|
(31) Ясно вставил это условие, оно вроде отрабатывает нормально, сейчас ещё раз проверю.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |