|
Как в Запросе узнать, что тип Субконто - Документ ? | ☑ | ||
---|---|---|---|---|
0
БыстрыйЛис
03.08.21
✎
11:41
|
Собственно вопрос не сложный но туплю.
Есть запрос к регистру Бухии Хозрасчетный. Выбирается массив счетов. Мне надо знать, что Субконто3 какого то счета - это документ. Тип не важен. Обычно пишем так ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто2) = ТИП(Справочник.ДоговорыКонтрагентов) но мне надо на просто ДОКУМЕНТ ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) = ТИП(Документ) так ведь нельзя писать. А как ? Каждый тип описывать ? - не подойдет. |
|||
1
БыстрыйЛис
03.08.21
✎
11:45
|
Написать что ли
ХозрасчетныйОстаткиИОбороты.Субконто3.Дата и потом на null отобрать ? |
|||
2
polosov
03.08.21
✎
11:46
|
(0) А методом исключения нельзя?
Т.е. исключить все другие типы, кроме документов. |
|||
3
БыстрыйЛис
03.08.21
✎
11:54
|
(2)не наверно - долго. там типов дофига - и Ценные бумаги и бывает вообше нет субконто = null и т.д
|
|||
4
Momus
03.08.21
✎
11:56
|
ХозрасчетныйОстаткиИОбороты.Субконто3 Ссылка Документ.ИмяДокумента
|
|||
5
toypaul
гуру
03.08.21
✎
11:59
|
добавить в ПВХ признак и делать по нему отбор
|
|||
6
БыстрыйЛис
03.08.21
✎
12:01
|
(4)еще раз - для танкистов - имя документа нет. Просто - Документ!
|
|||
7
БыстрыйЛис
03.08.21
✎
12:02
|
Короче...Придложенный мной вариант
ХозрасчетныйОстаткиИОбороты.Субконто3.Дата и потом на null отобрать - самый рабочий и быстрый |
|||
8
Масянька
03.08.21
✎
12:04
|
(6) Тип значения преобразовать в строку, строка содержит "Документ".
|
|||
9
Документовед
03.08.21
✎
12:04
|
(1) У договора есть "Номер", "Дата", если у тебе договор или подобные справочники 3м субконто не бывают — то конечно.
|
|||
10
youalex
03.08.21
✎
12:05
|
если "в лоб" то как то так
ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3) В (&МассивТиповДокумент) Запрос.УстановитьПараметр("МассивТиповДокумент", Документы.ТипВсеСсылки().Типы()) (7) ну если тебя не смущает, что Субконто3.Дата - означает соединение со всеми таблицами документов, определенных в ПВХ, то может быть. Но у справочников тоже может быть рек Дата. У Договора например (там еще и Номер) |
|||
11
Конструктор1С
03.08.21
✎
12:08
|
Проверяй через поле ВидСубконтоХ. Видов субконто, ссылающихся на документы, всего несколько штук
|
|||
12
toypaul
гуру
03.08.21
✎
12:09
|
(7) плохой вариант. за такое можно люлей отхватить
|
|||
13
Antony8x
03.08.21
✎
12:21
|
(0) Отобрать надо или знать? Если знать вроде этого можно
ВЫБОР КОГДА ПОДСТРОКА(ПРЕДСТАВЛЕНИЕ(ТИПЗНАЧЕНИЯ(ХозрасчетныйОстаткиИОбороты.Субконто3)),1,8) = "Документ" ТОГДА Истина ИНАЧЕ ЛОЖЬ КОНЕЦ КАК Документ |
|||
14
ДенисЧ
03.08.21
✎
12:24
|
(13) Подстрока от представления? Сам-то попробовал?
|
|||
15
smpulan
03.08.21
✎
13:56
|
(0) У документов есть свойство Проведен, проверяй его на null. Что то вроде этого:
ВЫБРАТЬ ХозрасчетныйОбороты.Счет, ХозрасчетныйОбороты.Субконто1, ХозрасчетныйОбороты.Субконто2, ХозрасчетныйОбороты.Субконто3 ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты(&НачПериода, &КонПериода, , Счет = &Счет, , НЕ Субконто3.Проведен ЕСТЬ NULL , , ) КАК ХозрасчетныйОбороты |
|||
16
Жан Пердежон
03.08.21
✎
14:20
|
(12) +1
за такое НУЖНО бить |
|||
17
SiAl-chel
03.08.21
✎
14:28
|
(15), (7) В запросе через точку сравнивать с NULL - решение быстрое для программера, но тормозное - в работе. Там такие джойны полезут, что "мама, не горюй".
(0) 1. Сравнивай тип субконто с вхождением в массив типов. 2. Массив типов собери циклом по метаданным и установи его в параметр запроса. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |