Как заполнить несколько областей макета и вывести их рядом?

1. arsen_botashev 27.02.19 11:25 Сейчас в теме
Здравствуйте, проблема в следующем: необходимо из 3 разных запросов, заполнить 3 области, и просто вывести их параллельно друг другу.
Вопрос, можно ли это реализовать, если да то как?
По теме из базы знаний
Найденные решения
24. dandykry 10 27.02.19 14:50 Сейчас в теме
(23)
Скопируй то что есть, чтоб была архивная копия.
Сделай макет, в котором будет 1 строка со всеми параметрами.
http://prntscr.com/mqsz6n - чтоб вот так в макете было. В соседних ячейках.
Ниже запрос. Я мог накосячить, потому что у меня нет базы с такими метаданными. Писал без консоли запросов.
Дальше 1 циклом заполняешь свою область и выводишь

//Таблица бизнес-процесса
	Запрос = Новый Запрос("ВЫБРАТЬ
	| 	СнижениеРисковПричины.Ссылка,
	|  СнижениеРисковПричины.Риск,
	|  СнижениеРисковПричины.Причина,
	|  СнижениеРисковПричины.Мероприятие,
	|  СнижениеРисковПричины.Ответственный,
	|  СнижениеРисковПричины.Срок
	|ПОМЕСТИТЬ ВТ_Таблица
	|ИЗ
	|    БизнесПроцесс.СнижениеРисков.Причины КАК СнижениеРисковПричины
	|  ГДЕ
	|     СнижениеРисковПричины.Ссылка = &Ссылка;
	|
	//ПервыйДокумент
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс КАК БизнесПроцесс,
	|ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	|ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	|ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР
	|ПОМЕСТИТЬ ПервыйДокумент
	| ИЗ     
	|Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
	|       
	|ГДЕ
	|    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка
	|
	|УПОРЯДОЧИТЬ ПО
	|    ОценкаЗначимостиРискаОценка.Ссылка.Дата УБЫВ;
	//ВторойДокумент
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс КАК БизнесПроцесс,
	|ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	|ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	|ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР
	|ПОМЕСТИТЬ ВторойДокумент
	| ИЗ     
	|Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
	|       
	|ГДЕ
	|    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка
	|
	|УПОРЯДОЧИТЬ ПО
	|    ОценкаЗначимостиРискаОценка.Ссылка.Дата Возр;
	| 
	|ВЫБРАТЬ
	|ВТ_Таблица.Риск,
	|ВТ_Таблица.Причина,
	|ВТ_Таблица.Мероприятие,
	|ВТ_Таблица.Ответственный,
	|ВТ_Таблица.Срок,
	|ПервыйДокумент.ВР,
	|ПервыйДокумент.ПР,
	|ПервыйДокумент.ЗР,
	|ВторойДокумент.ВР КАК ВР1,
	|ВторойДокумент.ПР КАК ПР1,
	|ВторойДокумент.ЗР КАК ЗР1
	|ИЗ ВТ_Таблица КАК ВТ_Таблица
	|ЛЕВОЕ СОЕДИНЕНИЕ ПервыйДокумент КАК ПервыйДокумент
	|ПО  ВТ_Таблица.Ссылка = ПервыйДокумент.БизнесПроцесс
	|ЛЕВОЕ СОЕДИНЕНИЕ ВторойДокумент КАК ВторойДокумент
	|ПО  ВТ_Таблица.Ссылка = ВторойДокумент.БизнесПроцесс");
	
        Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);

	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	
	Пока РезультатЗапроса.Следующий() Цикл
		  ОбластьТаблица.параметры.Заполнить(РезультатЗапроса);
	КонецЦикла;
Показать

UP - исправил ошибку. Выделил жирным
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 10 27.02.19 11:45 Сейчас в теме
(1)ТабличныйДокумент.Присоединить()
3. arsen_botashev 27.02.19 11:52 Сейчас в теме
(2) Да, я пытался использовать этот метод, но у меня не получилось, вот код, подскажите куда надо вставить?
	ТабДок = Новый ТабличныйДокумент;
	ТабДок.Очистить();
	Получить = РеквизитФормыВЗначение("Объект");
	Макет = Получить.ПолучитьМакет("ПечатнаяФорма");
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовокшапка");
	ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
	ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
	
	// Получаем шапку
	Запрос1 = Новый Запрос;
	Запрос1.Текст = 
	"ВЫБРАТЬ
	|	СнижениеРисков.Номер,
	|	СнижениеРисков.Дата,
	|	СнижениеРисков.Автор
	|ИЗ
	|	БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
	|ГДЕ
	|	СнижениеРисков.Ссылка = &Ссылка";
	
	Запрос1.УстановитьПараметр("Ссылка", Объект.Ссылка);
	РезультатЗапроса1 = Запрос1.Выполнить();
	Выборка1 = РезультатЗапроса1.Выбрать();
	ТабДок.Вывести(ОбластьЗаголовок);		
	Пока выборка1.Следующий() Цикл
		ОбластьШапка.Параметры.Заполнить(Выборка1);
		ТабДок.Вывести(ОбластьШапка);
	КонецЦикла;

	// Получаем табличную часть
	Запрос2 = Новый Запрос;
	Запрос2.Текст = 
		"ВЫБРАТЬ
		|	СнижениеРисков.Причины.(
		|		Риск,
		|		Причина,
		|		Мероприятие,
		|		Ответственный,
		|		Срок
		|	)
		|ИЗ
		|	БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
		|ГДЕ
		|	СнижениеРисков.Ссылка = &Ссылка";
	
	Запрос2.УстановитьПараметр("Ссылка", Объект.Ссылка);
	
	РезультатЗапроса2 = Запрос2.Выполнить();
	
	Выборка2 = РезультатЗапроса2.Выбрать();
	
	Пока Выборка2.Следующий() Цикл
		ТабДок.Вывести(ОбластьЗаголовокТаблицы);
		ВыборкаПричины = Выборка2.Причины.Выбрать();
		Пока ВыборкаПричины.Следующий() Цикл
			ОбластьТаблица.параметры.заполнить(ВыборкаПричины);
			ТабДок.Вывести(ОбластьТаблица);
			КонецЦикла;
	КонецЦикла;
	
	 
	ТабДок.ОтображатьСетку = Ложь;
	ТабДок.Защита = Ложь;
	ТабДок.ТолькоПросмотр = Истина;
	ТабДок.ОтображатьЗаголовки = Ложь;
	Возврат ТабДок;	
