Не заполняется табличная часть при вводе документа на основании(ЗУП)
30.08.2010
14:51
#1
"Здравствуйте!Скажите,пожалуйста,почему при выполнении следующей обработки табличная часть документа ВозвратНаРаботу не заполняется?Спасибо.
Запрос=Новый Запрос("ВЫБРАТЬ
| СостояниеПоДокументуОтпускаОрганизаций.Организация,
| СостояниеПоДокументуОтпускаОрганизаций.Сотрудник,
| СостояниеПоДокументуОтпускаОрганизаций.Состояние КАК ВидОтпуска,
| МИНИМУМ(СостояниеПоДокументуОтпускаОрганизаций.Период) КАК ДатаНачалаОтпуска,
| СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения КАК ДатаОкончанияОтпуска,
| ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) КАК ДатаОкончанияОтпускаПлюсОдинДень,
| СостояниеРаботниковОрганизаций.Период КАК ДатаНачалаСостоянияПослеОтпуска,
| СостояниеРаботниковОрганизаций.ПериодЗавершения КАК ДатаЗавершенияСостоянияПослеОтпуска,
| СостояниеРаботниковОрганизаций.Состояние,
| СостояниеРаботниковОрганизаций.СостояниеЗавершения
|ИЗ
| РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеПоДокументуОтпускаОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
| ПО СостояниеПоДокументуОтпускаОрганизаций.Организация = СостояниеРаботниковОрганизаций.Организация
| И СостояниеПоДокументуОтпускаОрганизаций.Сотрудник = СостояниеРаботниковОрганизаций.Сотрудник
| И (СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.Работает))
| И (ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) <= СостояниеРаботниковОрганизаций.Период)
|ГДЕ
//| СостояниеПоДокументуОтпускаОрганизаций.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| СостояниеПоДокументуОтпускаОрганизаций.Регистратор ССЫЛКА Документ.ОтпускаОрганизаций
|
|СГРУППИРОВАТЬ ПО
| СостояниеПоДокументуОтпускаОрганизаций.Организация,
| СостояниеПоДокументуОтпускаОрганизаций.Сотрудник,
| СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения,
| СостояниеРаботниковОрганизаций.Период,
| СостояниеРаботниковОрганизаций.ПериодЗавершения,
| СостояниеРаботниковОрганизаций.Состояние,
| СостояниеРаботниковОрганизаций.СостояниеЗавершения,
| СостояниеПоДокументуОтпускаОрганизаций.Состояние");
Запрос.УстановитьПараметр("Работает",Перечисления.СостоянияРаботникаОрганизации.Работает);
//Запрос.УстановитьПараметр("ДатаНачала",ДатаНачала);
//Запрос.УстановитьПараметр("ДатаОкончания",ДатаОкончания);
Результат=Запрос.Выполнить();
Запрос.Выполнить().Выгрузить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ДокументОбъект=Документы.ВозвратНаРаботуОрганизаций.СоздатьДокумент();
ДокументОбъект.Заполнить(ВЫБОРКА.Ссылка);
ДокументОбъект.Дата=ТекущаяДата();
ДокументОбъект.Записать();
//ДокументОбъект.ПолучитьФорму().Открыть();"
Запрос=Новый Запрос("ВЫБРАТЬ
| СостояниеПоДокументуОтпускаОрганизаций.Организация,
| СостояниеПоДокументуОтпускаОрганизаций.Сотрудник,
| СостояниеПоДокументуОтпускаОрганизаций.Состояние КАК ВидОтпуска,
| МИНИМУМ(СостояниеПоДокументуОтпускаОрганизаций.Период) КАК ДатаНачалаОтпуска,
| СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения КАК ДатаОкончанияОтпуска,
| ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) КАК ДатаОкончанияОтпускаПлюсОдинДень,
| СостояниеРаботниковОрганизаций.Период КАК ДатаНачалаСостоянияПослеОтпуска,
| СостояниеРаботниковОрганизаций.ПериодЗавершения КАК ДатаЗавершенияСостоянияПослеОтпуска,
| СостояниеРаботниковОрганизаций.Состояние,
| СостояниеРаботниковОрганизаций.СостояниеЗавершения
|ИЗ
| РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеПоДокументуОтпускаОрганизаций
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеРаботниковОрганизаций КАК СостояниеРаботниковОрганизаций
| ПО СостояниеПоДокументуОтпускаОрганизаций.Организация = СостояниеРаботниковОрганизаций.Организация
| И СостояниеПоДокументуОтпускаОрганизаций.Сотрудник = СостояниеРаботниковОрганизаций.Сотрудник
| И (СостояниеРаботниковОрганизаций.Состояние <> ЗНАЧЕНИЕ(Перечисление.СостоянияРаботникаОрганизации.Работает))
| И (ДОБАВИТЬКДАТЕ(СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения, ДЕНЬ, 1) <= СостояниеРаботниковОрганизаций.Период)
|ГДЕ
//| СостояниеПоДокументуОтпускаОрганизаций.Регистратор.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
| СостояниеПоДокументуОтпускаОрганизаций.Регистратор ССЫЛКА Документ.ОтпускаОрганизаций
|
|СГРУППИРОВАТЬ ПО
| СостояниеПоДокументуОтпускаОрганизаций.Организация,
| СостояниеПоДокументуОтпускаОрганизаций.Сотрудник,
| СостояниеПоДокументуОтпускаОрганизаций.ПериодЗавершения,
| СостояниеРаботниковОрганизаций.Период,
| СостояниеРаботниковОрганизаций.ПериодЗавершения,
| СостояниеРаботниковОрганизаций.Состояние,
| СостояниеРаботниковОрганизаций.СостояниеЗавершения,
| СостояниеПоДокументуОтпускаОрганизаций.Состояние");
Запрос.УстановитьПараметр("Работает",Перечисления.СостоянияРаботникаОрганизации.Работает);
//Запрос.УстановитьПараметр("ДатаНачала",ДатаНачала);
//Запрос.УстановитьПараметр("ДатаОкончания",ДатаОкончания);
Результат=Запрос.Выполнить();
Запрос.Выполнить().Выгрузить();
Выборка=Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ДокументОбъект=Документы.ВозвратНаРаботуОрганизаций.СоздатьДокумент();
ДокументОбъект.Заполнить(ВЫБОРКА.Ссылка);
ДокументОбъект.Дата=ТекущаяДата();
ДокументОбъект.Записать();
//ДокументОбъект.ПолучитьФорму().Открыть();"
30.08.2010
14:55
#2
"Может быть попробовать :
ДокументОбъект.Заполнить(ВЫБОРКА.Ссылка.ПолучитьОбъект());"
ДокументОбъект.Заполнить(ВЫБОРКА.Ссылка.ПолучитьОбъект());"
30.08.2010
14:56
#3
В запросе кстати нету ссылки! Поэтому будет ошибка, отсутствие объекта метаданных Выборка.Ссылка!
30.08.2010
14:58
#4
"Тогда выдаётся ошибка:{Обработка.Обработка3.Форма.Форма(49)}: Значение не является значением объектного типа (ПолучитьОбъект)
ДокументОбъект.Заполнить(ВЫБОРКА.Ссылка.ПолучитьОбъект());
"
ДокументОбъект.Заполнить(ВЫБОРКА.Ссылка.ПолучитьОбъект());
"
Читают тему
(гостей: 1)