Имя: Пароль:
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) перенему Ваш опыт)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn