Изменить запрос
Показывать по
10
20
40
сообщений
- 1
- 2
11.10.2010
13:01
#1
"Подскажите,пожалуйста,как изменить следующий запрос:
"ВЫБРАТЬ
| ПрохождениеЗаказа.Ссылка КАК Ссылка1,
| ПрохождениеЗаказа.ДатаВыполнения КАК ДатаФакт,
| ПрохождениеЗаказаПокупателя.Ссылка,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап КАК Этапы,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
| ЗаказПокупателяТовары.Номенклатура КАК Номенклатура
|ИЗ
| Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа
| ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.ПрохождениеЗаказаПокупателя КАК ПрохождениеЗаказаПокупателя
| ПО ПрохождениеЗаказа.БизнесПроцесс = ПрохождениеЗаказаПокупателя.Ссылка,
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары,
| БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов
|ГДЕ
| ЗаказПокупателяТовары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ПрохождениеЗаказа.Ссылка,
| ПрохождениеЗаказа.ДатаВыполнения,
| ПрохождениеЗаказаПокупателя.Ссылка,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
| ЗаказПокупателяТовары.Номенклатура";
Мне надо,чтобы данные выводились примерно в след. виде:
Ссылка1 ДатаВыполнения Ссылка Номенклатура Этапы
Оформление Заказа 06.09.2010 000001 Дверь
Замеры 08.09.2010 Замеры
Сейчас у меня выходит следующее:
Ссылка1 ДатаВыполнения Ссылка Номенклатура Этапы
Оформление Заказа 06.09.2010 000001 Дверь Замеры
Замеры 08.09.2010 000001 Дверь Замеры
"
"ВЫБРАТЬ
| ПрохождениеЗаказа.Ссылка КАК Ссылка1,
| ПрохождениеЗаказа.ДатаВыполнения КАК ДатаФакт,
| ПрохождениеЗаказаПокупателя.Ссылка,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап КАК Этапы,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
| ЗаказПокупателяТовары.Номенклатура КАК Номенклатура
|ИЗ
| Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа
| ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.ПрохождениеЗаказаПокупателя КАК ПрохождениеЗаказаПокупателя
| ПО ПрохождениеЗаказа.БизнесПроцесс = ПрохождениеЗаказаПокупателя.Ссылка,
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары,
| БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов
|ГДЕ
| ЗаказПокупателяТовары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ПрохождениеЗаказа.Ссылка,
| ПрохождениеЗаказа.ДатаВыполнения,
| ПрохождениеЗаказаПокупателя.Ссылка,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
| ЗаказПокупателяТовары.Номенклатура";
Мне надо,чтобы данные выводились примерно в след. виде:
Ссылка1 ДатаВыполнения Ссылка Номенклатура Этапы
Оформление Заказа 06.09.2010 000001 Дверь
Замеры 08.09.2010 Замеры
Сейчас у меня выходит следующее:
Ссылка1 ДатаВыполнения Ссылка Номенклатура Этапы
Оформление Заказа 06.09.2010 000001 Дверь Замеры
Замеры 08.09.2010 000001 Дверь Замеры
"
11.10.2010
13:23
#3
Вот на этом запросе,наверное,мне будет проще объяснить:
ВЫБРАТЬ
ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
ПрохождениеЗаказа.Ссылка,
ПрохождениеЗаказа.ДатаВыполнения
ИЗ
БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов,
Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа
СГРУППИРОВАТЬ ПО
ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
ПрохождениеЗаказа.Ссылка,
ПрохождениеЗаказа.ДатаВыполнения,
ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок
Теперь таблица такая:
Этап Срок Ссылка ДатаВыполнения
Замеры 05.10.2010 Оформл.заказа 27.09.2010
Замеры 05.10.2010 Замеры 0000102 06.10.2010
а надо:
Этап Срок Ссылка ДатаВыполнения
Замеры 05.10.2010 Замеры 0000102 06.10.2010
оформл.заказа 7.09.2010
Нет,запрос к бизнес-процессу и задаче бп.
ВЫБРАТЬ
ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок,
ПрохождениеЗаказа.Ссылка,
ПрохождениеЗаказа.ДатаВыполнения
ИЗ
БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов,
Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа
СГРУППИРОВАТЬ ПО
ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап,
ПрохождениеЗаказа.Ссылка,
ПрохождениеЗаказа.ДатаВыполнения,
ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок
Теперь таблица такая:
Этап Срок Ссылка ДатаВыполнения
Замеры 05.10.2010 Оформл.заказа 27.09.2010
Замеры 05.10.2010 Замеры 0000102 06.10.2010
а надо:
Этап Срок Ссылка ДатаВыполнения
Замеры 05.10.2010 Замеры 0000102 06.10.2010
оформл.заказа 7.09.2010
Нет,запрос к бизнес-процессу и задаче бп.
11.10.2010
13:41
#4
Зачем заниматься такой глупостью?
Сделайте обход по группировкам или выгрузите в дерево и вы водите в какой угодно форме.
Запрос - это способ получения таблицы с данными, а не способ формирования их отображения в зависимости от предыдущей строки и прочих условий.
Сделайте обход по группировкам или выгрузите в дерево и вы водите в какой угодно форме.
Запрос - это способ получения таблицы с данными, а не способ формирования их отображения в зависимости от предыдущей строки и прочих условий.
11.10.2010
14:00
#7
Просто дело в том,что мне непонятно как сделать следующее:в бп у меня есть этапы,например этап Замеры.Мне для этого этапа вытащить из задач ДатуВыолнения,вот как это сделать мне непонятно.
11.10.2010
14:23
#8
Согласно вашим примерам - вы уже все выбрали и только не хотите, по какой-то причине, что бы вы второй строке писалась ссылка (или иные данные).
12.10.2010
14:29
#9
"Подскажите,пожалуйста,как сделать обход результата следующего запроса,чтобы таблица выглядела след. образом:
номенклатура дата.факт
дверь 12.10.2010
14.10.2010
Надо,чтобы дверб в номенклатуре выводилась 1 раз.
Запрос=Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
| ПрохождениеЗаказа.ТочкаМаршрута.Представление,
| ПрохождениеЗаказа.Наименование,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап.Наименование,
| ПрохождениеЗаказа.ДатаВыполнения КАК ДатаФакт,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок КАК ДатаПлан,
| ЗаказПокупателяТовары.Номенклатура КАК Номенклатура
|ИЗ
| Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов
| ПО ПрохождениеЗаказа.Наименование = ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап.Наименование,
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
|
|СГРУППИРОВАТЬ ПО
| ЗаказПокупателяТовары.Номенклатура,
| ПрохождениеЗаказа.ТочкаМаршрута.Представление,
| ПрохождениеЗаказа.Наименование,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап.Наименование,
| ПрохождениеЗаказа.ДатаВыполнения,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок";
Запрос.УстановитьПараметр("Ссылка",ЗаказПокупателя);
ЭлементыФормы.Табл.Очистить();
ТаблицаИтогов=Запрос.Выполнить().Выгрузить();
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Выборка1=Выборка.Выбрать();
Макет = ПолучитьМакет("Макет");
ОбластьЗаголовок=Макет.ПолучитьОбласть("ШапкаЗаголовок");
ЭлементыФормы.Табл.Вывести(ОбластьЗаголовок);
ОбластьШапкаТабл=Макет.ПолучитьОбласть("ШапкаТаблицы");
ЭлементыФормы.Табл.Вывести(ОбластьШапкаТабл);
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
Пока Выборка.Следующий() Цикл
ОбластьСтрока.Параметры.Номенклатура=Выборка.Номенклатура;
Пока Выборка1.Следующий() Цикл
ОбластьСтрока.Параметры.ДатаФакт=Выборка.ДатаФакт;
ЭлементыФормы.Табл.Вывести(ОбластьСтрока);
КонецЦикла;
КонецЦикла;
"
номенклатура дата.факт
дверь 12.10.2010
14.10.2010
Надо,чтобы дверб в номенклатуре выводилась 1 раз.
Запрос=Новый Запрос;
Запрос.Текст= "ВЫБРАТЬ
| ПрохождениеЗаказа.ТочкаМаршрута.Представление,
| ПрохождениеЗаказа.Наименование,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап.Наименование,
| ПрохождениеЗаказа.ДатаВыполнения КАК ДатаФакт,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок КАК ДатаПлан,
| ЗаказПокупателяТовары.Номенклатура КАК Номенклатура
|ИЗ
| Задача.ПрохождениеЗаказа КАК ПрохождениеЗаказа
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ БизнесПроцесс.ПрохождениеЗаказаПокупателя.СрокиЭтапов КАК ПрохождениеЗаказаПокупателяСрокиЭтапов
| ПО ПрохождениеЗаказа.Наименование = ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап.Наименование,
| Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
|
|СГРУППИРОВАТЬ ПО
| ЗаказПокупателяТовары.Номенклатура,
| ПрохождениеЗаказа.ТочкаМаршрута.Представление,
| ПрохождениеЗаказа.Наименование,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Этап.Наименование,
| ПрохождениеЗаказа.ДатаВыполнения,
| ПрохождениеЗаказаПокупателяСрокиЭтапов.Срок";
Запрос.УстановитьПараметр("Ссылка",ЗаказПокупателя);
ЭлементыФормы.Табл.Очистить();
ТаблицаИтогов=Запрос.Выполнить().Выгрузить();
Результат=Запрос.Выполнить();
Выборка=Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Выборка1=Выборка.Выбрать();
Макет = ПолучитьМакет("Макет");
ОбластьЗаголовок=Макет.ПолучитьОбласть("ШапкаЗаголовок");
ЭлементыФормы.Табл.Вывести(ОбластьЗаголовок);
ОбластьШапкаТабл=Макет.ПолучитьОбласть("ШапкаТаблицы");
ЭлементыФормы.Табл.Вывести(ОбластьШапкаТабл);
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
Пока Выборка.Следующий() Цикл
ОбластьСтрока.Параметры.Номенклатура=Выборка.Номенклатура;
Пока Выборка1.Следующий() Цикл
ОбластьСтрока.Параметры.ДатаФакт=Выборка.ДатаФакт;
ЭлементыФормы.Табл.Вывести(ОбластьСтрока);
КонецЦикла;
КонецЦикла;
"
12.10.2010
15:09
#10
"Интересно какого типа Табл? Надеюсь это ПолеТабличногоДокумента.
ТаблицаИтогов=Запрос.Выполнить().Выгрузить();
Макет = ПолучитьМакет("Макет");
ОбластьЗаголовок=Макет.ПолучитьОбласть("ШапкаЗаголовок");
ЭлементыФормы.Табл.Вывести(ОбластьЗаголовок);
ОбластьШапкаТабл=Макет.ПолучитьОбласть("ШапкаТаблицы");
ЭлементыФормы.Табл.Вывести(ОбластьШапкаТабл);
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
лТекНом = Неопределено;
Для Каждого Стр Из ТаблицаИтогов Цикл
лНоваяСтр = Ложь;
Если лТекНом = Неопределено Тогда лНоваяСтрока=Истина;
ИначеЕсли ТипЗнч(лТекНом) <> ТипЗнч(Стр.Номенклатура) Тогда лНоваяСтрока=Истина;
ИначеЕсли лТекНом <> Стр.Номенклатура Тогда лНоваяСтрока=Истина;
КонецЕсли;
ЗаполнитьЗначенияСвойств (ОбластьСтрока.Табл.Параметры, Стр);
Если НЕ лНоваяСтрока Тогда
ОбластьСтрока.Табл.Параметры.Номенклатура = Неопределено;
КонецЕсли;
ЭлементыФормы.Табл.Вывести(ОбластьСтрока);
КонецЦикла;
p.s. Обход по группировкам работает когда у вас в запросе есть ИТОГИ ПО"
ТаблицаИтогов=Запрос.Выполнить().Выгрузить();
Макет = ПолучитьМакет("Макет");
ОбластьЗаголовок=Макет.ПолучитьОбласть("ШапкаЗаголовок");
ЭлементыФормы.Табл.Вывести(ОбластьЗаголовок);
ОбластьШапкаТабл=Макет.ПолучитьОбласть("ШапкаТаблицы");
ЭлементыФормы.Табл.Вывести(ОбластьШапкаТабл);
ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
лТекНом = Неопределено;
Для Каждого Стр Из ТаблицаИтогов Цикл
лНоваяСтр = Ложь;
Если лТекНом = Неопределено Тогда лНоваяСтрока=Истина;
ИначеЕсли ТипЗнч(лТекНом) <> ТипЗнч(Стр.Номенклатура) Тогда лНоваяСтрока=Истина;
ИначеЕсли лТекНом <> Стр.Номенклатура Тогда лНоваяСтрока=Истина;
КонецЕсли;
ЗаполнитьЗначенияСвойств (ОбластьСтрока.Табл.Параметры, Стр);
Если НЕ лНоваяСтрока Тогда
ОбластьСтрока.Табл.Параметры.Номенклатура = Неопределено;
КонецЕсли;
ЭлементыФормы.Табл.Вывести(ОбластьСтрока);
КонецЦикла;
p.s. Обход по группировкам работает когда у вас в запросе есть ИТОГИ ПО"
- 1
- 2
Отражение больничного (обмен данными м/у ЗУП и Бух 7.7)Бухгалтерия бюджетного учреждения 7.7, форма 130а
Читают тему
(гостей: 1)