Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0
Добрый день. Прошу подсказать мне по коду запроса, так как не силён в них. Конфигурация УТ 10.3 обычные формы. Есть документ "Перемещение товаров". В нём в табличную часть добавлено поле "место хранения", в которое в зависимости от выбранного склада будет проставляться ячейка, в которой хранится товар. Есть печатная форма "Перемещение товаров", в ней добавил поле "Место". Есть функция "ПолучитьДанныеДляПечатиПеремещенияТоваров() Экспорт" в модуле объекта "перемещение товаров". В ней есть запрос, который я уже подкорректировал:
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерСтрокиТЧ, | ВложенныйЗапросПоТоварам.Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код, | ВложенныйЗапросПоТоварам.Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаИзмеренияМест, | Цена, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия, | МестаХраненияНоменклатуры.МестоХранения |ИЗ | (ВЫБРАТЬ | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест | ИЗ | Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваров | ГДЕ | ПеремещениеТоваров.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры | ПО ВложенныйЗапросПоТоварам.Номенклатура = МестаХраненияНоменклатуры.Номенклатура | СГРУППИРОВАТЬ ПО | ВложенныйЗапросПоТоварам.Номенклатура, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения, | ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест, | ВложенныйЗапросПоТоварам.Цена, | ВложенныйЗапросПоТоварам.СерияНоменклатуры, | ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры, | ВложенныйЗапросПоТоварам.НомерСтрокиТЧ, | ВложенныйЗапросПоТоварам.Номенклатура.Код, | ВложенныйЗапросПоТоварам.Номенклатура.Артикул, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление, | МестаХраненияНоменклатуры.МестоХранения, | ВложенныйЗапросПоТоварам.Количество, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)), | ВложенныйЗапросПоТоварам.КоличествоМест | |УПОРЯДОЧИТЬ ПО | ВложенныйЗапросПоТоварам.НомерСтрокиТЧ |";
Ошибок никаких программа не выдаёт. Но печатная форма теперь пустая. И если смотреть отладчиком на "ВыборкаСтрокТовары", то выдаёт такое сообщение "ошибка чтения значений". Подскажите в чём может быть проблема? Что я не так делаю?
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0
Цитата(VikingKosmo @ 09.12.15, 15:27)
Замените ВНУТРЕННЕЕ СОЕДИНЕНИЕ, на ЛЕВОЕ СОЕДИНЕНИЕ, потому что, не исключена ситуация, что у Вас нет данных в РС МестаХраненияНоменклатуры.
Посмотрел, в регистре сведений есть данные. Поменял на Левое соединение, теперь ругается на другое:
Если ПечатьМесто1 Тогда ОбластьМакета1 = Макет.ПолучитьОбласть("Строка|Место"); ОбластьМакета1.Параметры.ПМесто = ПараметрыПозиции.Номенклатура.МестаХраненияНоменклатуры.МестоХранения; ТабДокумент.Присоединить(ОбластьМакета1);
{Документ.ПеремещениеТоваров.МодульОбъекта(501)}: Поле объекта не обнаружено (МестаХраненияНоменклатуры) ОбластьМакета1.Параметры.ПМесто = ПараметрыПозиции.Номенклатура.МестаХраненияНоменклатуры.МестоХранения;
Посмотрел, в регистре сведений есть данные. Поменял на Левое соединение, теперь ругается на другое:Если ПечатьМесто1 Тогда ОбластьМакета1 = Макет.ПолучитьОбласть("Строка|Место"); ОбластьМакета1.Параметры.ПМесто = ПараметрыПозиции.Номенклатура.МестаХраненияНоменклатуры.МестоХранения;
Так почему ищем местоХранения в спр.Номенклатура ?
Группа: Пользователи
Сообщений: 51
Спасибо сказали: 0 раз
Рейтинг: 0
Немного подыму тему. Решил тоже самое сделать в документе реализация товаров и услуг. В итоге получаю ошибку:
{Документ.РеализацияТоваровУслуг.МодульОбъекта(234)}: Ошибка при вызове метода контекста (Выполнить) ЗапросТовары = Запрос.Выполнить().Выгрузить(); по причине: Разное количество полей в объединяемых запросах
Вот сам запрос:
Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст = "ВЫБРАТЬ | НомерТЧ, | НомерСтрокиТЧ, | ВложенныйЗапросПоТоварам.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) КАК Товар, | ВложенныйЗапросПоТоварам.Номенклатура.Код КАК Код, | ВложенныйЗапросПоТоварам.Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | КоличествоМест, | ЕдиницаИзмерения.Представление КАК ЕдиницаЦены, | ЕдиницаИзмеренияМест.Представление КАК ЕдиницаМест, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки КАК Скидка, | ПроцентАвтоматическихСкидок КАК АвтоматическаяСкидка, | ХарактеристикаНоменклатуры КАК Характеристика, | СерияНоменклатуры КАК Серия, | МестаХраненияНоменклатуры.МестоХранения КАК Ячейка |ИЗ | (ВЫБРАТЬ | 1 КАК НомерТЧ, | МИНИМУМ(НомерСтроки) КАК НомерСтрокиТЧ, | Номенклатура КАК Номенклатура, | ЕдиницаИзмерения КАК ЕдиницаИзмерения, | ЕдиницаИзмеренияМест КАК ЕдиницаИзмеренияМест, | Цена КАК Цена, | СтавкаНДС КАК СтавкаНДС, | ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок КАК ПроцентАвтоматическихСкидок, | СерияНоменклатуры КАК СерияНоменклатуры, | ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | СУММА(Количество) КАК Количество, | СУММА(КоличествоМест)КАК КоличествоМест, | СУММА(Сумма) КАК Сумма, | СУММА(СуммаНДС) КАК СуммаНДС | ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | СГРУППИРОВАТЬ ПО | Номенклатура, | ЕдиницаИзмерения, | ЕдиницаИзмеренияМест, | Цена, | СтавкаНДС, | ПроцентСкидкиНаценки, | ПроцентАвтоматическихСкидок, | СерияНоменклатуры, | ХарактеристикаНоменклатуры | ) КАК ВложенныйЗапросПоТоварам | | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестаХраненияНоменклатуры КАК МестаХраненияНоменклатуры | ПО ВложенныйЗапросПоТоварам.Номенклатура = МестаХраненияНоменклатуры.Номенклатура | ГДЕ // | ВложенныйЗапросПоТоварам.Номенклатура = &Номенклатура | МестаХраненияНоменклатуры.Склад = &Склад | СГРУППИРОВАТЬ ПО | ВложенныйЗапросПоТоварам.Номенклатура, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения, | ВложенныйЗапросПоТоварам.ЕдиницаИзмеренияМест, | ВложенныйЗапросПоТоварам.Цена, | ВложенныйЗапросПоТоварам.СтавкаНДС, | ВложенныйЗапросПоТоварам.ПроцентСкидкиНаценки, | ВложенныйЗапросПоТоварам.ПроцентАвтоматическихСкидок, | ВложенныйЗапросПоТоварам.СерияНоменклатуры, | ВложенныйЗапросПоТоварам.ХарактеристикаНоменклатуры, | ВложенныйЗапросПоТоварам.Количество, | ВложенныйЗапросПоТоварам.КоличествоМест, | ВложенныйЗапросПоТоварам.Сумма, | ВложенныйЗапросПоТоварам.СуммаНДС, | ВложенныйЗапросПоТоварам.НомерСтрокиТЧ, | ВложенныйЗапросПоТоварам.НомерТЧ, | ВложенныйЗапросПоТоварам.Номенклатура.Код, | ВложенныйЗапросПоТоварам.Номенклатура.Артикул, | ВложенныйЗапросПоТоварам.ЕдиницаИзмерения.Представление, | МестаХраненияНоменклатуры.МестоХранения, | ВЫРАЗИТЬ(ВложенныйЗапросПоТоварам.Номенклатура.НаименованиеПолное КАК СТРОКА(1000)) |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | 2, | РеализацияТоваровУслуг.НомерСтроки, | Номенклатура КАК Номенклатура, | Выразить(РеализацияТоваровУслуг.Содержание КАК Строка(100)), | Номенклатура.Код КАК Код, | Номенклатура."+ ТекстКодАртикул + " КАК КодАртикул, | Количество, | NULL, | Номенклатура.ЕдиницаХраненияОстатков.Представление КАК ЕдиницаЦены, | NULL, | Цена, | Сумма, | СуммаНДС, | ПроцентСкидкиНаценки, | NULL, | NULL |ИЗ | Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг | |ГДЕ | РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | ВложенныйЗапросПоТоварам.НомерТЧ, ВложенныйЗапросПоТоварам.НомерСтрокиТЧ |";
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!