|
Запрос к реквизиту табличной части документа | ☑ | ||
---|---|---|---|---|
0
kolp821
19.03.12
✎
12:48
|
Есть Документ, в нем есть табличный реквизит, реквизит может быть пустой. Нужно создать запрос, на проверку заполненный/не заполненный табл. часть, в результате которого будет выполнен алгоритм, если в табл. части есть что то - то выполняется 1 ветка алгоритма, если нет нечего - то другая ветка. Как правильно создать запрос?
|
|||
1
qeos
19.03.12
✎
12:52
|
запрос:
выбрать строки где реквизит не заполнен |
|||
2
КМ155
19.03.12
✎
12:54
|
(0) [есть табличный реквизит]
это не возможно нет в 1С такого типа данных |
|||
3
Alex S D
19.03.12
✎
12:54
|
ниче не понял
|
|||
4
kolp821
19.03.12
✎
12:55
|
(2) не правильно выразился, не табл реквизит а табличная часть реквизита.
|
|||
5
Buster007
19.03.12
✎
12:57
|
(4) есть реквизит табличной части
|
|||
6
kolp821
19.03.12
✎
12:58
|
(1) а можно поподробнее? Есть несколько табличных реквизитов. Но нужно проверку на одну сделать.
|
|||
7
le_
19.03.12
✎
12:58
|
(5) У автора 1С Zimbabwe Edition.
|
|||
8
КМ155
19.03.12
✎
12:59
|
(4)[табличная часть реквизита]
ешё больший бред, нет у реквизитов табличных частей |
|||
9
Alex S D
19.03.12
✎
12:59
|
опять ниче не понял
|
|||
10
Aleks73
19.03.12
✎
12:59
|
(8) Может, если рекизит документ например заказ или реализация
|
|||
11
Aleks73
19.03.12
✎
13:00
|
(8) Но что хочет автор - загадка.
|
|||
12
kolp821
19.03.12
✎
13:03
|
повторю еще вопрос.
Есть Документ, в нем есть табличный часть. Нужно создать запрос, на проверку заполненный/не заполненный табл. часть, в результате которого будет выполнен алгоритм, если в табл. части есть элементы - то выполняется 1 ветка алгоритма, если нет элементов - то другая ветка. Как правильно создать запрос? |
|||
13
qeos
19.03.12
✎
13:04
|
(10) у реквизита нет табличной части.
|
|||
14
kolp821
19.03.12
✎
13:04
|
извиняюсь за неправильную формулировку вопроса
|
|||
15
Alex S D
19.03.12
✎
13:05
|
понял
|
|||
16
Кокос
19.03.12
✎
13:08
|
Делаешь левое соединение с таблицей результатом запроса где выборка из табличной части с полем СУММА(1) КАК ИНДИКАТОРСТРОКИ. и проверяешь потом если ВЫБОР КОГДА ЕстьNULL(Подзапрос.ИНДИКАТОРСТРОКИ,0) = 0 ТОГДА ЛОЖЬ ИНАЧЕ ИСТИНА КОНЕЙ КАК ТЧЗаполнена
|
|||
17
le_
19.03.12
✎
13:09
|
ВЫБРАТЬ ПЕРВЫЕ 1
|
|||
18
le_
19.03.12
✎
13:11
|
(17) *КАК МойДокумент
|
|||
19
kolp821
19.03.12
✎
13:12
|
(17)Что за НомерСтроки?
|
|||
20
le_
19.03.12
✎
13:13
|
(19) Номер строки в табличной части.
|
|||
21
Buster007
19.03.12
✎
13:13
|
(19) почитай-ка ты лучше книгу... от этого ещё никто не умирал ;)
|
|||
22
Кокос
19.03.12
✎
13:14
|
(19) вместо .НомерСтроки можешь использовать .Ссылка
|
|||
23
le_
19.03.12
✎
13:18
|
+(17) Только определить, есть ли строки в ТЧ документа можно проще, без написания запроса )
Если Док.Товары.Количество() < 1 Тогда
|
|||
24
kolp821
19.03.12
✎
13:23
|
(23) такой вариант подходит, но как правильно мне написать? Пишу Документы.Договір.ТабличнаяЧастьДокументиПроОсвіту.Количество() < 1 выдает ошибку что "{Документ.Договір(623)}: Поле объекта не обнаружено (ТабличнаяЧастьДокументиПроОсвіту)
Если Документы.Договір.ТабличнаяЧастьДокументиПроОсвіту.Количество() < 1 Тогда" |
|||
25
le_
19.03.12
✎
13:25
|
(24) Даже не знаю, что тут посоветовать... в магазин за книжкой или на курсы...
|
|||
26
Кокос
19.03.12
✎
13:27
|
Если Документы.Договір.ДокументиПроОсвіту.Количество() < 1
|
|||
27
Кокос
19.03.12
✎
13:27
|
(25) )))
|
|||
28
kolp821
19.03.12
✎
13:38
|
(26) ТабличнаяЧастьДокументиПроОсвіту это и есть имя, так предыдущий разработчик назвал табл часть )))
|
|||
29
Molinor
19.03.12
✎
13:40
|
(28)
"ДокументЫ", а не "документ". |
|||
30
Molinor
19.03.12
✎
13:41
|
(29) Хрень написал, не читать.
|
|||
31
Reset
19.03.12
✎
14:11
|
(23) в Суть ветки не вникал, но зачем так иносказательно писать? Почему нельзя по русски Количество()=0 ? Отрабатывам варианты, когда количество строк = 0.5 или -1 ?
|
|||
32
Lenka_Boo
19.03.12
✎
14:28
|
(28)
1. Попробуй вставить название ТЧ копированием. В нем могут быть символы из другой раскладки, не догадаться какие (мне такие перлы уже встречались) 2. В отладчике посмотри, есть ли она у тебя вообще под Документы.Договір. 3. "Документы" - это у тебя что? |
|||
33
le_
19.03.12
✎
14:30
|
(31) >Отрабатывам варианты, когда количество строк = 0.5 или -1 ?
Метод Количество() возвращает натуральное число. (32) Думается мне, автор в (24) привел пример обращения к ДокументМенеджер, а не конкретному документу. |
|||
34
Reset
19.03.12
✎
14:50
|
(33) Мне, думается, твой стиль мышления не постичь ;)
Я не справшивал, что возвращает метод. Я поинтересовался сакральным смыслом сравнения с единицей. |
|||
35
Reset
19.03.12
✎
14:51
|
Забей, впрочем ;)
|
|||
36
Кокос
19.03.12
✎
14:51
|
Авфтор! Выложи сюда исходник.
|
|||
37
le_
19.03.12
✎
15:04
|
(34) Сакрального смысла нет. И ничего иносказательного нет. Можно было написать и так:
Если Док.Товары.Количество() > 0 Тогда
|
|||
38
Reset
19.03.12
✎
15:12
|
(37) И так можно:
Если Док.Товары.Количество()+1<2 тогда // пустая только нафига? Пустая ТЧ - ТЧ, где 0(ноль) строк (а не та, где их меньше одной :D - в этом иносказательность) Пишем: Если Док.Товары.Количество()=0 тогда ------------ + в (17) вообще песня (я не говорю даже, что запрос нерабочий сам по себе, ну писал наспех - бывает). Но вот об это глаз спотыкается сразу и возникают плохие мысли: Если Запрос.Выполнить().Выбрать().Количество() < 1 Тогда вместо Если Запрос.Выполнить().Пустой() |
|||
39
le_
19.03.12
✎
15:24
|
(38) >И так можно: Док.Товары.Количество() + 1 < 2
Здесь лишняя операция. По поводу (17) согласен. Про Пустой() подумал после того, как отправил. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |