|
Как выбрать запросом подчиненные документы? | ☑ | ||
---|---|---|---|---|
0
Anton2016
03.12.15
✎
15:24
|
СписокЗаполнения = ПолучитьСписокВводимыхДокументовНаОсновании(СсылкаНаОбъект.Метаданные());
ТекстЗапросаПоСтатусу = ""; Для Каждого ЭлементСписка Из СписокЗаполнения Цикл Если НЕ ПустаяСтрока(ТекстЗапросаПоСтатусу) Тогда ТекстЗапросаПоСтатусу = ТекстЗапросаПоСтатусу + " |ОБЪЕДИНИТЬ ВСЕ |"; КонецЕсли; ТекстЗапросаПоСтатусу = ТекстЗапросаПоСтатусу + " |ВЫБРАТЬ " + ?(ПустаяСтрока(ТекстЗапросаПоСтатусу), "РАЗРЕШЕННЫЕ", "") + " | Док.Ссылка КАК ПодчиненныйДокумент |ИЗ | Документ." + ЭлементСписка.Значение + " КАК Док |ГДЕ | Док.ДокументОснование = &парамОснование | И Док.Проведен |"; КонецЦикла; Запрос = Новый Запрос; Запрос.УстановитьПараметр("парамОснование", СсылкаНаОбъект); Запрос.Текст = ТекстЗапросаПоСтатусу; Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ПодчиненныйДокумент"); не взлетает ;( |
|||
1
Anton2016
03.12.15
✎
15:25
|
мне вообще нужно получить СФ, в тч ДокументыОснования есть нужная накладная...
|
|||
2
Михаил Козлов
03.12.15
✎
15:27
|
(1) А где Вы видите, что идет запрос к ТЧ?
Почему бы не воспользоваться критерием отбора? |
|||
3
mikecool
03.12.15
✎
15:28
|
(2) +1 к критерию
|
|||
4
Anton2016
03.12.15
✎
15:35
|
мне в запросе надо для отчета
|
|||
5
Anton2016
03.12.15
✎
15:36
|
вот так...
Запрос = Новый Запрос; Запрос.Текст = « |ВЫБРАТЬ | СчетФактураВыданный.Ссылка |ИЗ | Документ.СчетФактураВыданный КАК СчетФактураВыданный |ГДЕ | СчетФактураВыданный.ДокументОснование = &ДокументОснование»; Запрос.УстановитьПараметр(«ДокументОснование», Накладная); |
|||
6
mikecool
03.12.15
✎
15:37
|
(5) так я тоже не против )
|
|||
7
Anton2016
03.12.15
✎
15:39
|
спс
|
|||
8
Anton2016
03.12.15
✎
15:51
|
даже так...
&НаСервере Функция док_фн_ПолучитьСФ(парам_Документ) Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | СчетФактураВыданный.Ссылка |ИЗ | Документ.СчетФактураВыданный КАК СчетФактураВыданный |ГДЕ | СчетФактураВыданный.ДокументОснование = &ДокументОснование"; Запрос.УстановитьПараметр("ДокументОснование", парам_Документ); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); СФ=""; Пока Выборка.Следующий() Цикл СФ = Выборка.Ссылка.ПолучитьОбъект(); КонецЦикла; Возврат СФ; КонецФункции |
|||
9
DTX 4th
03.12.15
✎
16:22
|
Там должна быть ТЧ ДокументыОснования. Из неё и надо выбирать, а не из Документ.СчетФактураВыданный.
|
|||
10
Anton2016
03.12.15
✎
16:36
|
блин... спасибо!
не заметил... |
|||
11
Anton2016
04.12.15
✎
09:40
|
как из этих двух запросов сделать один?
Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | СчетФактураВыданный.Ссылка |ИЗ | Документ.СчетФактураВыданный КАК СчетФактураВыданный |ГДЕ | СчетФактураВыданный.ДокументОснование = &ДокументОснование"; Запрос.Текст = " |ВЫБРАТЬ | Ссылка, | ДокументыОснования.ДокументОснование |ИЗ Документ.СчетФактураВыданный.ДокументыОснования Как ДокументыОснования |ГДЕ | ДокументыОснования.ДокументОснование = &ДокументОснование"; |
|||
12
DTX 4th
04.12.15
✎
09:45
|
В первом нет необходимости. Там при записи
|
|||
13
aleks_default
04.12.15
✎
09:45
|
(0)Пригласите специалиста или сами сходите на курсы.
|
|||
14
Anton2016
04.12.15
✎
09:52
|
(13) может тебе еще и фотку дать?
|
|||
15
salvator
04.12.15
✎
09:56
|
(11) В чем тайный смысл сего действия?
|
|||
16
aleks_default
04.12.15
✎
09:59
|
(14)может тебе лесом пойти?
|
|||
17
Anton2016
04.12.15
✎
10:02
|
(15) зная накладную, надо получить счет-фактуру
|
|||
18
Anton2016
04.12.15
✎
10:02
|
(16) только после Вас! )
|
|||
19
salvator
04.12.15
✎
10:03
|
(17) Ну так ты написал запрос для получения с-ф из документа-основания. Что еще надо-то?
|
|||
20
Anton2016
04.12.15
✎
10:04
|
СФ получается...
но, наверное, можно покрасивше... |
|||
21
Anton2016
04.12.15
✎
10:04
|
одним запросом обойтись тут нельзя?
или это уже извращение? |
|||
22
salvator
04.12.15
✎
10:05
|
(21) Объясни, для чего тебе в (11) первый запрос и для чего второй.
|
|||
23
Anton2016
04.12.15
✎
10:06
|
1 запрос - реквизит ДокументОснование в шапке документа,
2 запрос - реквизит ДокументОснование в табличной части ДокументыОснования, как оаказалось, документ основание может быть указан или в шапке или в табличной части |
|||
24
Anton2016
04.12.15
✎
10:07
|
&НаСервере
Функция док_фн_ПолучитьСФ(парам_Документ) Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | СчетФактураВыданный.Ссылка |ИЗ | Документ.СчетФактураВыданный КАК СчетФактураВыданный |ГДЕ | СчетФактураВыданный.ДокументОснование = &ДокументОснование"; Запрос.УстановитьПараметр("ДокументОснование", парам_Документ); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); СФ=""; Пока Выборка.Следующий() Цикл СФ = Выборка.Ссылка.ПолучитьОбъект(); КонецЦикла; Если СФ<>"" Тогда Возврат СФ; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ | Ссылка, | ДокументыОснования.ДокументОснование |ИЗ Документ.СчетФактураВыданный.ДокументыОснования Как ДокументыОснования |ГДЕ | ДокументыОснования.ДокументОснование = &ДокументОснование"; Запрос.УстановитьПараметр("ДокументОснование", парам_Документ); РезультатЗапроса = Запрос.Выполнить(); Выборка = РезультатЗапроса.Выбрать(); СФ=""; Пока Выборка.Следующий() Цикл СФ = Выборка.Ссылка.ПолучитьОбъект(); КонецЦикла; Если СФ<>"" Тогда Возврат СФ; КонецЕсли; Возврат ""; КонецФункции не нравится ) |
|||
25
DTX 4th
04.12.15
✎
10:10
|
(24) См (12)
|
|||
26
Anton2016
04.12.15
✎
10:10
|
(25)
понял... спасибо! |
|||
27
DTX 4th
04.12.15
✎
10:11
|
Получать объект тоже нет необходимости..
Пока Выборка.Следующий() Цикл
|
|||
28
Anton2016
04.12.15
✎
10:12
|
спс
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |