|
Внешняя обработка Заказы | ☑ | ||
---|---|---|---|---|
0
FransisDrake
27.02.20
✎
13:50
|
Коллеги, добрый день!
Столкнулся с такой проблемой, существует 4 Задачи. Мне нужно сделать внешнюю обработку, которая собрала информацию с этих задач и вывела бы их мне. Как построить запрос, чтобы он совсех четырех собрал информацию? |
|||
1
ДенисЧ
27.02.20
✎
13:52
|
Лучше всего - запрос построить правильно.
А ещё лучше - показать, с чего начал, что не получилось |
|||
2
FransisDrake
27.02.20
✎
13:58
|
Нууу...немного всё не получается..
Мне нужно, чтобы в итоговом списке были данные: Дата, Наименование, Предмет, Автор, ДатаВыполнения. выбрал я данные, а как их дальше сгруппировать? "ВЫБРАТЬ | НА_СогласованиеБюджетаПроекта.Дата, | НА_СогласованиеВыбораПоставщика.Дата КАК Дата1, | НА_СогласованиеЗаказаПоставщику.Дата КАК Дата2, | НА_СогласованиеСоглашенияНаВыполненияРабот.Дата КАК Дата3, | НА_ЗадачаСогласованияВыбораПоставщика.Наименование, | НА_СогласованиеЗаказаПоставщику1.Наименование КАК Наименование1, | НА_ЗадачаСогласования.Наименование КАК Наименование2, | НА_ЗадачаСогласованияЗадачиПоИсполнителю.Наименование КАК Наименование3, | НА_СогласованиеБюджетаПроекта.Предмет, | НА_СогласованиеВыбораПоставщика.Предмет КАК Предмет1, | НА_СогласованиеЗаказаПоставщику.Предмет КАК Предмет2, | НА_СогласованиеСоглашенияНаВыполненияРабот.Предмет КАК Предмет3, | НА_СогласованиеБюджетаПроекта.Автор, | НА_СогласованиеВыбораПоставщика.Автор КАК Автор1, | НА_СогласованиеЗаказаПоставщику.Автор КАК Автор2, | НА_СогласованиеСоглашенияНаВыполненияРабот.Автор КАК Автор3, | НА_ЗадачаСогласования.ДатаВыполнения, | НА_ЗадачаСогласованияВыбораПоставщика.ДатаВыполнения КАК ДатаВыполнения1, | НА_ЗадачаСогласованияЗадачиПоИсполнителю.ДатаВыполнения КАК ДатаВыполнения2, | НА_СогласованиеЗаказаПоставщику1.ДатаВыполнения КАК ДатаВыполнения3 |ИЗ | БизнесПроцесс.НА_СогласованиеВыбораПоставщика КАК НА_СогласованиеВыбораПоставщика | ЛЕВОЕ СОЕДИНЕНИЕ Задача.НА_ЗадачаСогласованияВыбораПоставщика КАК НА_ЗадачаСогласованияВыбораПоставщика | ПО НА_СогласованиеВыбораПоставщика.ВедущаяЗадача = НА_ЗадачаСогласованияВыбораПоставщика.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Задача.НА_СогласованиеЗаказаПоставщику КАК НА_СогласованиеЗаказаПоставщику1 | ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.НА_СогласованиеЗаказаПоставщику КАК НА_СогласованиеЗаказаПоставщику | ПО НА_СогласованиеЗаказаПоставщику1.БизнесПроцесс = НА_СогласованиеЗаказаПоставщику.Ссылка | ПО НА_СогласованиеВыбораПоставщика.ВедущаяЗадача = НА_СогласованиеЗаказаПоставщику1.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ Задача.НА_ЗадачаСогласования КАК НА_ЗадачаСогласования | ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.НА_СогласованиеСоглашенияНаВыполненияРабот КАК НА_СогласованиеСоглашенияНаВыполненияРабот | ПО НА_ЗадачаСогласования.БизнесПроцесс = НА_СогласованиеСоглашенияНаВыполненияРабот.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ БизнесПроцесс.НА_СогласованиеБюджетаПроекта КАК НА_СогласованиеБюджетаПроекта | ПО НА_ЗадачаСогласования.БизнесПроцесс = НА_СогласованиеБюджетаПроекта.Ссылка | ПО НА_СогласованиеВыбораПоставщика.ВедущаяЗадача = НА_ЗадачаСогласования.Ссылка, | Задача.НА_ЗадачаСогласования.ЗадачиПоИсполнителю КАК НА_ЗадачаСогласованияЗадачиПоИсполнителю" |
|||
3
hhhh
27.02.20
✎
14:09
|
(2) лишние строчки выкиньте просто.
|
|||
4
FransisDrake
27.02.20
✎
14:14
|
(2) разве там есть лишние?
|
|||
5
D_E_S_131
27.02.20
✎
15:32
|
Зачем у Вас все через левое соединение связывается?
|
|||
6
hhhh
27.02.20
✎
15:38
|
(4) что это за хрень, Автор1, Автор2, Автор3? Нафига вам столько авторов? Они не лишние?
|
|||
7
FransisDrake
28.02.20
✎
09:27
|
Коллеги, добрый день!
С запросом я разобрался, всем спасибо! Но теперь у меня другой вопрос: На форме у меня есть реквизит Исполнитель с типом Справочники.Пользователи; мне нужно, чтобы при изменении исполнителя, изменялись данные. Сейчас он выводит все данные, независимо от выбора исполнителя: Запрос = Новый Запрос; Исполнитель = ЭлементыФормы.Исполнитель; Запрос.УстановитьПараметр("Исполнитель", Исполнитель); Запрос.УстановитьПараметр("Выполненные", Выполнена); Запрос.Текст= "ВЫБРАТЬ | НА_ЗадачаСогласованияВыбораПоставщика.БизнесПроцесс.Автор КАК Автор, | НА_ЗадачаСогласованияВыбораПоставщика.БизнесПроцесс.Предмет КАК Предмет, | НА_ЗадачаСогласованияВыбораПоставщика.Дата, | НА_ЗадачаСогласованияВыбораПоставщика.Наименование, | НА_ЗадачаСогласованияВыбораПоставщика.ДатаВыполнения |ИЗ | Задача.НА_ЗадачаСогласованияВыбораПоставщика КАК НА_ЗадачаСогласованияВыбораПоставщика |ГДЕ | НА_ЗадачаСогласованияВыбораПоставщика.БизнесПроцесс.Автор = &Исполнитель | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НА_ЗадачаСогласования.БизнесПроцесс.Автор, | НА_ЗадачаСогласования.БизнесПроцесс.Предмет, | НА_ЗадачаСогласования.Дата, | НА_ЗадачаСогласования.Наименование, | НА_ЗадачаСогласования.ДатаВыполнения |ИЗ | Задача.НА_ЗадачаСогласования КАК НА_ЗадачаСогласования | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НА_СогласованиеЗаказаПоставщику.БизнесПроцесс.Автор, | НА_СогласованиеЗаказаПоставщику.БизнесПроцесс.Предмет, | НА_СогласованиеЗаказаПоставщику.Дата, | НА_СогласованиеЗаказаПоставщику.Наименование, | НА_СогласованиеЗаказаПоставщику.ДатаВыполнения |ИЗ | Задача.НА_СогласованиеЗаказаПоставщику КАК НА_СогласованиеЗаказаПоставщику"; Результат = Запрос.Выполнить(); ЭлементыФормы.Список.СоздатьКолонки(); Список.Загрузить(Запрос.Выполнить().Выгрузить()); |
|||
8
Мимохожий Однако
28.02.20
✎
09:30
|
Добавь условие в каждую таблицу
|
|||
9
FransisDrake
28.02.20
✎
09:34
|
(8) Теперь ничего не выводит
Запрос = Новый Запрос; Исполнитель = ЭлементыФормы.Исполнитель; Запрос.УстановитьПараметр("Исполнитель", Исполнитель); Запрос.Текст= "ВЫБРАТЬ | НА_ЗадачаСогласованияВыбораПоставщика.БизнесПроцесс.Автор КАК Автор, | НА_ЗадачаСогласованияВыбораПоставщика.БизнесПроцесс.Предмет КАК Предмет, | НА_ЗадачаСогласованияВыбораПоставщика.Дата, | НА_ЗадачаСогласованияВыбораПоставщика.Наименование, | НА_ЗадачаСогласованияВыбораПоставщика.ДатаВыполнения |ИЗ | Задача.НА_ЗадачаСогласованияВыбораПоставщика КАК НА_ЗадачаСогласованияВыбораПоставщика |ГДЕ | НА_ЗадачаСогласованияВыбораПоставщика.Исполнитель = &Исполнитель | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НА_ЗадачаСогласования.БизнесПроцесс.Автор, | НА_ЗадачаСогласования.БизнесПроцесс.Предмет, | НА_ЗадачаСогласования.Дата, | НА_ЗадачаСогласования.Наименование, | НА_ЗадачаСогласования.ДатаВыполнения |ИЗ | Задача.НА_ЗадачаСогласования КАК НА_ЗадачаСогласования |ГДЕ | НА_ЗадачаСогласования.Исполнитель = &Исполнитель | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НА_СогласованиеЗаказаПоставщику.БизнесПроцесс.Автор, | НА_СогласованиеЗаказаПоставщику.БизнесПроцесс.Предмет, | НА_СогласованиеЗаказаПоставщику.Дата, | НА_СогласованиеЗаказаПоставщику.Наименование, | НА_СогласованиеЗаказаПоставщику.ДатаВыполнения |ИЗ | Задача.НА_СогласованиеЗаказаПоставщику КАК НА_СогласованиеЗаказаПоставщику |ГДЕ | НА_СогласованиеЗаказаПоставщику.Исполнитель = &Исполнитель"; Результат = Запрос.Выполнить(); ЭлементыФормы.Список.СоздатьКолонки(); Список.Загрузить(Запрос.Выполнить().Выгрузить()); |
|||
10
vicof
28.02.20
✎
09:39
|
Исполнитель это не элемент формы, а элемент справочника.
|
|||
11
FransisDrake
28.02.20
✎
09:42
|
(10) Всё равно, он выводит колонки, но не содержимое.
|
|||
12
FransisDrake
28.02.20
✎
10:02
|
Хелп?))
|
|||
13
vicof
28.02.20
✎
10:14
|
намеков не понимаешь, ладно
Исполнитель = ЭлементыФормы.Исполнитель.Значение; |
|||
14
D_E_S_131
28.02.20
✎
10:48
|
(9) "Исполнитель = ЭлементыФормы.Исполнитель;" - это лишнее. Если запрос выполняется в процедуре с контекстом формы, то ты его и так по имени "Исполнитель" получишь.
|
|||
15
FransisDrake
28.02.20
✎
11:25
|
На форме у меня стоит булево кнопка,
не могу сообразить, как сделать так, чтобы если выбрано "ДА", вывелись только выполненные задачи а если "НЕТ", то все задачи? Запрос = Новый Запрос; Исполнитель = ЭлементыФормы.Исполнитель.Значение; Выполнена = ЭлементыФормы.Выполнено.Значение; Запрос.УстановитьПараметр("Исполнитель", Исполнитель); Запрос.УстановитьПараметр("ВсеЗадачи", Выполнена); Запрос.Текст= "ВЫБРАТЬ | НА_ЗадачаСогласованияВыбораПоставщика.БизнесПроцесс.Автор КАК Автор, | НА_ЗадачаСогласованияВыбораПоставщика.БизнесПроцесс.Предмет КАК Предмет, | НА_ЗадачаСогласованияВыбораПоставщика.Дата, | НА_ЗадачаСогласованияВыбораПоставщика.Наименование, | НА_ЗадачаСогласованияВыбораПоставщика.ДатаВыполнения |ИЗ | Задача.НА_ЗадачаСогласованияВыбораПоставщика КАК НА_ЗадачаСогласованияВыбораПоставщика |ГДЕ | НА_ЗадачаСогласованияВыбораПоставщика.Исполнитель = &Исполнитель | И (&ВсеЗадачи | ИЛИ НА_ЗадачаСогласованияВыбораПоставщика.Выполнена = ИСТИНА) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НА_ЗадачаСогласования.БизнесПроцесс.Автор, | НА_ЗадачаСогласования.БизнесПроцесс.Предмет, | НА_ЗадачаСогласования.Дата, | НА_ЗадачаСогласования.Наименование, | НА_ЗадачаСогласования.ДатаВыполнения |ИЗ | Задача.НА_ЗадачаСогласования КАК НА_ЗадачаСогласования |ГДЕ | НА_ЗадачаСогласования.Исполнитель = &Исполнитель | И (&ВсеЗадачи | ИЛИ НА_ЗадачаСогласования.Выполнена = ИСТИНА) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | НА_СогласованиеЗаказаПоставщику.БизнесПроцесс.Автор, | НА_СогласованиеЗаказаПоставщику.БизнесПроцесс.Предмет, | НА_СогласованиеЗаказаПоставщику.Дата, | НА_СогласованиеЗаказаПоставщику.Наименование, | НА_СогласованиеЗаказаПоставщику.ДатаВыполнения |ИЗ | Задача.НА_СогласованиеЗаказаПоставщику КАК НА_СогласованиеЗаказаПоставщику |ГДЕ | НА_СогласованиеЗаказаПоставщику.Исполнитель = &Исполнитель | И (&ВсеЗадачи | ИЛИ НА_СогласованиеЗаказаПоставщику.Выполнена = ИСТИНА)"; Результат = Запрос.Выполнить(); ЭлементыФормы.Список.СоздатьКолонки(); Список.Загрузить(Запрос.Выполнить().Выгрузить()); |
|||
16
FransisDrake
28.02.20
✎
11:26
|
(15) На форме у меня стоит булево кнопка,
не могу сообразить, как сделать так, чтобы если выбрано "ДА", вывелись только выполненные задачи а если "НЕТ", то все задачи? |
|||
17
D_E_S_131
28.02.20
✎
12:31
|
(16) Запрос.УстановитьПараметр("ТолькоВыполненные", <путь к данным, которые связаны с кнопкой>); А в самом запросе поставь условие "НЕ &ТолькоВыполненные ИЛИ Задача.Выполнена".
"Исполнитель = ЭлементыФормы.Исполнитель.Значение; Выполнена = ЭлементыФормы.Выполнено.Значение;" - да хорош уже "пробираться в анус через гланды". Один ляпнул фигню, а другой зафиксировал в "стандартах разработки"... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |