|
Запрос к документам по наличию реквизита | ☑ | ||
---|---|---|---|---|
0
Скорпио_шка
15.05.13
✎
11:01
|
Добрый день.
Нужна помощь, не могу понять как составить запрос. Нужно выбрать непроведенные документы за определенный период, у которых есть реквизит (в шапке или в ТЧ) Справочник.СтатьиЗатрат... |
|||
1
1Сергей
15.05.13
✎
11:02
|
сгенерировать текст запроса и выполнить его
|
|||
2
Скорпио_шка
15.05.13
✎
11:03
|
Для каждого Вид Из Метаданные.Документы Цикл
Если ТекстЗапроса<>"" Тогда ТекстЗапроса=ТекстЗапроса+" |ОБЪЕДИНИТЬ ВСЕ"; КонецЕсли; ТекстЗапроса = ТекстЗапроса+" |ВЫБРАТЬ |ДокументВид.Ссылка КАК Документ,"; ТекстЗапроса = ТекстЗапроса+" |"+ Символы.ПС + " """ +Вид.Представление()+""" КАК Имя,"; ТекстЗапроса=ТекстЗапроса+" |ДокументВид.Дата КАК ДатаДокумента //|ДокументВид.Номер КАК НомерДокумента |ИЗ Документ."+Вид.Имя+" КАК ДокументВид"; ТекстЗапроса = ТекстЗапроса+" |ГДЕ ДокументВид.Дата МЕЖДУ &ДатаНач И &ДатаКон | И ДокументВид.Проведен = ЛОЖЬ"; КонецЦикла; |
|||
3
Скорпио_шка
15.05.13
✎
11:04
|
Как-то так получилось, но как добавить условие по наличию реквизита?
|
|||
4
Волшебник
15.05.13
✎
11:04
|
циклом по метаданным составляешь список документов, потом создаёшь запрос типа:
Выбрать Ссылка ИЗ ( Выбрать Ссылка ИЗ Документ.ИмяДок1 Объединить Все Выбрать Ссылка ИЗ Документ.ИмяДок2 ) Как Доки ГДЕ НЕ Ссылка.Проведен И Ссылка.Дата Между Дата1 и Дата2 |
|||
5
NcSteel
15.05.13
✎
11:04
|
Между прочем так в типовых структура подчиненности работает. Можно честно скопировать текст
|
|||
6
1Сергей
15.05.13
✎
11:06
|
(3) в реквизит в шапке, в таблице, где?
|
|||
7
Скорпио_шка
15.05.13
✎
11:07
|
И там , и там. Хотя бы с шапки начать, что ли
|
|||
8
1Сергей
15.05.13
✎
11:11
|
Для каждого Вид Из Метаданные.Документы Цикл
Если Вид.Реквизиты.Найти("Автор1") = Неопределено Тогда Продолжить; КонецЕсли; Если ТекстЗапроса<>"" Тогда ТекстЗапроса=ТекстЗапроса+" |ОБЪЕДИНИТЬ ВСЕ"; КонецЕсли; ... |
|||
9
Скорпио_шка
15.05.13
✎
11:13
|
Спасибо!!!
|
|||
10
NcSteel
15.05.13
✎
11:15
|
&НаСервере
Процедура ДобавитьВТаблицуЗначенийОписаниеПолейПоиска(МетаданныеОбъекта, ОбластьПоиска, Таблица, ТипАбоненты, ИмяТаблицы) Для Каждого ЭлементМетаданных Из МетаданныеОбъекта[ОбластьПоиска] Цикл Если Не ЭлементМетаданных.Тип.СодержитТип(ТипАбоненты) Тогда Продолжить; КонецЕсли; СтрокаТаблицыЗначений = Таблица.Добавить(); СтрокаТаблицыЗначений.ИмяТаблицы = ИмяТаблицы; СтрокаТаблицыЗначений.Поле = ЭлементМетаданных.Имя; КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |