|
Разное количество полей в объединяемых запросах | ☑ | ||
---|---|---|---|---|
0
NovichokAlena
23.09.14
✎
09:02
|
Здравствуйте,помогите разобраться,пожалуйста. Пишу печатную форму, выдает такую ошибку: {Форма.Форма.Форма(296)}: Ошибка при вызове метода контекста (Выполнить)
ЗапросПоНоменклатуре = Запрос.Выполнить(); по причине: Разное количество полей в объединяемых запросах Вот сам код Функция ПечатьМ11СписаниеМатериаловИзЭксплуатации() Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", СсылкаНаОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | Номер КАК Номер, | Дата КАК ДатаДокумента, | Дата КАК ДатаСоставления, | Организация КАК Организация // | Склад КАК Склад, // | Местонахождение КАК Подразделение |ИЗ | Документ.СписаниеМатериаловИзЭксплуатации КАК СписаниеМатериаловИзЭксплуатации | |ГДЕ | СписаниеМатериаловИзЭксплуатации.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", СсылкаНаОбъект.Ссылка); Запрос.УстановитьПараметр("ДатаДок", Шапка.ДатаДокумента); Запрос.УстановитьПараметр("СчетПередачиСпецодеждыЗабалансовый", ПланыСчетов.Хозрасчетный.СпецодеждаВЭксплуатацииВспомогательный); Запрос.УстановитьПараметр("СчетПередачиСпецоснасткиЗабалансовый", ПланыСчетов.Хозрасчетный.СпецоснасткаВЭксплуатацииВспомогательный); Запрос.УстановитьПараметр("СчетПередачиИнвентаряИХозяйственныхПринадлежностейЗабалансовый", ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации); Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.ID КАК ID, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК МатериалНаименование, | ВложенныйЗапрос.Номенклатура.Код КАК НоменклатурныйНомер, | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмеренияНаименование, | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Код КАК ЕдиницаИзмеренияКод, | ВложенныйЗапрос.СчетПередачи КАК Счет, | ЕСТЬNULL(ВложенныйЗапрос.Количество, 0) КАК Количество, | СУММА(ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Сумма, 0)) КАК Сумма |ИЗ | (ВЫБРАТЬ | 1 КАК ID, | МИНИМУМ(Спецодежда.НомерСтроки) КАК НомерСтроки, | Спецодежда.Номенклатура КАК Номенклатура, | Спецодежда.СчетПередачи КАК СчетПередачи, | СУММА(Спецодежда.Количество) КАК Количество | ИЗ | Документ.СписаниеМатериаловИзЭксплуатации.Спецодежда КАК Спецодежда | ГДЕ | Спецодежда.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | Спецодежда.Номенклатура, | Спецодежда.СчетПередачи | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | 2, | МИНИМУМ(Спецоснастка.НомерСтроки), | Спецоснастка.Номенклатура, | Спецоснастка.СчетПередачи, | СУММА(Спецоснастка.Количество) | ИЗ | Документ.СписаниеМатериаловИзЭксплуатации.Спецоснастка КАК Спецоснастка | ГДЕ | Спецоснастка.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | Спецоснастка.Номенклатура, | Спецоснастка.СчетПередачи | | ОБЪЕДИНИТЬ ВСЕ | | ВЫБРАТЬ | 3 КАК ID, | МИНИМУМ(ИнвентарьИХозяйственныеПринадлежности.НомерСтроки) КАК НомерСтроки, | ИнвентарьИХозяйственныеПринадлежности.Номенклатура КАК Номенклатура, // | ИнвентарьИХозяйственныеПринадлежности.СчетПередачи КАК СчетПередачи, | СУММА(ИнвентарьИХозяйственныеПринадлежности.Количество) КАК Количество | ИЗ | Документ.СписаниеМатериаловИзЭксплуатации.ИнвентарьИХозяйственныеПринадлежности КАК ИнвентарьИХозяйственныеПринадлежности | ГДЕ | ИнвентарьИХозяйственныеПринадлежности.Ссылка = &Ссылка | | СГРУППИРОВАТЬ ПО | ИнвентарьИХозяйственныеПринадлежности.Номенклатура) КАК ВложенныйЗапрос // | ИнвентарьИХозяйственныеПринадлежности.СчетПередачи) КАК ВложенныйЗапрос | ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( | &ДатаДок, | &ДатаДок, | Регистратор = &Ссылка | И (НЕ СчетДт = &СчетПередачиСпецодеждыЗабалансовый) | И (НЕ СчетДт = &СчетПередачиСпецоснасткиЗабалансовый) | И (НЕ СчетДт = &СчетПередачиИнвентаряИХозяйственныхПринадлежностейЗабалансовый)) КАК ХозрасчетныйДвиженияССубконто | ПО ВложенныйЗапрос.Номенклатура = ХозрасчетныйДвиженияССубконто.СубконтоКт1 | И ВложенныйЗапрос.СчетПередачи = ХозрасчетныйДвиженияССубконто.СчетКт | |СГРУППИРОВАТЬ ПО | ВложенныйЗапрос.ID, | ВложенныйЗапрос.НомерСтроки, | ВложенныйЗапрос.Номенклатура, | ВложенныйЗапрос.Номенклатура.Код, | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Наименование, | ВложенныйЗапрос.Номенклатура.БазоваяЕдиницаИзмерения.Код, // | ВложенныйЗапрос.СчетПередачи, | ВложенныйЗапрос.Количество, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) | |УПОРЯДОЧИТЬ ПО | ID, | НомерСтроки"; Если Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить() = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда Запрос.Текст = СтрЗаменить(Запрос.Текст, "Номенклатура.Код", "Номенклатура.Артикул"); КонецЕсли; ЗапросПоНоменклатуре = Запрос.Выполнить(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт; ТабДокумент.ИмяПараметровПечати = "ПараметрыПечати_СписаниеМатериаловИзЭксплуатации_М11"; // Вывод заголовка Макет = ПолучитьМакет("М11"); Область = Макет.ПолучитьОбласть("Шапка"); Область.Параметры.Заголовок = "ТРЕБОВАНИЕ-НАКЛАДНАЯ № " + ОбщегоНазначения.ПолучитьНомерНаПечать(Шапка); Область.Параметры.Заполнить(Шапка); СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.ДатаДокумента); Область.Параметры.ПредставлениеОрганизации = ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОбОрганизации); Область.Параметры.ПредставлениеПодразделения = Шапка.Подразделение; Область.Параметры.КодОКПО = СведенияОбОрганизации.КодПоОКПО; Область.Параметры.ЧерезКого = ЧерезКого; Область.Параметры.Затребовал = Затребовал; Область.Параметры.Разрешил = Разрешил; ТабДокумент.Вывести(Область); ВыборкаПоСтрокам = ЗапросПоНоменклатуре.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); Пока ВыборкаПоСтрокам.Следующий() Цикл Область = Макет.ПолучитьОбласть("Строка"); Область.Параметры.Заполнить(ВыборкаПоСтрокам); Область.Параметры.МатериалНаименование = СокрЛП(ВыборкаПоСтрокам.МатериалНаименование); Область.Параметры.Цена = ?(ВыборкаПоСтрокам.Количество = 0, 0, ВыборкаПоСтрокам.Сумма / ВыборкаПоСтрокам.Количество); ТабДокумент.Вывести(Область); КонецЦикла; Область = Макет.ПолучитьОбласть("Подвал"); Область.Параметры.Отпустил = Отпустил; Область.Параметры.ДолжностьОтпустил = ДолжностьОтпустил; Область.Параметры.Получил = Получил; Область.Параметры.ДолжностьПолучил = ДолжностьПолучил; ТабДокумент.Вывести(Область); Возврат ТабДокумент; КонецФункции |
|||
1
piter3
23.09.14
✎
09:07
|
сделать одинаковое
// | ИнвентарьИХозяйственныеПринадлежности.СчетПередачи КАК СчетПередачи, |
|||
2
NovichokAlena
23.09.14
✎
09:10
|
Просто эта строка мне не нужна,да ее такой в принципе нет, просто я делаю форму на основе готовой, соответственно, что не нужно,закомментировала. Как тогда сделать одинаковое количество?
|
|||
3
piter3
23.09.14
✎
09:12
|
(2) самое банальное 1 КАК СчетПередачи.
если не нужна убирайте во всх запросах |
|||
4
NovichokAlena
23.09.14
✎
09:16
|
но для спецодежды и спецоснастки это нужно
|
|||
5
piter3
23.09.14
✎
09:17
|
(4)девушка давайте не ломать друг другу голову-количество полей в объединяемых запросах должно быть одинаково.или перепишите запрос
|
|||
6
NovichokAlena
23.09.14
✎
09:24
|
(5)ну вот если бы я знала как его переписать,чтоб все нужные мне поля были, я бы сюда не обратилась
|
|||
7
Килограмм
23.09.14
✎
09:26
|
там где не нужно заменить на null цифру 0 или всё что душе угодно
|
|||
8
piter3
23.09.14
✎
09:27
|
я уже в (3) написал
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |