Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Табличная часть документа: ТипЗнч и Тип

Табличная часть документа: ТипЗнч и Тип
Я
   абзац
 
08.05.19 - 13:49
С праздником всех.

Есть документ "Приобретение товаров и услуг", у него есть табличная часть "Товары". Мне нужно убедиться, что значение ДокументСсылка.Товары содержит нужную табличную часть нужного мне типа документа.
Пытаюсь сравнить типы:
   ТипЗнч(ДокументСсылка.Товары) = Тип("ДокументТабличнаяЧасть.ПриобретениеТоваровУслуг.Товары")
- результат отрицательный. Хотя оба выражения возвращают тип "Document Tabular section: Товары". ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ПриобретениеТоваровУслуг") сравнивает корректно.

Подскажите пжлст, где я ошибаюсь? Как правильно сравнить тип табличной части?
 
 
   1Сергей
 
1 - 08.05.19 - 13:52
>>Мне нужно убедиться, что значение ДокументСсылка.Товары содержит нужную табличную часть нужного мне типа документа

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

Метаданные.НайтиПоТипу(ТипЗнч(ДокументСсылка.Товары)) = Метаданные.Документы.ПриобретениеТоваровУслуг.ТабличныеЧасти.Товары

работает в модуле HTTP сервиса. Но как-то стремно выглядит.
   Mort
 
19 - 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)


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.