Запросы в 1С 8.1

  • Автор темы arhiordinator1
  • Дата начала
Статус
Закрыто для дальнейших ответов.
A

arhiordinator1

#1
Всем привет, есть небольшая проблемка с запросом, суть запроса, есть справочник контрагенты, в нём есть поле контактов, телефон и тому подобное, вообщем надо сформировать отчёт так что бы напротив названия компании располагался её телефон, но в моём запросе почему то компании с пустыми телефонами выводятся тоже, к примеру:

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


Результат выглядит жутковато :
наименование___________телефон
_______________________370-07-92
_______________________472-48-20
Копейка
Копейка________________320-77-65, 324-85-05,292-25-03

Что делать с подобными глюками как их извести?

P.S.подчёркивания поставил сам они символизируют пробелы. А то когда тему создал не было видно что это табличка.
 
A

arhiordinator1

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

Darlock

Well-known member
04.01.2008
560
1
#3
Почти, поменяйте связи между таблицами, Справочник должен быть слева, а не регистр сведений.
 
Статус
Закрыто для дальнейших ответов.