Показать
4. dandykry 10 27.02.19 11:55 Сейчас в теме
(3) А как в итоге должно все выглядеть?)))) Параллельно-горизонтально или паралельно вертикально?
5. arsen_botashev 27.02.19 11:59 Сейчас в теме
(4)Примерно нарисую как должно все выглядеть:
Как у меня щас:

Шапка
Область1
Область2
Область3

Как должно быть:

Шапка
Область1, Область2, Область3

В коде который я скинул, еще нет Областей 2 и 3, там только шапка и область1, я их добавлю, но как все должно выглядеть я нарисовал.
6. Dremlin88 27.02.19 12:07 Сейчас в теме
(5) Если я правильно понял то! легче Области не только по строкам, но и по столбцам создать и выводить присоединением.

Т.Е. в макете:

| О1 | О2 | О3
Шапка |
Строка |

А в коде:
Вывести(Шапка)
Вывести(Строка|О1)
Присоединить(Строка|О2)
Присоединить(Строка|О3)
7. dandykry 10 27.02.19 12:08 Сейчас в теме
(5)
ТабличныйДокументИтоговый = Новый ТабличныйДокумент;
ТабличныйДокументКолонка1 = Новый ТабличныйДокумент;
ТабличныйДокументКолонка2= Новый ТабличныйДокумент;
ТабличныйДокументКолонка3 = Новый ТабличныйДокумент;


 Получить = РеквизитФормыВЗначение("Объект");
    Макет = Получить.ПолучитьМакет("ПечатнаяФорма");
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовокшапка");
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
    ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
    
    // Получаем шапку
    Запрос1 = Новый Запрос;
    Запрос1.Текст = 
    "ВЫБРАТЬ
    |    СнижениеРисков.Номер,
    |    СнижениеРисков.Дата,
    |    СнижениеРисков.Автор
    |ИЗ
    |    БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
    |ГДЕ
    |    СнижениеРисков.Ссылка = &Ссылка";
    
    Запрос1.УстановитьПараметр("Ссылка", Объект.Ссылка);
    РезультатЗапроса1 = Запрос1.Выполнить();
    Выборка1 = РезультатЗапроса1.Выбрать();
    ТабДок.Вывести(ОбластьЗаголовок);        
    Пока выборка1.Следующий() Цикл
        ОбластьШапка.Параметры.Заполнить(Выборка1);
        ТабличныйДокументКолонка1 .Вывести(ОбластьШапка);
    КонецЦикла;

    // Получаем табличную часть
    Запрос2 = Новый Запрос;
    Запрос2.Текст = 
        "ВЫБРАТЬ
        |    СнижениеРисков.Причины.(
        |        Риск,
        |        Причина,
        |        Мероприятие,
        |        Ответственный,
        |        Срок
        |    )
        |ИЗ
        |    БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
        |ГДЕ
        |    СнижениеРисков.Ссылка = &Ссылка";
    
    Запрос2.УстановитьПараметр("Ссылка", Объект.Ссылка);
    
    РезультатЗапроса2 = Запрос2.Выполнить();
    
    Выборка2 = РезультатЗапроса2.Выбрать();
    
    Пока Выборка2.Следующий() Цикл
        ТабДок.Вывести(ОбластьЗаголовокТаблицы);
        ВыборкаПричины = Выборка2.Причины.Выбрать();
        Пока ВыборкаПричины.Следующий() Цикл
            ОбластьТаблица.параметры.заполнить(ВыборкаПричины);
            ТабличныйДокументКолонка2.Вывести(ОбластьТаблица);
            КонецЦикла;
    КонецЦикла;

//ТабличныйДокументКолонка3 

ТабличныйДокументИтоговый .вывести(ТабличныйДокументКолонка1);
ТабличныйДокументИтоговый .Присоединить(ТабличныйДокументКолонка2);
ТабличныйДокументИтоговый .Присоединить(ТабличныйДокументКолонка3);
Показать
8. arsen_botashev 27.02.19 12:50 Сейчас в теме
(7)Получилось, но выводится так:
Шапка
Область1                     Область2

Области слишком далеко друг от друга, как с этим быть?
9. dandykry 10 27.02.19 12:55 Сейчас в теме
(8) Хотя бы 1 скриншот пришлите. Ну как в тумане на ощупь.

В идеале "Хочу вот так, вот отсюда, имею вот так. Макет вот такой" давно бы уже все ответы получили бы
10. arsen_botashev 27.02.19 13:04 Сейчас в теме
(9)Должно быть как на первом рисунке
А уменя как на втором рисунке

Мой код(Говнокод):
ТабДок = Новый ТабличныйДокумент;
	ТабДок1 = Новый ТабличныйДокумент;
	ТабДок2 = Новый ТабличныйДокумент;
	ТабДок3 = Новый ТабличныйДокумент;
	ТабДок.Очистить();
	Получить = РеквизитФормыВЗначение("Объект");
	Макет = Получить.ПолучитьМакет("ПечатнаяФорма");
	ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовокшапка");
	ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
	ОбластьЗаголовокТаблицы = Макет.ПолучитьОбласть("ЗаголовокТаблицы");
	ОбластьТаблица = Макет.ПолучитьОбласть("Таблица");
	ОбластьОц = Макет.ПолучитьОбласть("Оценка");
	ОбластьОценкаЗаголовок = Макет.ПолучитьОбласть("ЗаголовокОценка");
	
	// Получаем шапку
	Запрос1 = Новый Запрос;
	Запрос1.Текст = 
	"ВЫБРАТЬ
	|	СнижениеРисков.Номер,
	|	СнижениеРисков.Дата,
	|	СнижениеРисков.Автор
	|ИЗ
	|	БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
	|ГДЕ
	|	СнижениеРисков.Ссылка = &Ссылка";
	
	Запрос1.УстановитьПараметр("Ссылка", Объект.Ссылка);
	РезультатЗапроса1 = Запрос1.Выполнить();
	Выборка1 = РезультатЗапроса1.Выбрать();
	ТабДок1.Вывести(ОбластьЗаголовок);		
	Пока выборка1.Следующий() Цикл
		ОбластьШапка.Параметры.Заполнить(Выборка1);
		ТабДок1.Вывести(ОбластьШапка);
	КонецЦикла;

	// Получаем табличную часть
	Запрос2 = Новый Запрос;
	Запрос2.Текст = 
		"ВЫБРАТЬ
		|	СнижениеРисков.Причины.(
		|		Риск,
		|		Причина,
		|		Мероприятие,
		|		Ответственный,
		|		Срок
		|	),
		|	ОценкаЗначимостиРиска.Оценка.(
		|		ВероятностьРиска КАК ВР,
		|		ПоследствияРиска КАК ПР,
		|		ЗначимостьРиска КАК ЗР
		|	)
		|ИЗ
		|	БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОценкаЗначимостиРиска КАК ОценкаЗначимостиРиска
		|		ПО СнижениеРисков.Ссылка = ОценкаЗначимостиРиска.БизнесПроцесс
		|ГДЕ
		|	СнижениеРисков.Ссылка = &Ссылка";
	
	Запрос2.УстановитьПараметр("Ссылка", Объект.Ссылка);
	
	РезультатЗапроса2 = Запрос2.Выполнить();
	
	Выборка2 = РезультатЗапроса2.Выбрать();
	
	Пока Выборка2.Следующий() Цикл
		ТабДок2.Вывести(ОбластьЗаголовокТаблицы);
		ВыборкаПричины = Выборка2.Причины.Выбрать();
		Пока ВыборкаПричины.Следующий() Цикл

			ВыборкаОценка = Выборка2.Оценка.Выбрать();
			Пока ВыборкаОценка.Следующий() Цикл 
				ОбластьТаблица.параметры.Заполнить(ВыборкаОценка);
			КонецЦикла;
			ОбластьТаблица.параметры.заполнить(ВыборкаПричины);
			ТабДок2.Вывести(ОбластьТаблица);
		КонецЦикла;
	КонецЦикла;
	 	
	Запрос3 = Новый Запрос;
	Запрос3.Текст = 
		"ВЫБРАТЬ ПЕРВЫЕ 1
		|	ОценкаЗначимостиРиска.Оценка.(
		|		ВероятностьРиска КАК ВР1,
		|		ПоследствияРиска КАК ПР1,
		|		ЗначимостьРиска КАК ЗР1
		|	)
		|ИЗ
		|	БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОценкаЗначимостиРиска КАК ОценкаЗначимостиРиска
		|		ПО СнижениеРисков.Ссылка = ОценкаЗначимостиРиска.БизнесПроцесс
		|ГДЕ
		|	СнижениеРисков.Ссылка = &Ссылка
		|
		|УПОРЯДОЧИТЬ ПО
		|	ОценкаЗначимостиРиска.Дата УБЫВ";
	
	Запрос3.УстановитьПараметр("Ссылка", Объект.Ссылка);
	
	РезультатЗапроса3 = Запрос3.Выполнить();
	
	Выборка3 = РезультатЗапроса3.Выбрать();
	
	Пока Выборка3.Следующий() Цикл  
		ТабДок3.Вывести(ОбластьОценкаЗаголовок);
		ВыборкаОц = Выборка3.Оценка.выбрать();
		Пока ВыборкаОц.Следующий() Цикл 
			ОбластьОц.Параметры.Заполнить(ВыборкаОц);
			ТабДок3.Вывести(ОбластьОц);
		КонецЦикла;
	КонецЦикла;
	
	ТабДок.Вывести(ТабДок1);
	Табдок.Присоединить(ТабДок2);
	ТабДок.Присоединить(ТабДок3);
	ТабДок.ОтображатьСетку = Ложь;
	ТабДок.Защита = Ложь;
	ТабДок.ТолькоПросмотр = Истина;
	ТабДок.ОтображатьЗаголовки = Ложь;
	Возврат ТабДок;
Показать
Прикрепленные файлы:
11. dandykry 10 27.02.19 13:36 Сейчас в теме
(10) Такс...Лучше всего сделать как сказали в 6

для этого нужно переписать на 1 запрос

