|
Табличная часть документа: ТипЗнч и Тип | ☑ | ||
---|---|---|---|---|
0
абзац
08.05.19
✎
13:49
|
С праздником всех.
Есть документ "Приобретение товаров и услуг", у него есть табличная часть "Товары". Мне нужно убедиться, что значение ДокументСсылка.Товары содержит нужную табличную часть нужного мне типа документа. Пытаюсь сравнить типы: ТипЗнч(ДокументСсылка.Товары) = Тип("ДокументТабличнаяЧасть.ПриобретениеТоваровУслуг.Товары") - результат отрицательный. Хотя оба выражения возвращают тип "Document Tabular section: Товары". ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") сравнивает корректно. Подскажите пжлст, где я ошибаюсь? Как правильно сравнить тип табличной части? |
|||
1
1Сергей
08.05.19
✎
13:52
|
>>Мне нужно убедиться, что значение ДокументСсылка.Товары содержит нужную табличную часть нужного мне типа документа
А как может содержать что-то другое? |
|||
2
butterbean
08.05.19
✎
13:55
|
(0) сравнивай просто типы документов, нафига таб части?
|
|||
3
абзац
08.05.19
✎
13:57
|
(1) Ну например другую табличную часть, скажем "Серии". Или ТЧ документа другого типа.
|
|||
4
1Сергей
08.05.19
✎
13:58
|
(3) как у тебя в ДокументСсылка.Товары могут быть серии?
|
|||
5
абзац
08.05.19
✎
13:59
|
Я криво описал условие. Есть переменная "Значение111". Нужно убедиться, что в ней именно табличная часть "Товары" и именно документа "ПриобретениеТоваровУслуг". Можно это как-то сделать одним сравнением?
|
|||
6
абзац
08.05.19
✎
14:01
|
Значение111 = ДокументСсылка.Товары;
ТипЗнч(Значение111) = Тип("ДокументТабличнаяЧасть.ПриобретениеТоваровУслуг.Товары") - авотфиг. |
|||
7
ам794123
08.05.19
✎
14:02
|
(5) если тип документа "ПриобретениеТоваровУслуг", то у него точно есть ТЧ.Товары, это предопределено в конфигурации
|
|||
8
butterbean
08.05.19
✎
14:02
|
(7) у меня твоя конструкция из (0) отработала корректно, проверяй значения в отладчике
|
|||
9
butterbean
08.05.19
✎
14:02
|
(8) может у тебя не ссылки а объекты
|
|||
10
абзац
08.05.19
✎
14:13
|
(9) Пробовал и ссылки, и объекты. Результат один.
Релиз платформы 8.3.14.1694. |
|||
11
butterbean
08.05.19
✎
14:15
|
(10) проверь в отладчике условие
ТипЗнч(Документы.ПриобретениеТоваровУслуг.ПустаяСсылка().Товары) = Тип("ДокументТабличнаяЧасть.ПриобретениеТоваровУслуг.Товары") |
|||
12
абзац
08.05.19
✎
14:16
|
Проверил:
ТипЗнч(Документы.ПриобретениеТоваровУслуг.ПустаяСсылка().Товары) = Тип("ДокументТабличнаяЧасть.ПриобретениеТоваровУслуг.Товары") Ложь. |
|||
13
Tonik992
08.05.19
✎
14:18
|
Метаданные придется использоваться значит
|
|||
14
абзац
08.05.19
✎
14:29
|
Проверил во внешней обреботке на локальной базе - условие
ТипЗнч(Документы.ПриобретениеТоваровУслуг.ПустаяСсылка().Товары) = Тип("ДокументТабличнаяЧасть.ПриобретениеТоваровУслуг.Товары") работает корректно. А в модуле HTTP-сервиса не работает. Не равны типы. |
|||
15
Nuobu
08.05.19
✎
14:37
|
(14) А если из модуля вызвать общийМодуль?
|
|||
16
абзац
08.05.19
✎
14:40
|
(15) Все так же. Условие не выполняется.
|
|||
17
Nuobu
08.05.19
✎
14:44
|
(16) Попробуй еще через XML
XMLтип и XMLтипЗнч |
|||
18
абзац
08.05.19
✎
14:46
|
(17) Такая конструкция:
Метаданные.НайтиПоТипу(ТипЗнч(ДокументСсылка.Товары)) = Метаданные.Документы.ПриобретениеТоваровУслуг.ТабличныеЧасти.Товары работает в модуле HTTP сервиса. Но как-то стремно выглядит. |
|||
19
Mort
08.05.19
✎
15:16
|
В 8.3.10 все работает
|
|||
20
абзац
08.05.19
✎
15:18
|
(19) В модуле HTTP-сервиса тоже?
|
|||
21
Жан Пердежон
08.05.19
✎
16:26
|
тебе ещё в начале сказали:
ТипЗнч(ДокументСсылка)=Тип("ДокументСсылка.ПриобретениеТоваровУслуг) |
|||
22
Жан Пердежон
08.05.19
✎
16:39
|
(20) ну так посмотри, чему у тебя равно ТипЗнч(Значение111)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |