Имя: Пароль:
1C
1С v8
Помогите с запросом
0 KENT2007
 
01.07.13
07:02
ВЫБРАТЬ
   Инвентаризация.ВидЗадолженности КАК ВидЗадолженности,
   Инвентаризация.Контрагент КАК Контрагент,
   ЕСТЬNULL(ВЫРАЗИТЬ(Инвентаризация.Контрагент.НаименованиеПолное КАК СТРОКА(200)), "") КАК КонтрагентНаименованиеПолное,
   ЕСТЬNULL(Инвентаризация.Контрагент.Наименование, "") КАК КонтрагентНаименование,
   Инвентаризация.Контрагент.ИНН КАК ИНН,
   Инвентаризация.СчетРасчетов КАК СчетРасчетов,
   ПРЕДСТАВЛЕНИЕ(Инвентаризация.СчетРасчетов) КАК СчетРасчетовПредставление,
   Инвентаризация.Подтверждено + Инвентаризация.НеПодтверждено КАК Всего,
   Инвентаризация.Подтверждено КАК Подтверждено,
   Инвентаризация.НеПодтверждено КАК НеПодтверждено,
   Инвентаризация.ИстекСрокДавности КАК ИстекСрокДавности,
   ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(200)) КАК Адрес
ИЗ
   Документ.ИнвентаризацияРасчетовСконтрагентами.Контрагенты КАК Инвентаризация
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
       ПО Инвентаризация.Ссылка = КонтактнаяИнформация.Объект
ГДЕ
   Инвентаризация.Ссылка = &СсылкаНаОбъект
   И КонтактнаяИнформация.Тип = &Тип
   И КонтактнаяИнформация.Вид = &Вид

УПОРЯДОЧИТЬ ПО
   КонтрагентНаименование,
   Инвентаризация.СчетРасчетов.Порядок
1 KENT2007
 
01.07.13
07:02
нужно в ИНВ-17 добавить адрес контрагента
2 vicof
 
01.07.13
07:04
давай, ты сможешь!
3 KENT2007
 
01.07.13
07:11
да уже вроде разобрался на связь по другому проставил все прошло, как параметр на Тип Адреса выставить?
4 vicof
 
01.07.13
07:12
что значит тип адреса?
5 KENT2007
 
01.07.13
07:13
перечисление: адрес, телефон.... мне нужен адрес
6 KENT2007
 
01.07.13
07:14
тип контактной информации
7 Cyberhawk
 
01.07.13
07:15
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
       ПО Инвентаризация.Ссылка = КонтактнаяИнформация.Объект
И КонтактнаяИнформация.Тип = такой-то

Добавь в условия связи короче
8 Cyberhawk
 
01.07.13
07:15
(в условии связи поставь галочку на столбце "П")
9 vicof
 
01.07.13
07:19
ПО Инвентаризация.Ссылка = КонтактнаяИнформация.Объект
И КонтактнаяИнформация = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
10 vicof
 
01.07.13
07:20
* И КонтактнаяИнформация.Тип =
11 KENT2007
 
01.07.13
07:21
ок, в запросе все отработало верно. а вот в макете пусто
12 vicof
 
01.07.13
07:24
(11) Поработай отладчиком :)
13 KENT2007
 
01.07.13
07:28
а так:
ЗапросКонтрагенты = Новый Запрос;
   ЗапросКонтрагенты.УстановитьПараметр("СсылкаНаОбъект", СсылкаНаОбъект);
   ЗапросКонтрагенты.УстановитьПараметр("Вид", Вид);
   ЗапросКонтрагенты.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Адрес);
   ЗапросКонтрагенты.Текст =      
   "ВЫБРАТЬ
   |    Инвентаризация.ВидЗадолженности КАК ВидЗадолженности,
   |    Инвентаризация.Контрагент КАК Контрагент,
   |    ЕСТЬNULL(ВЫРАЗИТЬ(Инвентаризация.Контрагент.НаименованиеПолное КАК СТРОКА(200)), """") КАК КонтрагентНаименованиеПолное,
   |    ЕСТЬNULL(Инвентаризация.Контрагент.Наименование, """") КАК КонтрагентНаименование,
   |    Инвентаризация.Контрагент.ИНН КАК ИНН,
   |    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(200)) КАК Адрес,
   |    Инвентаризация.СчетРасчетов КАК СчетРасчетов,
   |    ПРЕДСТАВЛЕНИЕ(Инвентаризация.СчетРасчетов) КАК СчетРасчетовПредставление,
   |    СУММА(Инвентаризация.Подтверждено + Инвентаризация.НеПодтверждено) КАК Всего,
   |    СУММА(Инвентаризация.Подтверждено) КАК Подтверждено,
   |    СУММА(Инвентаризация.НеПодтверждено) КАК НеПодтверждено,
   |    СУММА(Инвентаризация.ИстекСрокДавности) КАК ИстекСрокДавности
   |ИЗ
   |    Документ.ИнвентаризацияРасчетовСконтрагентами.Контрагенты КАК Инвентаризация
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |        ПО (Инвентаризация.Контрагент.Ссылка = КонтактнаяИнформация.Объект.Ссылка)
   |ГДЕ
   |    Инвентаризация.Ссылка = &СсылкаНаОбъект
   |    И КонтактнаяИнформация.Вид = &Вид
   |    И КонтактнаяИнформация.Тип = &Тип
   |
   |СГРУППИРОВАТЬ ПО
   |    Инвентаризация.ВидЗадолженности,
   |    Инвентаризация.Контрагент,
   |    ПОДСТРОКА(Инвентаризация.Контрагент.НаименованиеПолное, 1, 200),
   |    Инвентаризация.СчетРасчетов,
   |    ЕСТЬNULL(ВЫРАЗИТЬ(Инвентаризация.Контрагент.НаименованиеПолное КАК СТРОКА(200)), """"),
   |    ЕСТЬNULL(Инвентаризация.Контрагент.Наименование, """"),
   |    Инвентаризация.Контрагент.ИНН,
   |    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(200))
   |
   |УПОРЯДОЧИТЬ ПО
   |    КонтрагентНаименование,
   |    Инвентаризация.СчетРасчетов.Порядок
   |ИТОГИ
   |    СУММА(Всего),
   |    СУММА(Подтверждено),
   |    СУММА(НеПодтверждено),
   |    СУММА(ИстекСрокДавности)
   |ПО
   |    ВидЗадолженности";
14 KENT2007
 
01.07.13
07:29
в консоли все формирует
15 craxx
 
01.07.13
07:30
(14)смотри параметры макета,где-то косяк с наименованиями
16 KENT2007
 
01.07.13
07:33
вот это условие не проходит
ВыборкаПоВидуЗадолженности = РезультатКонтрагенты.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Если ВыборкаПоВидуЗадолженности.НайтиСледующий(Перечисления.ВидыЗадолженности.Дебиторская, "ВидЗадолженности") Тогда
17 KENT2007
 
01.07.13
07:41
может кто глянет http://zalil.ru/34614260
18 Cyberhawk
 
01.07.13
08:28
(17) для какой конфы обработка? И для типовой ли она?
19 Cyberhawk
 
01.07.13
08:31
Сходу, но не по теме:
вместо

   |ИЗ
   |    Документ.ИнвентаризацияРасчетовСконтрагентами.Контрагенты КАК Инвентаризация
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |        ПО (Инвентаризация.Контрагент.Ссылка = КонтактнаяИнформация.Объект.Ссылка)
   |ГДЕ
   |    Инвентаризация.Ссылка = &СсылкаНаОбъект
   |    И КонтактнаяИнформация.Вид = &Вид
   |    И КонтактнаяИнформация.Тип = &Тип

надо

   |ИЗ
   |    Документ.ИнвентаризацияРасчетовСконтрагентами.Контрагенты КАК Инвентаризация
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
   |        ПО (Инвентаризация.Контрагент = выразить(КонтактнаяИнформация.Объект как справочник.контрагенты) И КонтактнаяИнформация.Вид = &Вид И КонтактнаяИнформация.Тип = &Тип)
   |ГДЕ
   |    Инвентаризация.Ссылка = &СсылкаНаОбъект
20 KENT2007
 
01.07.13
09:02
для БП типовой
21 SanGvin
 
01.07.13
09:14
(17) а ниче что у тебя ссылкаНаОбъект - тип "строка" ?
22 SanGvin
 
01.07.13
09:14
(21) отбой, в УПП открыл там просто такого типа нет
23 SanGvin
 
01.07.13
09:26
ВЫБРАТЬ
       Инвентаризация.ВидЗадолженности КАК ВидЗадолженности,
       Инвентаризация.Контрагент КАК Контрагент,
       ЕСТЬNULL(ВЫРАЗИТЬ(Инвентаризация.Контрагент.НаименованиеПолное КАК СТРОКА(200)), """") КАК КонтрагентНаименованиеПолное,
       ЕСТЬNULL(Инвентаризация.Контрагент.Наименование, """") КАК КонтрагентНаименование,
       Инвентаризация.Контрагент.ИНН КАК ИНН,
       ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(200)) КАК Адрес,
       Инвентаризация.СчетРасчетов КАК СчетРасчетов,
       ПРЕДСТАВЛЕНИЕ(Инвентаризация.СчетРасчетов) КАК СчетРасчетовПредставление,
       СУММА(Инвентаризация.Подтверждено + Инвентаризация.НеПодтверждено) КАК Всего,
       СУММА(Инвентаризация.Подтверждено) КАК Подтверждено,
       СУММА(Инвентаризация.НеПодтверждено) КАК НеПодтверждено,
       СУММА(Инвентаризация.ИстекСрокДавности) КАК ИстекСрокДавности
   ИЗ
       Документ.ИнвентаризацияРасчетовСконтрагентами.Контрагенты КАК Инвентаризация
           Левое СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
           ПО (Инвентаризация.Контрагент = КонтактнаяИнформация.Объект
           И КонтактнаяИнформация.Вид = &Вид
       И КонтактнаяИнформация.Тип = &Тип)
   ГДЕ
       Инвентаризация.Ссылка = &СсылкаНаОбъект
   
   СГРУППИРОВАТЬ ПО
       Инвентаризация.ВидЗадолженности,
       Инвентаризация.Контрагент,
       ПОДСТРОКА(Инвентаризация.Контрагент.НаименованиеПолное, 1, 200),
       Инвентаризация.СчетРасчетов,
       ЕСТЬNULL(ВЫРАЗИТЬ(Инвентаризация.Контрагент.НаименованиеПолное КАК СТРОКА(200)), """"),
       ЕСТЬNULL(Инвентаризация.Контрагент.Наименование, """"),
       Инвентаризация.Контрагент.ИНН,
       ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(200))
   
   УПОРЯДОЧИТЬ ПО
       КонтрагентНаименование,
       Инвентаризация.СчетРасчетов.Порядок
   ИТОГИ
       СУММА(Всего),
       СУММА(Подтверждено),
       СУММА(НеПодтверждено),
       СУММА(ИстекСрокДавности)
   ПО
       ВидЗадолженности
24 KENT2007
 
01.07.13
09:35
запрос отбирает все нормально
когда начинаю выводить
СтрокаТаблицыДт.Параметры.Адрес=ВыборкаПоКонтрагенту.Адрес;

пишет
ВыборкаПоКонтрагенту.Адрес=NULL

может причина в том что там идет обход по группировкам
25 KENT2007
 
01.07.13
09:37
ВыборкаПоВидуЗадолженности = РезультатКонтрагенты.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Если ВыборкаПоВидуЗадолженности.НайтиСледующий(Перечисления.ВидыЗадолженности.Дебиторская, "ВидЗадолженности") Тогда

       ПодвалТаблицыДт.Параметры.Заполнить(ВыборкаПоВидуЗадолженности);
       
       ВыборкаПоКонтрагенту = ВыборкаПоВидуЗадолженности.Выбрать();
       Пока ВыборкаПоКонтрагенту.Следующий() Цикл
           СтрокаТаблицыДт.Параметры.Заполнить(ВыборкаПоКонтрагенту);
           СтрокаТаблицыДт.Параметры.КонтрагентПредставление = ?(ПустаяСтрока(ВыборкаПоКонтрагенту.КонтрагентНаименованиеПолное),
               ВыборкаПоКонтрагенту.КонтрагентНаименование, ВыборкаПоКонтрагенту.КонтрагентНаименованиеПолное);
                СтрокаТаблицыДт.Параметры.КОНТРИНН=ВыборкаПоКонтрагенту.ИНН;
                     СтрокаТаблицыДт.Параметры.Адрес=ВыборкаПоКонтрагенту.Адрес;

               ТабДокумент.Вывести(СтрокаТаблицыДт);
       КонецЦикла;
       
   КонецЕсли;