правильно ли я понял, 1ый блок оценок от второго отличается только порядком?
12. arsen_botashev 27.02.19 13:42 Сейчас в теме
(11)оценки типа: Вер, Пос, Знач.
В первом случае выводятся оценки из первого документа, во втором случае из второго.
То есть, Есть два документа что то типа до и после, До там значения 1 1 1, после 1 2 2, как то так
14. dandykry 10 27.02.19 13:56 Сейчас в теме
(12) Я вижу 1 и тот же Документ, но ладно.
Запрос2.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос3.УстановитьПараметр("Ссылка", Объект.Ссылка);

Пустота там, потому что макет 1 и тот же. грубо говоря ТабличныйДокумент3 имеет в себе параметры
Риск,
Причина,
Мероприятие,
Ответственный,
Срок

Но они пустые.
Проще всего сделай отдельно макет с областями Оценок.
http://prntscr.com/mqs615 - вот тут вот это, но пустое
Или сделай как посоветовали в 6
13. arsen_botashev 27.02.19 13:53 Сейчас в теме
(11)Я переделал макет, видимо в макете проблема была какая - то, что то типа были невидимые ячейки, и область 2 присоединялась после этих невидимых ячеек
15. dandykry 10 27.02.19 13:56 Сейчас в теме
(13) Тут инфорстарт падал. Не мог написать сообщение. Я написал почему
17. arsen_botashev 27.02.19 14:09 Сейчас в теме
(15)Нет, табдок 3 имел в себе только 3 параметра, это ВР, ПР,ЗР.
Я создал заново такой же макет, и все стало на свои места.
Спасибо большое.
Если не сложно ответьте на еще один вопрос?

Как в выборке выбрать первую строку и запихнуть его в параметр?

Запрос2 = Новый Запрос;
	Запрос2.Текст = 
		"ВЫБРАТЬ
		|	СнижениеРисков.Причины.(
		|		Риск,
		|		Причина,
		|		Мероприятие,
		|		Ответственный,
		|		Срок
		|	),
		|	ОценкаЗначимостиРиска.Оценка.(
		|		ВероятностьРиска КАК ВР,
		|		ПоследствияРиска КАК ПР,
		|		ЗначимостьРиска КАК ЗР
		|	)
		|ИЗ
		|	БизнесПроцесс.СнижениеРисков КАК СнижениеРисков
		|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОценкаЗначимостиРиска КАК ОценкаЗначимостиРиска
		|		ПО СнижениеРисков.Ссылка = ОценкаЗначимостиРиска.БизнесПроцесс
		|ГДЕ
		|	СнижениеРисков.Ссылка = &Ссылка";
	
	Запрос2.УстановитьПараметр("Ссылка", Объект.Ссылка);
	
	РезультатЗапроса2 = Запрос2.Выполнить();
	
	Выборка2 = РезультатЗапроса2.Выбрать();
	
	Пока Выборка2.Следующий() Цикл
		ТабДок2.Вывести(ОбластьЗаголовокТаблицы);
		ВыборкаПричины = Выборка2.Причины.Выбрать();
		Пока ВыборкаПричины.Следующий() Цикл

			ВыборкаОценка = Выборка2.Оценка.Выбрать();    //// Вот тут надо как-то выбрать первую строку и только ей заполнить параметры
			Пока ВыборкаОценка.Следующий() Цикл 
				ОбластьТаблица.параметры.Заполнить(ВыборкаОценка);
			КонецЦикла;
			ОбластьТаблица.параметры.заполнить(ВыборкаПричины);
			ТабДок2.Вывести(ОбластьТаблица);
		КонецЦикла;
	КонецЦикла;
Показать


У меня получается в выборке 2 документа, поэтому и на макете получается две таблицы. а надо в выборке выбрать 1 документ.
Как - то так.
Можно в пример привести еще:
Выборка = результатЗапроса.Выполнить().Выгрузить()[0] - по индексу
выбираем первую строку, как в выборке сделать примерно так же
На скрине покажу.
У меня получается: Первый Скрин
Надо как на: Второй скрин
Прикрепленные файлы:
18. dandykry 10 27.02.19 14:15 Сейчас в теме
(17)
Пока ВыборкаОценка.Следующий() Цикл
ОбластьТаблица.параметры.Заполнить(ВыборкаОценка);
КонецЦикла;



ВыборкаОценка.Следующий() ;
ОбластьТаблица.параметры.Заполнить(ВыборкаОценка); без цикла
20. arsen_botashev 27.02.19 14:23 Сейчас в теме
(18)сделал без цикла, изменений нет
22. dandykry 10 27.02.19 14:28 Сейчас в теме
(20) Жди 5 мин, Сейчас покажу.
23. arsen_botashev 27.02.19 14:29 Сейчас в теме
24. dandykry 10 27.02.19 14:50 Сейчас в теме
(23)
Скопируй то что есть, чтоб была архивная копия.
Сделай макет, в котором будет 1 строка со всеми параметрами.
http://prntscr.com/mqsz6n - чтоб вот так в макете было. В соседних ячейках.
Ниже запрос. Я мог накосячить, потому что у меня нет базы с такими метаданными. Писал без консоли запросов.
Дальше 1 циклом заполняешь свою область и выводишь

