Гость
Форумы / [игнор отключен] [закрыт для гостей] / Выгрузка данных в динамический список формы обработки 1с 8.3 / 9 сообщений из 9, страница 1 из 1
25.04.2016, 11:55
    #39223713
jediAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
Здравствуйте. Делаю конфигурацию в 1с 8.3. Специфика -проектная деятельность. Есть справочники: Объекты(Код, Наименование, ГИП, РПО,СтатусОбъекта),Сотрудники(Код,Наименование...) и т.д. Документы: РаспределительнаяВедомость(Объект, ГИП, РПО, ПланГИП, ПланРПО, ФактГИП, ФактРПО, ОстатокГИП, ОстатокРПО); ОтчетРуководителяПроекта(РуководительПроекта, СтатусРуководителя,ЧасовВОтчете). Типы данных реквизитов:
ГИП,РПО - СправочникСсылкаСотрудники
СтатусОбъекта - ПеречисленияСсылка.СтатусОбъекта
ПланГИП,ПланРПО, ФактГИП, ФактРПО, ОстатокГИП,ОстатокРПО - Число, 10,3
РуководительПроекта - СправочникСсылкаСотрудники
СтатусРуководителя - ПеречисленияСсылка.СтатусРуководителя
ЧасовВОтчете - Число, 10,3
Руководители проектов (ГИП и РПО) должны формировать отчеты - сколько они затратили времени на работу по своим объектам. Дляэтого я добавил обработку с реквизитами: РуководительПроекта - СправочникСсылкаСотрудники; СтатусРуководителяПроекта - ПеречисленияСсылка.СтатусРуководителя;СтатусОбъектов - ПеречисленияСсылка.СтатусОбъекта. Также в реквизиты формы обработки добавил динамический список "ОбъектыДляОтчета",в который должен выводиться перечень объектов в зависимости от выбранного руководителя, статуса руководителя и статуса объектов. Для списка я сделал запрос(Свойство - Объект.НастройкаСписка):
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Объекты.Наименование КАК ШифрОбъекта,
Объекты.НаименованиеПолное КАК НаименованиеОбъекта,
РаспределительнаяВедомость.ВремяГИП,
РаспределительнаяВедомость.ВремяРуководителяПО,
РаспределительнаяВедомость.ФактГИП,
РаспределительнаяВедомость.ФактРПО,
РаспределительнаяВедомость.ОстатокГИП,
РаспределительнаяВедомость.ОстатокРПО,
Объекты.Активность КАК СтатусОбъекта
ИЗ
Справочник.Объекты КАК Объекты
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределительнаяВедомость КАК РаспределительнаяВедомость
ПО (РаспределительнаяВедомость.Объект = Объекты.Ссылка)
ГДЕ
(Объекты.ГИП = &ГИП
И Объекты.Активность = &СтатусОбъекта
ИЛИ Объекты.РуководительПО = &РПО
И Объекты.Активность = &СтатусОбъекта)

в модуле формы обработки написал код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

	
	Объект.РуководительПроекта = ПараметрыСеанса.ТекущийПользователь.ФизЛицо;
	//Объект.Подразделение = ПараметрыСеанса.ТекущийПользователь.ФизЛицо.Подразделение;
		УстановитьЗапросПоОбъектам();
	КонецПроцедуры
&НаСервере
Процедура УстановитьЗапросПоОбъектам()
	Если Объект.СтатусРуководителя=Перечисления.СтатусРуководителяПроекта.ГИП Тогда
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("ГИП",Объект.РуководительПроекта);
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("СтатусОбъекта",Объект.СтатусОбъектов);
КонецЕсли;
Если Объект.СтатусРуководителя=Перечисления.СтатусРуководителяПроекта.РПО Тогда
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("РуководительПО",Объект.РуководительПроекта);
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("СтатусОбъекта",Объект.СтатусОбъектов);
КонецЕсли;
КонецПроцедуры

&НаКлиенте
Процедура СтатусОбъектовПриИзменении(Элемент)
	// Вставить содержимое обработчика.
