Добавление колонки в результирующий запрос
Добрый день уважаемые форумчане.
Возник вопрос в том как добавить в табличную часть ещё один столбец.
Может я не так думаю,у меня есть документ выбытие, там имеется табличная часть "Список ТМЦ", необходимо добавить туда ещё один столбец из регистра "ДанныеПоТМЦ", СсылкаНаСправочникНоменклатура", чтобы я его мог вывести на печатную форму. Только как объеденить данные из документа и данные из регистра. Никак сообразить не могу.
Возник вопрос в том как добавить в табличную часть ещё один столбец.
Может я не так думаю,у меня есть документ выбытие, там имеется табличная часть "Список ТМЦ", необходимо добавить туда ещё один столбец из регистра "ДанныеПоТМЦ", СсылкаНаСправочникНоменклатура", чтобы я его мог вывести на печатную форму. Только как объеденить данные из документа и данные из регистра. Никак сообразить не могу.
Прикрепленные файлы:
По теме из базы знаний
- Работа со схемой запроса
- Управляемая консоль запросов, отчетов 3.9.0 (расширение, внешняя обработка)
- Консоль запросов для управляемых форм 8.3
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Как читать чужой код? Часть 3. Разбор и доработка запросов
Найденные решения
Воттак
ВЫБРАТЬ
| ВыбытиеСписокТМЦ.Номенклатура КАК Номенклатура,
| ВыбытиеСписокТМЦ.НомерСтроки КАК НомерСтроки,
| ВыбытиеСписокТМЦ.Количество КАК Количество,
| ВыбытиеСписокТМЦ.ПричинаСписания КАК ПричинаСписания,
| ВыбытиеСписокТМЦ.Комментарий КАК Комментарий,
| ДанныеПоТМЦ.СсылкаНаСправочникНоменклатураБухгалтерии КАК СсылкаНаСправочникНоменклатураБухгалтерии,
| Выбытие.Дата КАК Дата,
| Организация.Значение КАК Организация,
| РуководительОрганизации.Значение.Должность КАК ДолжностьРуководителя,
| РуководительОрганизации.Значение.Наименование КАК ФИОРуководителя,
| (ВЫРАЗИТЬ(Выбытие.ПервыйОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ПервыйОтветственный.Должность КАК СТРОКА(50))) КАК ПервыйОтветственный,
| (ВЫРАЗИТЬ(Выбытие.ВторойОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ВторойОтветственный.Должность КАК СТРОКА(50))) КАК ВторойОтветственный,
| (ВЫРАЗИТЬ(Выбытие.ТретийОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ТретийОтветственный.Должность КАК СТРОКА(50))) КАК ТретийОтветственный
|ИЗ
| Документ.Выбытие.СписокТМЦ КАК ВыбытиеСписокТМЦ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПоТМЦ КАК ДанныеПоТМЦ
| ПО ВыбытиеСписокТМЦ.Номенклатура = ДанныеПоТМЦ.СсылкаСпр
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Выбытие КАК Выбытие
| ПО ВыбытиеСписокТМЦ.Ссылка = Выбытие.Ссылка
| Константа.РуководительОрганизации КАК РуководительОрганизации,
| Константа.Организация КАК Организация
|ГДЕ
| ВыбытиеСписокТМЦ.Ссылка = &Ссылка
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(4)
Когда вы пишите выбор таблиц через запятую, происходит кросс-соединение все-со-всеми. То есть, в указанном запросе будут ко все строки временной таблицы умножатся на все записи регистра. Сомневаюсь, что это тот результат, которого вы добиваетесь. Советую изучить соединения.
Когда вы пишите выбор таблиц через запятую, происходит кросс-соединение все-со-всеми. То есть, в указанном запросе будут ко все строки временной таблицы умножатся на все записи регистра. Сомневаюсь, что это тот результат, которого вы добиваетесь. Советую изучить соединения.
Ндя учите запросы
Возможно где то орфографические ошибки, писал руками
ВЫБРАТЬ
ТЧ.Номенклатура,
ТЧ.НомерСтроки,
ТЧ.ПричинаСписания,
ТЧ.Количество,
ТЧ.Комментарий
Док.Дата,
Док.Ссылка,
ДанныеПоТМЦ.СерийныйНомер
ИЗ Документ.Выбытие.СписокТМЦ КАК ТЧ
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Выбытие КАК Док
ПО ТЧ.Ссылка = Док.Ссылка
ЛЕВОЕ СОединение РегистрСведений.ДанныеПоТМЦ КАК ДанныеПоТМЦ
ПО ТЧ.Номенклатура = ДанныеПоТМЦ.СсылкаНаСправочникНоменклатура
ПоказатьВозможно где то орфографические ошибки, писал руками
Запрос.Текст ="ВЫБРАТЬ
| Выбытие.Дата КАК Дата,
| Организация.Значение КАК Организация,
| РуководительОрганизации.Значение.Должность КАК ДолжностьРуководителя,
| РуководительОрганизации.Значение.Наименование КАК ФИОРуководителя,
| (ВЫРАЗИТЬ(Выбытие.ПервыйОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ПервыйОтветственный.Должность КАК СТРОКА(50))) КАК ПервыйОтветственный,
| (ВЫРАЗИТЬ(Выбытие.ВторойОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ВторойОтветственный.Должность КАК СТРОКА(50))) КАК ВторойОтветственный,
| (ВЫРАЗИТЬ(Выбытие.ТретийОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ТретийОтветственный.Должность КАК СТРОКА(50))) КАК ТретийОтветственный
|ИЗ
| Документ.Выбытие КАК Выбытие,
| Константа.РуководительОрганизации КАК РуководительОрганизации,
| Константа.Организация КАК Организация
|ГДЕ
| Выбытие.Ссылка = &Ссылка";
ПоказатьЗапрос2.Текст =
"ВЫБРАТЬ
| ВыбытиеСписокТМЦ.Номенклатура КАК Номенклатура,
| ВыбытиеСписокТМЦ.НомерСтроки КАК НомерСтроки,
| ВыбытиеСписокТМЦ.Количество КАК Количество,
| ВыбытиеСписокТМЦ.ПричинаСписания КАК ПричинаСписания,
| ВыбытиеСписокТМЦ.Комментарий КАК Комментарий,
| ДанныеПоТМЦ.СсылкаНаСправочникНоменклатураБухгалтерии КАК СсылкаНаСправочникНоменклатураБухгалтерии
|ИЗ
| Документ.Выбытие.СписокТМЦ КАК ВыбытиеСписокТМЦ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПоТМЦ КАК ДанныеПоТМЦ
| ПО ВыбытиеСписокТМЦ.Номенклатура = ДанныеПоТМЦ.СсылкаСпр
|ГДЕ
| ВыбытиеСписокТМЦ.Ссылка = &Ссылка
|;
|";
ПоказатьКак можно эти два запроса объединить в один?
Воттак
ВЫБРАТЬ
| ВыбытиеСписокТМЦ.Номенклатура КАК Номенклатура,
| ВыбытиеСписокТМЦ.НомерСтроки КАК НомерСтроки,
| ВыбытиеСписокТМЦ.Количество КАК Количество,
| ВыбытиеСписокТМЦ.ПричинаСписания КАК ПричинаСписания,
| ВыбытиеСписокТМЦ.Комментарий КАК Комментарий,
| ДанныеПоТМЦ.СсылкаНаСправочникНоменклатураБухгалтерии КАК СсылкаНаСправочникНоменклатураБухгалтерии,
| Выбытие.Дата КАК Дата,
| Организация.Значение КАК Организация,
| РуководительОрганизации.Значение.Должность КАК ДолжностьРуководителя,
| РуководительОрганизации.Значение.Наименование КАК ФИОРуководителя,
| (ВЫРАЗИТЬ(Выбытие.ПервыйОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ПервыйОтветственный.Должность КАК СТРОКА(50))) КАК ПервыйОтветственный,
| (ВЫРАЗИТЬ(Выбытие.ВторойОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ВторойОтветственный.Должность КАК СТРОКА(50))) КАК ВторойОтветственный,
| (ВЫРАЗИТЬ(Выбытие.ТретийОтветственный.Наименование КАК СТРОКА(50))) + "" "" + (ВЫРАЗИТЬ(Выбытие.ТретийОтветственный.Должность КАК СТРОКА(50))) КАК ТретийОтветственный
|ИЗ
| Документ.Выбытие.СписокТМЦ КАК ВыбытиеСписокТМЦ
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ДанныеПоТМЦ КАК ДанныеПоТМЦ
| ПО ВыбытиеСписокТМЦ.Номенклатура = ДанныеПоТМЦ.СсылкаСпр
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Выбытие КАК Выбытие
| ПО ВыбытиеСписокТМЦ.Ссылка = Выбытие.Ссылка
| Константа.РуководительОрганизации КАК РуководительОрганизации,
| Константа.Организация КАК Организация
|ГДЕ
| ВыбытиеСписокТМЦ.Ссылка = &Ссылка
Показать
(9)
Тогда не понятно как пользоваться этим запросом в обработке печати, там эти данные будут задваиваться. .
Тогда не понятно как пользоваться этим запросом в обработке печати, там эти данные будут задваиваться. .
Пока Выборка.Следующий() Цикл
Если ВставлятьРазделительСтраниц Тогда
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ОбластьЗаголовок.Параметры.Заполнить(Выборка);
ОбластьЗаголовок.Параметры.Дата = "от "+Формат(Выборка.Дата,"ДФ=dd.MM.yyyy");
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьСписокТМЦШапка);
Пока Выборка2.Следующий() Цикл
ОбластьСписокТМЦ.Параметры.НомерСтроки = Выборка2.НомерСтроки;
ОбластьСписокТМЦ.Параметры.Количество = Выборка2.Количество;
ОбластьСписокТМЦ.Параметры.ПричинаСписания = Выборка2.ПричинаСписания;
ОбластьСписокТМЦ.Параметры.Комментарий = Выборка2.Комментарий;
Если Выборка2.СсылкаНаСправочникНоменклатураБухгалтерии = Справочники.НоменклатураВБухгалтерии.ПустаяСсылка() Тогда
ОбластьСписокТМЦ.Параметры.Номенклатура = Выборка2.Номенклатура.Наименование;
Иначе
ОбластьСписокТМЦ.Параметры.Номенклатура = Выборка2.СсылкаНаСправочникНоменклатураБухгалтерии.Наименование;
КонецЕсли;
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)