//Таблица бизнес-процесса
	Запрос = Новый Запрос("ВЫБРАТЬ
	| 	СнижениеРисковПричины.Ссылка,
	|  СнижениеРисковПричины.Риск,
	|  СнижениеРисковПричины.Причина,
	|  СнижениеРисковПричины.Мероприятие,
	|  СнижениеРисковПричины.Ответственный,
	|  СнижениеРисковПричины.Срок
	|ПОМЕСТИТЬ ВТ_Таблица
	|ИЗ
	|    БизнесПроцесс.СнижениеРисков.Причины КАК СнижениеРисковПричины
	|  ГДЕ
	|     СнижениеРисковПричины.Ссылка = &Ссылка;
	|
	//ПервыйДокумент
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс КАК БизнесПроцесс,
	|ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	|ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	|ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР
	|ПОМЕСТИТЬ ПервыйДокумент
	| ИЗ     
	|Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
	|       
	|ГДЕ
	|    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка
	|
	|УПОРЯДОЧИТЬ ПО
	|    ОценкаЗначимостиРискаОценка.Ссылка.Дата УБЫВ;
	//ВторойДокумент
	|ВЫБРАТЬ ПЕРВЫЕ 1
	|ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс КАК БизнесПроцесс,
	|ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	|ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	|ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР
	|ПОМЕСТИТЬ ВторойДокумент
	| ИЗ     
	|Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
	|       
	|ГДЕ
	|    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка
	|
	|УПОРЯДОЧИТЬ ПО
	|    ОценкаЗначимостиРискаОценка.Ссылка.Дата Возр;
	| 
	|ВЫБРАТЬ
	|ВТ_Таблица.Риск,
	|ВТ_Таблица.Причина,
	|ВТ_Таблица.Мероприятие,
	|ВТ_Таблица.Ответственный,
	|ВТ_Таблица.Срок,
	|ПервыйДокумент.ВР,
	|ПервыйДокумент.ПР,
	|ПервыйДокумент.ЗР,
	|ВторойДокумент.ВР КАК ВР1,
	|ВторойДокумент.ПР КАК ПР1,
	|ВторойДокумент.ЗР КАК ЗР1
	|ИЗ ВТ_Таблица КАК ВТ_Таблица
	|ЛЕВОЕ СОЕДИНЕНИЕ ПервыйДокумент КАК ПервыйДокумент
	|ПО  ВТ_Таблица.Ссылка = ПервыйДокумент.БизнесПроцесс
	|ЛЕВОЕ СОЕДИНЕНИЕ ВторойДокумент КАК ВторойДокумент
	|ПО  ВТ_Таблица.Ссылка = ВторойДокумент.БизнесПроцесс");
	
        Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);

	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	
	Пока РезультатЗапроса.Следующий() Цикл
		  ОбластьТаблица.параметры.Заполнить(РезультатЗапроса);
	КонецЦикла;
Показать

UP - исправил ошибку. Выделил жирным
26. arsen_botashev 27.02.19 15:33 Сейчас в теме
(24)Я переделал запроса, получилось так, он работает, проверил.
Сейчас буду пытаться заполнять им макет.
ВЫБРАТЬ
	СнижениеРисковПричины.Ссылка,
	СнижениеРисковПричины.Риск,
	СнижениеРисковПричины.Причина,
	СнижениеРисковПричины.Мероприятие,
	СнижениеРисковПричины.Ответственный,
	СнижениеРисковПричины.Срок
ПОМЕСТИТЬ ВТ_Таблица
ИЗ
	БизнесПроцесс.СнижениеРисков.Причины КАК СнижениеРисковПричины
ГДЕ
	СнижениеРисковПричины.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс
ПОМЕСТИТЬ ПервыйДокумент
ИЗ
	Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
	ОценкаЗначимостиРискаОценка.Ссылка.Дата ВОЗР;
	
	//////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс
ПОМЕСТИТЬ ВторойДокумент
ИЗ
	Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
	ОценкаЗначимостиРискаОценка.Ссылка.Дата УБЫВ;
////////////////////////////////////////////////////////////­/////////////////////////////////////////
ВЫБРАТЬ 
ВТ_Таблица.Риск, 
ВТ_Таблица.Причина, 
ВТ_Таблица.Мероприятие, 
ВТ_Таблица.Ответственный, 
ВТ_Таблица.Срок, 
ПервыйДокумент.ВР, 
ПервыйДокумент.ПР, 
ПервыйДокумент.ЗР, 
ВторойДокумент.ВР КАК ВР1, 
ВторойДокумент.ПР КАК ПР1, 
ВторойДокумент.ЗР КАК ЗР1 
ИЗ ВТ_Таблица КАК ВТ_Таблица 
ЛЕВОЕ СОЕДИНЕНИЕ ПервыйДокумент КАК ПервыйДокумент 
ПО ВТ_Таблица.Ссылка = ПервыйДокумент.БизнесПроцесс 
ЛЕВОЕ СОЕДИНЕНИЕ ВторойДокумент КАК ВторойДокумент 
ПО ВТ_Таблица.Ссылка = ВторойДокумент.БизнесПроцесс

Показать
25. dandykry 10 27.02.19 14:59 Сейчас в теме
(23) И у меня еще 1 вопрос. Если в документе ОценкаЗначимостиРиска в табличной части Оценки есть несколько строк, как связывать строку оценки и бизнес-процесс?
27. arsen_botashev 27.02.19 15:36 Сейчас в теме
(25)Думаю там связывается не строка оценки и бп, а строка оценки и строка тч из бп.
28. dandykry 10 27.02.19 15:39 Сейчас в теме
(27) Ну пока получается, что если в БП 2 строки и в документе 2 строки, то всего строк выйдет 4
29. arsen_botashev 27.02.19 15:45 Сейчас в теме
(28)Получилось вот как: Почти как надо, единственное почему то документ не правильно выводиться. В первом случае ВР,Пр,Зр, должны быть 1 1 1, во втором случае 2 2 2.