УстановитьЗапросПоОбъектам();	
КонецПроцедуры


При запуске в режиме предприятия получаю ошибку:
Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(20, 17)}: Не задано значение параметра "ГИП"
(Объекты.ГИП = <<?>>&ГИП

Что не так? где что я неправильно делаю? помогите пожалуйста.
...
Рейтинг: 0 / 0
25.04.2016, 12:22
    #39223741
Последний выдох ГПЖ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
условие не срабатывает, параметры не запонляются
...
Рейтинг: 0 / 0
25.04.2016, 13:45
    #39223859
jediAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
спасибо, разобрался
...
Рейтинг: 0 / 0
29.04.2016, 09:40
    #39227233
jediAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
сделал, но неправильно я логику выгрузки. Выгружаются все объекты, где выбранный сотрудник или ГИП или РПО. А нужно так: выгрузить записи где сотрудник только в одном статусе - только ГИП или только РПО. Соответственно для ГИП свои реквизиты -ПланГИП,ФактГИП,ОстатокГИП, ПланРПО, ФактРПО, ОстатокРПО. Т.е. надо перезаписывать запрос данных списка в зависимости от выбранного статуса руководителя. Пытался это сделать так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

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


ОбъектыДляотчета - реквизит формы обработки.Тип - динамический список.СтатусОбъектов -реквизит,тип -ПеречисленияСсылка.СтатусыОбъектов.
При выборе статуса объекта на форме обработки в режиме предприятия вылетают сообщения об ошибке:
{Обработка.ВводОтчетовРуководителейПроектов.Форма.Форма.Форма(11)}: Ошибка при вызове метода контекста (УстановитьЗначениеПараметра)
ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("РПО",Объект.РуководительПроекта);
по причине:
Параметр с указанным именем не найден

Что не так? помогите пожалуйста.
...
Рейтинг: 0 / 0
29.04.2016, 11:27
    #39227329
Программист 1с
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
Объект.РуководительПроекта не существует?
...
Рейтинг: 0 / 0
29.04.2016, 11:35
    #39227334
jediAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
существует - это реквизит обработки, тип - СправочникСсылка.Сотрудники
...
Рейтинг: 0 / 0
29.04.2016, 13:16
    #39227429
javapecker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
jediAlex, у вас в первом запросе нет рпо, а установить его пытаетесь
...
Рейтинг: 0 / 0
29.04.2016, 13:39
    #39227443
jediAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
сделал так:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("ГИП",Объект.РуководительПроекта);
  	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("СтатусОбъекта",Объект.СтатусОбъектов);
	Если Объект.СтатусРуководителя=Перечисления.СтатусРуководителяПроекта.ГИП Тогда
	ОбъектыДляОтчета.ТекстЗапроса="ВЫБРАТЬ РАЗРЕШЕННЫЕ
                              |	Объекты.НаименованиеПолное КАК НаименованиеОбъекта,
                              |	РаспределительнаяВедомость.ВремяГИП,
                              |	РаспределительнаяВедомость.ФактГИП,
                              |	РаспределительнаяВедомость.ОстатокГИП,
                              |	Объекты.Активность КАК СтатусОбъекта,
                              |	Объекты.Ссылка КАК ШифрОбъекта
                              |ИЗ
                              |	Справочник.Объекты КАК Объекты
                              |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределительнаяВедомость КАК РаспределительнаяВедомость
                              |		ПО (РаспределительнаяВедомость.Объект = Объекты.Ссылка)
                              |ГДЕ
                              |	Объекты.ГИП = &ГИП
                              |	И Объекты.Активность = &СтатусОбъекта
                              |
                              |СГРУППИРОВАТЬ ПО
                              |	Объекты.НаименованиеПолное,
                              |	РаспределительнаяВедомость.ВремяГИП,
                              |	РаспределительнаяВедомость.ФактГИП,
                              |	РаспределительнаяВедомость.ОстатокГИП,
                              |	Объекты.Активность,
                              |	Объекты.Ссылка";
							  
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("ГИП",Объект.РуководительПроекта);
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("СтатусОбъекта",Объект.СтатусОбъектов);
КонецЕсли;
Если Объект.СтатусРуководителя=Перечисления.СтатусРуководителяПроекта.РПО Тогда
ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("РПО",Объект.РуководительПроекта);	
ОбъектыДляОтчета.ТекстЗапроса="ВЫБРАТЬ РАЗРЕШЕННЫЕ
                              |	Объекты.НаименованиеПолное КАК НаименованиеОбъекта,
                              |	РаспределительнаяВедомость.ВремяРуководителяПО,
                              |	РаспределительнаяВедомость.ФактРПО,
                              |	РаспределительнаяВедомость.ОстатокРПО,
                              |	Объекты.Активность КАК СтатусОбъекта,
                              |	Объекты.Ссылка КАК ШифрОбъекта
                              |ИЗ
                              |	Справочник.Объекты КАК Объекты
                              |		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределительнаяВедомость КАК РаспределительнаяВедомость
                              |		ПО (РаспределительнаяВедомость.Объект = Объекты.Ссылка)
                              |ГДЕ
                              |	Объекты.РуководительПО = &РПО
                              |	И Объекты.Активность = &СтатусОбъекта
                              |
                              |СГРУППИРОВАТЬ ПО
                              |	Объекты.НаименованиеПолное,
                              |	РаспределительнаяВедомость.ВремяРуководителяПО,
                              |	РаспределительнаяВедомость.ФактРПО,
                              |	РаспределительнаяВедомость.ОстатокРПО,
                              |	Объекты.Активность,
                              |	Объекты.Ссылка";
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("РПО",Объект.РуководительПроекта);
	ОбъектыДляОтчета.Параметры.УстановитьЗначениеПараметра("СтатусОбъекта",Объект.СтатусОбъектов);
КонецЕсли;
КонецПроцедуры


ругается при запуске приложения:Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанныхДинамическогоСписка"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(14, 17)}: Не задано значение параметра "ГИП"
(Объекты.ГИП = <<?>>&ГИП
...
Рейтинг: 0 / 0
29.04.2016, 13:42
    #39227447
jediAlex
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка данных в динамический список формы обработки 1с 8.3
в свойстве "Настройка списка" самого реквизита лежит запрос:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	Объекты.НаименованиеПолное КАК НаименованиеОбъекта,
	РаспределительнаяВедомость.ВремяГИП КАК ПланГИП,
	РаспределительнаяВедомость.ФактГИП,
	РаспределительнаяВедомость.ОстатокГИП,
	Объекты.Активность КАК СтатусОбъекта,
	Объекты.Ссылка КАК ШифрОбъекта,
	РаспределительнаяВедомость.ВремяРуководителяПО КАК ПланРПО,
	РаспределительнаяВедомость.ФактРПО,
	РаспределительнаяВедомость.ОстатокРПО
ИЗ
	Справочник.Объекты КАК Объекты
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределительнаяВедомость КАК РаспределительнаяВедомость
		ПО (РаспределительнаяВедомость.Объект = Объекты.Ссылка)
ГДЕ
	(Объекты.ГИП = &ГИП
				И Объекты.Активность = &СтатусОбъекта
			ИЛИ Объекты.РуководительПО = &РПО
				И Объекты.Активность = &СтатусОбъекта)

СГРУППИРОВАТЬ ПО
	Объекты.Ссылка,
	РаспределительнаяВедомость.ВремяРуководителяПО,
	РаспределительнаяВедомость.ВремяГИП,
	РаспределительнаяВедомость.ФактГИП,
	РаспределительнаяВедомость.ОстатокГИП,
	Объекты.Активность,
	РаспределительнаяВедомость.ФактРПО,
	РаспределительнаяВедомость.ОстатокРПО,
	Объекты.НаименованиеПолное


По условиюзадачи,текс то запроса нужно менять в зависимости от выбранного статуса руководителя и статуса объекта... Не задавать запрос в настройке реквизита платформа не дает. Ругается "Ожидается слово ВЫБРАТЬ..."
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / Выгрузка данных в динамический список формы обработки 1с 8.3 / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]