Имя: Пароль:
1C
1С v8
Не работает ЗаполнитьЗначенияСвойств из запроса
0 manti
 
10.06.13
15:48
Есть запрос по дкументу ВосстановлениеНДСпоОбъектамНедвижимости. Создаю структуру, чтобы вставить данные автоматически из запроса.
В итоге возвращает незаполненную структуру. Что нужно поправить?

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

   Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект);

   ДанныеДляПечати = Новый Структура();

   //шапка
   ДанныеДляПечати.Вставить("НомерДок");
   ДанныеДляПечати.Вставить("ДатаДок");
   ДанныеДляПечати.Вставить("Орг");
   //1.Объекты недвижимости
   ДанныеДляПечати.Вставить("НомерСтроки");
   ДанныеДляПечати.Вставить("объект",);
   ДанныеДляПечати.Вставить("ИспДляОперНеОблагНДС");
   ДанныеДляПечати.Вставить("ДатаНачИспольНеоблагНДС");
   ДанныеДляПечати.Вставить("ДатаВводаВЭксплуат");
   ДанныеДляПечати.Вставить("ДатаНачисАморт");
   ДанныеДляПечати.Вставить("СтоимостьБУ");
   ДанныеДляПечати.Вставить("НДСпоПодрядам");
   ДанныеДляПечати.Вставить("НДСсрм");
   ДанныеДляПечати.Вставить("НДСПоОбъекту");
   ДанныеДляПечати.Вставить("ДоляВыручки");
   ДанныеДляПечати.Вставить("НдсПодрядВосстан");
   ДанныеДляПечати.Вставить("НДСХозспособом");
   ДанныеДляПечати.Вставить("НДСОбъектаВосстановл");
   //2.Счет-фактуры
   ДанныеДляПечати.Вставить("НомерСтрокиСчетФактура");
   ДанныеДляПечати.Вставить("СчетФакт",);
   ДанныеДляПечати.Вставить("ВидЦенности");
   ДанныеДляПечати.Вставить("Код");
   ДанныеДляПечати.Вставить("Поставщик");
   ДанныеДляПечати.Вставить("ДатаОплаты");
   ДанныеДляПечати.Вставить("ДокОплаты");
   ДанныеДляПечати.Вставить("СуммаБезНДС");
   ДанныеДляПечати.Вставить("НДС_процент");
   ДанныеДляПечати.Вставить("НДС");
   ДанныеДляПечати.Вставить("СуммаБезНДСВосстановлена");
   ДанныеДляПечати.Вставить("НДСВосстановлен");
   ДанныеДляПечати.Вставить("ДокСчетФактура",);

   
   Результат = Запрос.Выполнить();

   ВыборкаОбъектНедвижимости = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

   Пока ВыборкаОбъектНедвижимости.Следующий() Цикл
       // Вставить обработку выборки ВыборкаОбъектНедвижимости
       ЗаполнитьЗначенияСвойств(ВыборкаОбъектНедвижимости, ДанныеДляПечати); //приемник, источник
       
       ВыборкаДетальныеЗаписи = ВыборкаОбъектНедвижимости.Выбрать();

       Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
           // Вставить обработку выборки ВыборкаДетальныеЗаписиСчетФактуры
           ЗаполнитьЗначенияСвойств(ВыборкаДетальныеЗаписи, ДанныеДляПечати); //приемник, источник
       КонецЦикла;
   КонецЦикла;

Возврат ДанныеДляПечати
1 fmrlex
 
10.06.13
15:51
(0) Вставь запрос в консоль запросов. Выполни. Смотри результат. Думай.
2 Господин ПЖ
 
10.06.13
15:53
разрешаю подумать что будет в первой строке...

и

ЗаполнитьЗначенияСвойств(ВыборкаДетальныеЗаписи, ДанныеДляПечати); //приемник, источник

тоже эпично
3 manti
 
10.06.13
15:53
его оттуда и взял, собственно все названия полей совпадают.
4 Mitriy
 
10.06.13
15:54
гыгы...
5 Mitriy
 
10.06.13
15:54
(3) рекомендую смотреть на (2) до полного просветления...
6 manti
 
10.06.13
15:55
(2) да спутанул))
7 hhhh
 
10.06.13
15:55
(3) модераторы, ветку в юмор, пожалуйста.

ЗаполнитьЗначенияСвойств(ДанныеДляПечати,  ///!!!
ВыборкаОбъектНедвижимости); //приемник, источник
8 manti
 
10.06.13
16:02
(7) ну не заметил вовремя
9 DarKySiK
 
10.06.13
16:02
У меня обычно такая конструкция сопровождается бормотанием "кидаем налево"))
10 manti
 
10.06.13
16:03
кстати заполняет только данными из последнего обхода. Как добавить данные из всех обходов?
(9) перенему Ваш опыт)