//////Ошибка
Вот я дурак, в макете вместо ВР1, было написано ВР. так же и с ПР и ЗР.
Все работает как мне надо!!!!
Спасибо!!!!!
Осталоьс в запросе еще некоторые данные получить, и так же вывести их в макет.
Буду разбираться как это сделать, просто с временными таблицами я плохо взаимодействую
Прикрепленные файлы:
30. dandykry 10 27.02.19 15:48 Сейчас в теме
(29)
Надо проверить правильно ли ты обозвал параметры в макете.
Что возвращает запрос.
.....
Умеешь пользоваться отладкой?
У тебя есть консоль запросов?
31. arsen_botashev 27.02.19 15:52 Сейчас в теме
(30)Вы прям как ванга, я написал в пред сообщении что макет был не правильный, потом прочитал ваше смс про макет))
Да, консоль есть, в консоли выводится все так, как надо. Я проверял.
В итоге, все получилось как надо. Спасибо большое.
32. dandykry 10 27.02.19 15:53 Сейчас в теме
(31) В макете параметры были неправильные? Я маленько не понял
33. arsen_botashev 27.02.19 15:55 Сейчас в теме
(32)Да, в макете параметры вместо <ВР1> <ПР1> <ЗР1> было <ВР> <ПР> <ЗР>
34. dandykry 10 27.02.19 15:59 Сейчас в теме
(33) Супер. Тебе осталось понять как ТЧ из бизнес-процесса связать с документом. Может по ответственному, или причине, или еще чему то.

По логике оценка ставится чему-то отдельному.
Если в целом на весь БП, то тебе просто сгруппировать нужно будет строки в запросе
35. arsen_botashev 27.02.19 16:02 Сейчас в теме
(34)Я не совсем понимаю, ТЧ связать с БП.

У меня в целом документ, связан с бп, По реквизиту "Основание", то есть эти оценки, типа 1 1 1 , 2 2 2, ни какие-то левые значения, это именно те значения, которые привязаны через документ к бп.
36. dandykry 10 27.02.19 16:09 Сейчас в теме
(35)
БП имеет таб. часть Причины в которой может быть несколько строк
ОценкаЗначимостиРиска имеет таб. часть оценка, в которой может быть несколько строк

Я просто предполагал, что оценивается каждый риск отдельно (каждая строка ТЧ бизнес-процесса имеет свои собственные оценки из ТЧ документа)

Если все хорошо, то пусть так и остается.
37. arsen_botashev 27.02.19 16:14 Сейчас в теме
(36)
Я просто предполагал, что оценивается каждый риск отдельно (каждая строка ТЧ бизнес-процесса имеет свои собственные оценки из ТЧ документа)

так и есть.

например. в тч бп написано:
Риск
Риск1
Риск2

в тч документа точно так же,
только
Риск Оценка
Риск1 1 2 4
Риск2 2 3 6


дело наверное в том, что порядок в тч документа не меняется, а остается таким же как и в тч бп, так что связывать их думаю нет смысла, хотя Вы правльно догодались об этом, ну можно условие поставить что ТЧ.Оценка.Риск.Ссылка = БП.Причины.Риск.Ссылка?

ну на данный момент у меня все, как надо))


Поправка. оказалось НЕ все как мне надо.
Надо связывать каждую строку, Вы правильно написали, спасибо за мысль
38. dandykry 10 27.02.19 16:21 Сейчас в теме
(37)
Значит здесь нужно связывать не только по документу, но еще и по риску

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
    ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
    ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
    ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс КАК БизнесПроцесс ,
    ОценкаЗначимостиРискаОценка.КакНазываетсяПолеРискаВДокументеВТЧ КАК Риск
ПОМЕСТИТЬ ПервыйДокумент
ИЗ
    Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
    ОценкаЗначимостиРискаОценка.Ссылка.Дата ВОЗР;
    
    //////////////////////////////////////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
    ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
    ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
    ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс КАК БизнесПроцесс ,
    ОценкаЗначимостиРискаОценка.КакНазываетсяПолеРискаВДокументеВТЧ КАК Риск
ПОМЕСТИТЬ ВторойДокумент
ИЗ
    Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
    ОценкаЗначимостиРискаОценка.Ссылка.Дата УБЫВ;

