Как правильно сделать запрос из реализации? Мне надо вытащить характеристику
1с ут 8,1 есть запрос
заполняется поле = Номенклатура + количество (если кол не в шт. тогда кол * на коэфф) + шт.
а надо Номенклатура + характеристика1 (поле добавлено в табличную часть - товары для документа реализация колонка характеристика1) + количество (если кол не в шт. тогда кол * на коэфф) + шт.
подскажите как правильно сделать запрос
заполняется поле = Номенклатура + количество (если кол не в шт. тогда кол * на коэфф) + шт.
а надо Номенклатура + характеристика1 (поле добавлено в табличную часть - товары для документа реализация колонка характеристика1) + количество (если кол не в шт. тогда кол * на коэфф) + шт.
подскажите как правильно сделать запрос
Для Каждого СтрокаТЗ Из ЗапросТовары Цикл
НаимГруза=НаимГруза+СтрокаТЗ.ТоварНаименование;
Если СтрокаТЗ.ЕдиницаИзмерения.Наименование="пог. м" или СтрокаТЗ.ЕдиницаИзмерения.Наименование="м3" или СтрокаТЗ.ЕдиницаИзмерения.Наименование="м2" Тогда
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ЕдиницыИзмерения.Коэффициент
|ИЗ
| Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
|ГДЕ
| ЕдиницыИзмерения.Владелец = &ВыбТовар
| И ЕдиницыИзмерения.ЕдиницаПоКлассификатору = &ВыбШт";
Запрос.УстановитьПараметр("ВыбТовар",СтрокаТЗ.Номенклатура);
Запрос.УстановитьПараметр("ВыбШт",Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт"));
Выборка=Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
КолВо=КолВо+СтрокаТЗ.Количество/Выборка.Коэффициент;
НаимГруза=НаимГруза+" - "+СтрокаТЗ.Количество/Выборка.Коэффициент+" шт., ";
КонецЕсли;
Иначе
КолВо=КолВо+СтрокаТЗ.Количество;
НаимГруза=НаимГруза+" - "+СтрокаТЗ.Количество+" шт., ";
КонецЕсли;
ПоказатьПо теме из базы знаний
Ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(4)Вы прям на текст запроса тыкните правой кнопкой, и конструктором запроса его откройте.. перетащите нужные поля, в вашем случае не понятно, Характеристика - это поле справочника номенклатуры?Или отдельный реквизит?В любом случае, как вы поля в запросе называете, так к ним и обращаетесь в дальнейшем..
Помоему в вашем случае надо код показать нам))текст запроса ЗапросТоваров
Помоему в вашем случае надо код показать нам))текст запроса ЗапросТоваров
Где формирование "ЗапросТовары"? Если там будет поле Характеристика, то тогда так же к нему и обращаться,
и код лучше всё-таки выделять тэгами, так удобоваримее.
НаимГруза=НаимГруза+СтрокаТЗ.ТоварНаименование+" "+СтрокаТЗ.Характеристика;
и код лучше всё-таки выделять тэгами, так удобоваримее.
сама функция не знаю где найти ЗапросТоваров
Функция ПолучитьДанныеДляТТНПриложение4(ЗапросТовары, Шапка)
ДанныеДокумента = Новый Структура();
ЕдиницаИзмеренияВеса = Константы.ЕдиницаИзмеренияВеса.Получить();
СведенияОГрузополучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузополучатель, Шапка.ДатаДокумента);
СведенияОГрузоотправитель = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Грузоотправитель, Шапка.ДатаДокумента);
ДанныеДокумента = Новый Структура();
//Если Шапка.ГрузополучательЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
// ДанныеДокумента.Вставить("Пункт2_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"));
//ИначеЕсли Шапка.ГрузополучательЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
// ДанныеДокумента.Вставить("Пункт2_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"));
//КонецЕсли;
Если Шапка.ГрузополучательЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
ДанныеДокумента.Вставить("Пункт2_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование"));
Иначе ДанныеДокумента.Вставить("Пункт2_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ПолноеНаименование"));
КонецЕсли;
Если Шапка.ГрузополучательЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
ДанныеДокумента.Вставить("Пункт2_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ФактическийАдрес"));
Иначе ДанныеДокумента.Вставить("Пункт2_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "ФактическийАдрес"));
КонецЕсли;
//Если Шапка.ГрузоотправительЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
// ДанныеДокумента.Вставить("Пункт1_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"));
//ИначеЕсли Шапка.ГрузоотправительЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
// ДанныеДокумента.Вставить("Пункт1_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование,ИНН,ФактическийАдрес,Телефоны,НомерСчета,Банк,БИК,КоррСчет"));
//КонецЕсли;
Если Шапка.ГрузоотправительЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
ДанныеДокумента.Вставить("Пункт1_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование"));
Иначе
ДанныеДокумента.Вставить("Пункт1_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование"));
КонецЕсли;
Если Шапка.ГрузоотправительЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
ДанныеДокумента.Вставить("Пункт1_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ФактическийАдрес"));
Иначе
ДанныеДокумента.Вставить("Пункт1_2", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ФактическийАдрес"));
КонецЕсли;
//конец
ДанныеДокумента.Вставить("Пункт3_2", "Всего мест: " + ЧислоПрописью(ЗапросТовары.Итог("КоличествоМест"), ,",,,,,,,,0"));
Если ЗначениеЗаполнено(ЕдиницаИзмеренияВеса) И ЗапросТовары.Итог("МассаБрутто") > 0.00 Тогда
ДанныеДокумента.Вставить("Пункт3_3", "Масса брутто: " + ЧислоПрописью(ЗапросТовары.Итог("МассаБрутто"), ,",,,,,,,,0")+ " " + СокрЛП(ЕдиницаИзмеренияВеса) + ".");
КонецЕсли;
Если Документ.Пустая() Тогда
возврат ДанныеДокумента;
КонецЕсли;
ДанныеДокумента.Вставить("Пункт16_1", ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ПолноеНаименование"));
//ДанныеДокумента.Вставить("Пункт16_1", СведенияОГрузоотправитель.Представление);
ДанныеДокумента.Вставить("Пункт10_3Ведомость", СведенияОГрузополучателе.Представление);
ДанныеДокумента.Вставить("Пункт0_2",Шапка.ДатаДокумента);
ДанныеДокумента.Вставить("Пункт0_3",Шапка.Номер);
ЗапросТел = Новый Запрос;
ЗапросТел.Текст = "ВЫБРАТЬ
| КонтактнаяИнформация.Представление
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &Пользователь
| И КонтактнаяИнформация.Тип = &Тип";
ЗапросТел.УстановитьПараметр("Пользователь", Шапка.Менеджер.Ссылка);
ЗапросТел.УстановитьПараметр("Тип", Перечисления.ТипыКонтактнойИнформации.Телефон);
Выборка = ЗапросТел.Выполнить().Выбрать();
ТелМенеджера="";
Если Выборка.Следующий() Тогда
ТелМенеджера = Выборка.Представление;
КонецЕсли;
Если Шапка.ГрузополучательЮрФизЛицо = Перечисления.ЮрФизЛицо.ФизЛицо Тогда
ДанныеДокумента.Вставить("Пункт2_3", ""+Шапка.Грузополучатель.ОсновноеКонтактноеЛицо+" "+ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "Телефоны"));
Иначе ДанныеДокумента.Вставить("Пункт2_3", ""+Шапка.Грузополучатель.ОсновноеКонтактноеЛицо+" "+ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузополучателе, "Телефоны"));
КонецЕсли;
НаимГруза="";
КолВо=0;
Вес=0;
Для Каждого СтрокаТЗ Из ЗапросТовары Цикл
НаимГруза=НаимГруза+СтрокаТЗ.ТоварНаименование;
Если СтрокаТЗ.ЕдиницаИзмерения.Наименование="пог. м" или СтрокаТЗ.ЕдиницаИзмерения.Наименование="м3" или СтрокаТЗ.ЕдиницаИзмерения.Наименование="м2" Тогда
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ЕдиницыИзмерения.Коэффициент
|ИЗ
| Справочник.ЕдиницыИзмерения КАК ЕдиницыИзмерения
|ГДЕ
| ЕдиницыИзмерения.Владелец = &ВыбТовар
| И ЕдиницыИзмерения.ЕдиницаПоКлассификатору = &ВыбШт";
Запрос.УстановитьПараметр("ВыбТовар",СтрокаТЗ.Номенклатура);
Запрос.УстановитьПараметр("ВыбШт",Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт"));
Выборка=Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
КолВо=КолВо+СтрокаТЗ.Количество/Выборка.Коэффициент;
НаимГруза=НаимГруза+" - "+СтрокаТЗ.Количество/Выборка.Коэффициент+" шт., ";
КонецЕсли;
Иначе
КолВо=КолВо+СтрокаТЗ.Количество;
НаимГруза=НаимГруза+" - "+СтрокаТЗ.Количество+" шт., ";
КонецЕсли;
КонецЦикла;
НаимГруза=Лев(НаимГруза,СтрДлина(НаимГруза)-3)+".";
ДанныеДокумента.Вставить("Пункт3_1",НаимГруза);
//ДанныеДокумента.Вставить("Пункт3_2","Всего : "+КолВо+" шт.");
ДанныеДокумента.Вставить("Пункт3_2","Всего : "+КолВо);
ДанныеДокумента.Вставить("Пункт3_3","Всего : "+ЗапросТовары.Итог("МассаБрутто")/1000+" т.");
ДанныеДокумента.Вставить("Пункт6_2",Формат(Шапка.ДатаДокумента,"ДЛФ=D"));
//ДанныеДокумента.Вставить("Пункт6_5","Всего : "+ЗапросТовары.Итог("МассаБрутто")/1000+" т."+" Количество: "++КолВо+" шт.");
ДанныеДокумента.Вставить("Пункт6_5","Всего : "+ЗапросТовары.Итог("МассаБрутто")/1000+" т."+" Количество: "++КолВо);
//ДанныеДокумента.Вставить("Пункт6_1",ФормированиеПечатныхФорм.ОписаниеОрганизации(СведенияОГрузоотправитель, "ФактическийАдрес"));
ДанныеДокумента.Вставить("Пункт7_5","Всего : "+ЗапросТовары.Итог("МассаБрутто")/1000+" т."+" Количество: "++КолВо);
//ДанныеДокумента.Вставить("Пункт7_5","Всего : "+ЗапросТовары.Итог("МассаБрутто")/1000+" т."+" Количество: "++КолВо+" шт.");
ДанныеДокумента.Вставить("Пункт6_6",Шапка.Водитель);
ДанныеДокумента.Вставить("Пункт7_6",Шапка.Водитель);
ДанныеДокумента.Вставить("Пункт7_1",Шапка.АдресДоставки);
ДанныеДокумента.Вставить("Пункт10_4","Водитель:" + " " + Шапка.Водитель);
ДанныеДокумента.Вставить("Пункт11_2","Гос. номерной знак:" + " " + Шапка.НомерМашины);
ДанныеДокумента.Вставить("Пункт6_3",Формат(Шапка.ДатаДокумента,"ДЛФ=D"));
ДанныеДокумента.Вставить("Пункт11_1","Марка автомобиля:" + " " + Шапка.маркаАвто);
ДанныеДокумента.Вставить("Пункт15_1","Договорной тариф");
ДанныеДокумента.Вставить("Пункт16_2",Шапка.Водитель);
СчетФактура=УчетНДС.НайтиПодчиненныйСчетФактуру(Документ, "СчетФактураВыданный");
возврат ДанныеДокумента;
КонецФункции //ПолучитьДанныеДляТТНПриложение4()
Показать
вот ЗапросТовары
Запрос.Текст =
"ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВложенныйЗапрос.МассаБрутто КАК МассаБрутто,
| ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
| ВложенныйЗапрос.Номенклатура." + ТоварКод + " КАК Артикул,
| ВложенныйЗапрос.ЕдиницаИзмерения.Представление КАК БазоваяЕдиницаНаименование,
| ВложенныйЗапрос.ЕдиницаИзмерения.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
| ВложенныйЗапрос.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| ВложенныйЗапрос.ЕдиницаИзмеренияМест.Представление КАК ВидУпаковки,
| ВложенныйЗапрос.Характеристика КАК Характеристика,
| ВложенныйЗапрос.Серия КАК Серия,
| ВложенныйЗапрос.СтавкаНДС КАК СтавкаНДС,
| ВложенныйЗапрос.Цена КАК Цена,
| ВЫБОР
| КОГДА((ВложенныйЗапрос.ПроцентСкидкиНаценки = 0) И
| (ВложенныйЗапрос.ПроцентАвтоматическихСкидок = 0))
| ТОГДА ЛОЖЬ
| ИНАЧЕ Истина
| КОНЕЦ КАК ЕстьСкидкиПоСтроке,
| ВложенныйЗапрос.Количество КАК Количество,
| ВложенныйЗапрос.КоличествоМест КАК КоличествоМест,
| ВложенныйЗапрос.Сумма КАК Сумма,
| ВложенныйЗапрос.СуммаНДС КАК СуммаНДС,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| ВложенныйЗапрос.Метка КАК Метка
|ИЗ
|
| (
| ВЫБРАТЬ
| СУММА(РеализацияТоваровУслуг.Количество * РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Вес) КАК МассаБрутто,
| РеализацияТоваровУслуг.Коэффициент,
| РеализацияТоваровУслуг.ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры КАК Характеристика,
| РеализацияТоваровУслуг.СерияНоменклатуры КАК Серия,
| РеализацияТоваровУслуг.СтавкаНДС,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок,
| СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
| СУММА(РеализацияТоваровУслуг.КоличествоМест) КАК КоличествоМест,
| СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма,
| СУММА(РеализацияТоваровУслуг.СуммаНДС * &Курс / &Кратность) КАК СуммаНДС,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки,
| 0 КАК Метка
| ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
| ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Коэффициент,
| РеализацияТоваровУслуг.ЕдиницаИзмерения,
| РеализацияТоваровУслуг.ЕдиницаИзмеренияМест,
| РеализацияТоваровУслуг.ХарактеристикаНоменклатуры,
| РеализацияТоваровУслуг.СерияНоменклатуры,
| РеализацияТоваровУслуг.СтавкаНДС,
| РеализацияТоваровУслуг.Цена,
| РеализацияТоваровУслуг.ПроцентСкидкиНаценки,
| РеализацияТоваровУслуг.ПроцентАвтоматическихСкидок
|
| ) КАК ВложенныйЗапрос
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслуг.МассаБрутто КАК МассаБрутто,
| РеализацияТоваровУслуг.Номенклатура.НаименованиеПолное КАК ТоварНаименование,
| РеализацияТоваровУслуг.Номенклатура." + ТоварКод + " КАК Артикул,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Представление КАК БазоваяЕдиницаНаименование,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.ЕдиницаПоКлассификатору.Код КАК БазоваяЕдиницаКодПоОКЕИ,
| РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков КАК ЕдиницаИзмерения,
| NULL КАК ВидУпаковки,
| NULL КАК Характеристика,
| NULL КАК Серия,
| ""Без НДС"" КАК СтавкаНДС,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена,
| Ложь КАК ЕстьСкидкиПоСтроке,
| РеализацияТоваровУслуг.Количество КАК Количество,
| 0 КАК КоличествоМест,
| РеализацияТоваровУслуг.Сумма КАК Сумма,
| 0 КАК СуммаНДС,
| РеализацияТоваровУслуг.НомерСтроки КАК НомерСтроки,
| 2 КАК Метка
|ИЗ
|(ВЫБРАТЬ
| РеализацияТоваровУслуг.Номенклатура КАК Номенклатура,
| СУММА(РеализацияТоваровУслуг.Количество * РеализацияТоваровУслуг.Номенклатура.ЕдиницаХраненияОстатков.Вес) КАК МассаБрутто,
| РеализацияТоваровУслуг.Цена * &Курс / &Кратность КАК Цена,
| СУММА(РеализацияТоваровУслуг.Количество) КАК Количество,
| СУММА(РеализацияТоваровУслуг.Сумма * &Курс / &Кратность) КАК Сумма,
| МИНИМУМ(РеализацияТоваровУслуг.НомерСтроки) КАК НомерСтроки
|ИЗ
| Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
|
|ГДЕ
| РеализацияТоваровУслуг.Ссылка = &ТекущийДокумент
|СГРУППИРОВАТЬ ПО
| РеализацияТоваровУслуг.Номенклатура,
| РеализацияТоваровУслуг.Цена
|) КАК РеализацияТоваровУслуг
|УПОРЯДОЧИТЬ ПО Метка ВОЗР, НомерСтроки ВОЗР
|
|";
ЗапросТовары = Запрос.Выполнить().Выгрузить();
Показать
с запросом разобрался
возникла другая проблема
Если ЗначениеЗаполнено(СтрокаТЗ.Характеристика1) Тогда
НаимГруза=НаимГруза + СтрокаТЗ.ТоварНаименование + " " + СтрокаТЗ.Характеристика1;
Иначе
НаимГруза=НаимГруза + СтрокаТЗ.ТоварНаименование + " " + СтрокаТЗ.Характеристика;
КонецЕсли;
если истина печатает ТоварНаименование + Характеристика1
если ложь печатает ТоварНаименование без характеристики
почему не пойму
возникла другая проблема
Если ЗначениеЗаполнено(СтрокаТЗ.Характеристика1) Тогда
НаимГруза=НаимГруза + СтрокаТЗ.ТоварНаименование + " " + СтрокаТЗ.Характеристика1;
Иначе
НаимГруза=НаимГруза + СтрокаТЗ.ТоварНаименование + " " + СтрокаТЗ.Характеристика;
КонецЕсли;
если истина печатает ТоварНаименование + Характеристика1
если ложь печатает ТоварНаименование без характеристики
почему не пойму
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)