ВЫБРАТЬ 
ВТ_Таблица.Риск, 
ВТ_Таблица.Причина, 
ВТ_Таблица.Мероприятие, 
ВТ_Таблица.Ответственный, 
ВТ_Таблица.Срок, 
ЕСТЬNULL(ПервыйДокумент.ВР,  "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ВР,
ЕСТЬNULL(ПервыйДокумент.ПР,   "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ПР,
ЕСТЬNULL(ПервыйДокумент.ЗР,   "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ЗР,
ЕСТЬNULL(ВторойДокумент.ВР,  "ЗначениеКотороеПодставитсяЕслиНетОценки")  КАК ВР1, 
ЕСТЬNULL(ВторойДокумент.ПР,  "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ПР1, 
ЕСТЬNULL(ВторойДокумент.ЗР,  "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ЗР1 
ИЗ ВТ_Таблица КАК ВТ_Таблица 
ЛЕВОЕ СОЕДИНЕНИЕ ПервыйДокумент КАК ПервыйДокумент 
ПО ВТ_Таблица.Ссылка = ПервыйДокумент.БизнесПроцесс
И  ВТ_Таблица.Риск = ПервыйДокумент.Риск
ЛЕВОЕ СОЕДИНЕНИЕ ВторойДокумент КАК ВторойДокумент 
ПО ВТ_Таблица.Ссылка = ВторойДокумент.БизнесПроцесс
И  ВТ_Таблица.Риск = ВторойДокумент.Риск
Показать
39. arsen_botashev 27.02.19 16:30 Сейчас в теме
(38) Сделал, в итоге не выводятся все значения, а выводится только первые 2 строки
ВЫБРАТЬ
	СнижениеРисковПричины.Ссылка,
	СнижениеРисковПричины.Риск,
	СнижениеРисковПричины.Причина,
	СнижениеРисковПричины.Мероприятие,
	СнижениеРисковПричины.Ответственный,
	СнижениеРисковПричины.Срок
ПОМЕСТИТЬ ВТ_Таблица
ИЗ
	БизнесПроцесс.СнижениеРисков.Причины КАК СнижениеРисковПричины
ГДЕ
	СнижениеРисковПричины.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс,
	ОценкаЗначимостиРискаОценка.Риск КАК Риск
ПОМЕСТИТЬ ПервыйДокумент
ИЗ
	Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
	ОценкаЗначимостиРискаОценка.Ссылка.Дата
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс,
	ОценкаЗначимостиРискаОценка.Риск КАК Риск
ПОМЕСТИТЬ ВторойДокумент
ИЗ
	Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
	ОценкаЗначимостиРискаОценка.Ссылка.Дата УБЫВ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Таблица.Риск,
	ВТ_Таблица.Причина,
	ВТ_Таблица.Мероприятие,
	ВТ_Таблица.Ответственный,
	ВТ_Таблица.Срок,
	ПервыйДокумент.ВР,
	ПервыйДокумент.ПР,
	ПервыйДокумент.ЗР,
	ВторойДокумент.ВР КАК ВР1,
	ВторойДокумент.ПР КАК ПР1,
	ВторойДокумент.ЗР КАК ЗР1
ИЗ
	ВТ_Таблица КАК ВТ_Таблица
		ЛЕВОЕ СОЕДИНЕНИЕ ПервыйДокумент КАК ПервыйДокумент
		ПО ВТ_Таблица.Ссылка = ПервыйДокумент.БизнесПроцесс
		И ВТ_Таблица.Риск = ПервыйДокумент.Риск
		ЛЕВОЕ СОЕДИНЕНИЕ ВторойДокумент КАК ВторойДокумент
		ПО ВТ_Таблица.Ссылка = ВторойДокумент.БизнесПроцесс
		И ВТ_Таблица.Риск = ПервыйДокумент.Риск
Показать
Прикрепленные файлы:
40. dandykry 10 27.02.19 16:36 Сейчас в теме
(39) Видимо для других рисков оценок нет

Сделай вот так
ЕСТЬNULL(ПервыйДокумент.ВР, "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ВР,
ЕСТЬNULL(ПервыйДокумент.ПР, "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ПР,
ЕСТЬNULL(ПервыйДокумент.ЗР, "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ЗР,
ЕСТЬNULL(ВторойДокумент.ВР, "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ВР1,
ЕСТЬNULL(ВторойДокумент.ПР, "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ПР1,
ЕСТЬNULL(ВторойДокумент.ЗР, "ЗначениеКотороеПодставитсяЕслиНетОценки") КАК ЗР1
41. dandykry 10 27.02.19 16:37 Сейчас в теме
42. dandykry 10 27.02.19 16:42 Сейчас в теме
(39) И для второгоТоже самое. ПЕРВЫЕ 1 - это мы взяли 1 строку из ТЧ. А надо было 1 документ. Т.е нужно разбить на 2 Временные таблицы. 1 найти документ. 2 - взять из него ТЧ

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
    ОценкаЗначимостиРиска.Ссылка КАК Ссылка
ПОМЕСТИТЬ ПервыйДокумент_отбор
ИЗ
    Документ.ОценкаЗначимостиРиска КАК ОценкаЗначимостиРиска
ГДЕ
    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
    ОценкаЗначимостиРискаОценка.Ссылка.Дата
;

////////////////////////////////////////////////////////////­­////////////////////
ВЫБРАТЬ 
    ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
    ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
    ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс,
    ОценкаЗначимостиРискаОценка.Риск КАК Риск
ПОМЕСТИТЬ ПервыйДокумент
ИЗ
    ПервыйДокумент_отбор.ссылка.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
    ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
    ОценкаЗначимостиРискаОценка.Ссылка.Дата
Показать
43. arsen_botashev 27.02.19 17:07 Сейчас в теме
(42) а как сделать В конце проверку?, голову сломал не получается.
По идее надо сравнить Что риск из тч документа = риск из тч БП и ссылка на тч документа = Ссылке на док?


ВЫБРАТЬ
	СнижениеРисковПричины.Ссылка,
	СнижениеРисковПричины.Риск,
	СнижениеРисковПричины.Причина,
	СнижениеРисковПричины.Мероприятие,
	СнижениеРисковПричины.Ответственный,
	СнижениеРисковПричины.Срок
ПОМЕСТИТЬ ВТ_Таблица
ИЗ
	БизнесПроцесс.СнижениеРисков.Причины КАК СнижениеРисковПричины
ГДЕ
	СнижениеРисковПричины.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	ОценкаЗначимостиРиска.Ссылка КАК Ссылка
ПОМЕСТИТЬ ПервыйДокумент_отбор
ИЗ
	Документ.ОценкаЗначимостиРиска КАК ОценкаЗначимостиРиска
ГДЕ
	ОценкаЗначимостиРиска.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
	ОценкаЗначимостиРиска.Дата ВОЗР
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс КАК БизнесПроцесс,
	ОценкаЗначимостиРискаОценка.Риск КАК Риск,
	ОценкаЗначимостиРискаОценка.Ссылка  как Ссылка1
ПОМЕСТИТЬ ПервыйДокумент
ИЗ
	Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ ПЕРВЫЕ 1
	ОценкаЗначимостиРиска.Ссылка КАК Ссылка4
ПОМЕСТИТЬ ВторойДокумент_отбор
ИЗ
	Документ.ОценкаЗначимостиРиска КАК ОценкаЗначимостиРиска
ГДЕ
	ОценкаЗначимостиРиска.БизнесПроцесс = &Ссылка

УПОРЯДОЧИТЬ ПО
	ОценкаЗначимостиРиска.Дата УБЫВ
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
	ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
	ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР,
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс,
	ОценкаЗначимостиРискаОценка.Риск КАК Риск,
        ОценкаЗначимостиРискаОценка.Ссылка  как Ссылка2
ПОМЕСТИТЬ ВторойДокумент
ИЗ
	Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
ГДЕ
	ОценкаЗначимостиРискаОценка.Ссылка.БизнесПроцесс = &Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ВТ_Таблица.Риск,
	ВТ_Таблица.Причина,
	ВТ_Таблица.Мероприятие,
	ВТ_Таблица.Ответственный,
	ВТ_Таблица.Срок,
	ПервыйДокумент.ВР,
	ПервыйДокумент.ПР,
	ПервыйДокумент.ЗР,
	ВторойДокумент.ВР КАК ВР1,
	ВторойДокумент.ПР КАК ПР1,
	ВторойДокумент.ЗР КАК ЗР1
	ИЗ
	ВТ_Таблица КАК ВТ_Таблица
		ЛЕВОЕ СОЕДИНЕНИЕ ПервыйДокумент КАК ПервыйДокумент
		ПО ВТ_Таблица.Ссылка = ПервыйДокумент.БизнесПроцесс
			И ВТ_Таблица.Риск = ПервыйДокумент.Риск
		ЛЕВОЕ СОЕДИНЕНИЕ ВторойДокумент КАК ВторойДокумент
		ПО ВТ_Таблица.Ссылка = ВторойДокумент.БизнесПроцесс
			И (ВТ_Таблица.Риск = ПервыйДокумент.Риск)
Показать
44. arsen_botashev 27.02.19 17:45 Сейчас в теме
(42)Все, я все сделал, теперь все точно так, как и надо, спасибо большое за помощь!!!
45. dandykry 10 28.02.19 07:15 Сейчас в теме
(44) Красавчик)


ВТ_Таблица КАК ВТ_Таблица
ЛЕВОЕ СОЕДИНЕНИЕ ПервыйДокумент КАК ПервыйДокумент
ПО ВТ_Таблица.Ссылка = ПервыйДокумент.БизнесПроцесс
И ВТ_Таблица.Риск = ПервыйДокумент.Риск
ЛЕВОЕ СОЕДИНЕНИЕ ВторойДокумент КАК ВторойДокумент
ПО ВТ_Таблица.Ссылка = ВторойДокумент.БизнесПроцесс
И (ВТ_Таблица.Риск = ПервыйДокумент.Риск)

Вот тут перепутал. Во втором случае тоже ВторойДокумент должен быть.
Это как раз и есть сравнение риска в тч бп и в тч документа.
46. arsen_botashev 28.02.19 09:06 Сейчас в теме
(45)Да, я там исправил, еще вчера, и все стало как надо), похоже я там вставил строку скопировав из первого условия, и забыл исправить первый доку на второй))
Спасибо!!! еще раз
19. dandykry 10 27.02.19 14:19 Сейчас в теме
(17) Я думаю ты немного неправильно делаешь исходя из логики.

Есть бизнес-процесс СнижениеРисков. Я так понял его нужно напечатать.

Этот бизнес процесс связан с документом ОценкаЗначимостиРиска.

Так вот. Документов ОценкаЗначимостиРиска по этому безнес-процессу может быть 1, а может быть 20. Какой из них тебе нужен?
21. arsen_botashev 27.02.19 14:27 Сейчас в теме
(19)Нет, документов по этому бп может быть только 2. потому что больше двух программно запрещено создавать.
В первом случае, мне нужен первый документ по дате, допустим нужен документ с датой 26.02.2019
Во втором случае, мне нужен второй документ, у которого дата 27.02.2019
16. dandykry 10 27.02.19 14:03 Сейчас в теме
(13) Если по серьезному, то можно было обойтись 1 запросом и 1 циклом.

   "ВЫБРАТЬ
        |    СнижениеРисков.Причины.(
        |        Риск,
        |        Причина,
        |        Мероприятие,
        |        Ответственный,
        |        Срок
        |    ),
    |ИЗ
        |    БизнесПроцесс.СнижениеРисков КАК СнижениеРисков

Это можно написать по другому. Вот так. Тогда не нужно дополнительно извлекать что-то

 "ВЫБРАТЬ
        |        СнижениеРисковПричины.Риск,
        |        СнижениеРисковПричины.Причина,
        |        СнижениеРисковПричины.Мероприятие,
        |        СнижениеРисковПричины.Ответственный,
        |        СнижениеРисковПричины.Срок,
        |        ОценкаЗначимостиРискаОценка.ВероятностьРиска КАК ВР,
        |        ОценкаЗначимостиРискаОценка.ПоследствияРиска КАК ПР,
        |        ОценкаЗначимостиРискаОценка.ЗначимостьРиска КАК ЗР
        |   
        |ИЗ
        |    БизнесПроцесс.СнижениеРисков.Причины КАК СнижениеРисковПричины
        |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ОценкаЗначимостиРиска.Оценка КАК ОценкаЗначимостиРискаОценка
        |        ПО СнижениеРисковПричины.Ссылка = ОценкаЗначимостиРискаОценка.БизнесПроцесс
        |ГДЕ
        |    СнижениеРисковПричины.Ссылка = &Ссылка"
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот