Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
26 Июл 2017, 11:26
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Как в печатной форме вывести 2 столбца?  (Прочитано 19782 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Здравствуйте!
 Собственно все по порядку:
 Имеем Бухгалтерия предприятия, редакция 2.0 (2.0.40.11)
 В табличной части счет на оплату, я добавил: Скидки и СуммаСкидок
 И это реализовано таким образом, что итоговая сумма автоматически уменьшается на сумму скидок.

Тут все меня устраивает, но вот решил сделать отдельную печатную форму (Счет со скидкой)и тут возник вопрос:
 Как в печатной формы реализовать заполнение этих двух столбцов?
 А то получается:

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

ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("ЗаказПокупателя");

Запрос.Текст =
"ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура КАК Номенклатура,
| ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар,
| ВложенныйЗапрос.Номенклатура.Код КАК Код,
| ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул,
| ВложенныйЗапрос.Количество,
| ВложенныйЗапрос.ЕдиницаИзмерения,
| ВложенныйЗапрос.Цена,
| ВложенныйЗапрос.Сумма,
| ВложенныйЗапрос.СуммаНДС,
| ВложенныйЗапрос.НомерСтроки КАК НомерСтроки,
| 1 КАК ID
|ИЗ
| (ВЫБРАТЬ
|  ЗаказПокупателя.Номенклатура КАК Номенклатура,
|  ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения,
|  ЗаказПокупателя.Цена КАК Цена,
|  СУММА(ЗаказПокупателя.Количество) КАК Количество,
|  СУММА(ЗаказПокупателя.Сумма) КАК Сумма,
|  СУММА(ЗаказПокупателя.СуммаНДС) КАК СуммаНДС,
|  МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки
| ИЗ
|  Документ.СчетНаОплатуПокупателю.Товары КАК ЗаказПокупателя
|
| ГДЕ
|  ЗаказПокупателя.Ссылка = &ТекущийДокумент
|
| СГРУППИРОВАТЬ ПО
|  ЗаказПокупателя.Номенклатура,
|  ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
|  ЗаказПокупателя.Цена) КАК ВложенныйЗапрос
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
| " + ЧастьЗапросаДляВыбораСодержанияУслуг + ",
| ЗаказПокупателя.Номенклатура.Код КАК Код,
| ЗаказПокупателя.Номенклатура.Артикул КАК Артикул,
| ЗаказПокупателя.Количество,
| ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование,
| ЗаказПокупателя.Цена,
| ЗаказПокупателя.Сумма,
| ЗаказПокупателя.СуммаНДС,
| ЗаказПокупателя.НомерСтроки,
| 2
|ИЗ
| Документ.СчетНаОплатуПокупателю.Услуги КАК ЗаказПокупателя
|
|ГДЕ
| ЗаказПокупателя.Ссылка = &ТекущийДокумент
|
|УПОРЯДОЧИТЬ ПО
| ID,
| НомерСтроки";
ЗапросТовары = Запрос.Выполнить().Выгрузить();
Макет = ПолучитьМакет("СчетЗаказСкидки");
// Выводим шапку накладной
СведенияОПолучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата);
Если Тип = "СчетСкидка" Тогда
  ОбластьМакета    = Макет.ПолучитьОбласть("ЗаголовокСчета");
  ОбластьМакета.Параметры.Заполнить(Шапка);
  ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН;
  ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП;
  Если ТипЗнч(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда
Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов);
   БИК = Банк.Код;
   КоррСчет   = Банк.КоррСчет;
   ГородБанка = Банк.Город;
   НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница);
   ОбластьМакета.Параметры.БИКБанкаПолучателя    = БИК;
   ОбластьМакета.Параметры.БанкПолучателя    = Банк;
   ОбластьМакета.Параметры.БанкПолучателяПредставление   = СокрЛП(Банк) + " " + ГородБанка;
   ОбластьМакета.Параметры.СчетБанкаПолучателя   = КоррСчет;
   ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет;
   ОбластьМакета.Параметры.СчетПолучателяПредставление   = НомерСчета;
   ОбластьМакета.Параметры.СчетПолучателя    = НомерСчета;
  КонецЕсли;

  Если ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда
   ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм;
   Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда
ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета
+ " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город;
   КонецЕсли;
  Иначе
   ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента;
  КонецЕсли;
  ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента;

  ТабДокумент.Вывести(ОбластьМакета);
КонецЕсли;
ОбластьМакета = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Счет на оплату");

ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Поставщик");
ОбластьМакета.Параметры.Заполнить(Шапка);
СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата);
ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации(
  СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
ТабДокумент.Вывести(ОбластьМакета);
ОбластьМакета = Макет.ПолучитьОбласть("Покупатель");
ОбластьМакета.Параметры.Заполнить(Шапка);
СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата);
ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации(
  СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,");
ТабДокумент.Вывести(ОбластьМакета);

ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить();
Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда
  ВыводитьКоды = Истина;
  Колонка = "Артикул";
ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда
  ВыводитьКоды = Истина;
  Колонка = "Код";
Иначе
  ВыводитьКоды = Ложь;
КонецЕсли;
ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки");
ОбластьКодов  = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные");
ОбластьСуммы  = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма");
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
  ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка;
  ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
ТабДокумент.Присоединить(ОбластьСуммы);
ОбластьКолонкаТовар = Макет.Область("Товар");

Если Не ВыводитьКоды Тогда
  ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки +
   Макет.Область("КолонкаКодов").ШиринаКолонки;
КонецЕсли;
ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки");
ОбластьКодов  = Макет.ПолучитьОбласть("Строка|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные");
ОбластьСуммы  = Макет.ПолучитьОбласть("Строка|Сумма");
Сумма = 0;
СуммаНДС = 0;
ВсегоСкидок = 0;
ВсегоБезСкидок = 0;
Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл
  ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1;
  ТабДокумент.Вывести(ОбластьНомера);

  Если ВыводитьКоды Тогда
   Если Колонка = "Артикул" Тогда
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул;
   Иначе
ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код;
   КонецЕсли;
   ТабДокумент.Присоединить(ОбластьКодов);
  КонецЕсли;
  ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары);
  ОбластьДанных.Параметры.Товар    = СокрЛП(ВыборкаСтрокТовары.Товар);
  ТабДокумент.Присоединить(ОбластьДанных);
  ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары);
  ТабДокумент.Присоединить(ОбластьСуммы);
  Сумма   = Сумма    + ВыборкаСтрокТовары.Сумма;
  СуммаНДС    = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС;
КонецЦикла;
// Вывести Итого
ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки");
ОбластьКодов  = Макет.ПолучитьОбласть("Итого|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные");
ОбластьСуммы  = Макет.ПолучитьОбласть("Итого|Сумма");
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
  ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма);
ТабДокумент.Присоединить(ОбластьСуммы);
// Вывести ИтогоНДС
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки");
ОбластьКодов  = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные");
ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоНДС|Сумма");

ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
  ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
Если СуммаНДС <> 0 Тогда
  ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:");
  ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС);
Иначе
  ОбластьДанных.Параметры.НДС = "Без налога (НДС)";
  ОбластьСуммы.Параметры.ВсегоНДС = "-";
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);

ТабДокумент.Присоединить(ОбластьСуммы);

// Вывести ИтогоКОплате
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоКОплате|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоКОплате|КолонкаКодов");
ОбластьДанных = Макет.ПолучитьОбласть("ИтогоКОплате|Данные");
ОбластьСуммы  = Макет.ПолучитьОбласть("ИтогоКОплате|Сумма");
ТабДокумент.Вывести(ОбластьНомера);
Если ВыводитьКоды Тогда
  ТабДокумент.Присоединить(ОбластьКодов);
КонецЕсли;
ТабДокумент.Присоединить(ОбластьДанных);
СуммаКОплате = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
ОбластьСуммы.Параметры.ИтогоКОплате = ОбщегоНазначения.ФорматСумм(СуммаКОплате);
ТабДокумент.Присоединить(ОбластьСуммы);

// Вывести Сумму прописью
ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью");
СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС);
ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество()
+ ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента);
ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента);
ТабДокумент.Вывести(ОбластьМакета);
// Вывести подписи
Если Тип = "Счет" Тогда

  Если Шапка.Получатель.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда
   ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета");
 
   Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Руководители, Шапка.Дата, ПодразделениеОтветственныхЛиц);
   Руководитель = Руководители.РуководительПредставление;
   Бухгалтер = Руководители.ГлавныйБухгалтерПредставление;
 
   ОбластьМакета.Параметры.ФИОРуководителя = Руководитель;
   ОбластьМакета.Параметры.ФИОБухгалтера   = Бухгалтер;
 
  Иначе
   ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель");
 
   ФЛ = Шапка.Получатель.ИндивидуальныйПредприниматель;
   ДанныеФЛ = РегистрыСведений.ФИОФизЛиц.СрезПоследних(Дата, Новый Структура("ФизЛицо",ФЛ));
   Если ДанныеФЛ.Количество() > 0 Тогда
Предприниматель = СокрЛП(ДанныеФЛ[0].Фамилия) + " " + Лев(СокрЛП(ДанныеФЛ[0].Имя),1) + ". " + Лев(СокрЛП(ДанныеФЛ[0].Отчество),1) + ".";
   Иначе
Предприниматель = "";
   КонецЕсли;
 
   ОбластьМакета.Параметры.ФИОПредпринимателя = Предприниматель;
 
  КонецЕсли;

Иначе
  ОбластьМакета = Макет.ПолучитьОбласть("ПодвалЗаказа");
КонецЕсли;
ОбластьМакета.Параметры.Заполнить(Шапка);
ТабДокумент.Вывести(ОбластьМакета);
Возврат ТабДокумент;
КонецФункции // ПечатьСчетаЗаказа()
//****************************************************************************
Пытаюсь зайти в запрос (заметьте, запрос который сделан в 1с), а там выдается ошибка:

Вот этот запрос:
 Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);

ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("ЗаказПокупателя");

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



Подскажите, пожалуйста, как сделать заполнение этих двух  ячеек?
 Что бы в печатной форме заполнялась данные ячейки?


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
очевидно, ошибка у вас в 37-ой строке запроса.
Зачем ЧастьЗапросаДляВыбораСодержанияУслуг добавляется в запрос 2 раза? Уберите - должно помочь.

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2856
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Я так понимаю в запрос нужно добавить две колонки... что бы открыть конструктором запрос нужно, поставить точку останова на строке: ЗапросТовары = Запрос.Выполнить().Выгрузить();
Нажать Shift+F9 в окне написать Запрос.Текст нажать Enter(или рассчитать) Жмем F2 - копируем текст запроса в консоль, изменяем запрос на как нам нужно! Вставляем добавленные поля в текущий запрос... РАДУЕМСЯ

P.S. Если имена колонок в запросе будут совпадать с именами параметров в макете, то кроме изменения запроса больше ничего делать не придется...
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Я так понимаю в запрос нужно добавить две колонки... что бы открыть конструктором запрос нужно, поставить точку останова на строке: ЗапросТовары = Запрос.Выполнить().Выгрузить();Нажать Shift+F9 в окне написать Запрос.Текст нажать Enter(или рассчитать) Жмем F2 - копируем текст запроса в консоль, изменяем запрос на как нам нужно! Вставляем добавленные поля в текущий запрос... РАДУЕМСЯP.S. Если имена колонок в запросе будут совпадать с именами параметров в макете, то кроме изменения запроса больше ничего делать не придется...

Вот пробую:

Нажимаю f2 но что то ничего не копируется...
Подскажите пожалуйста, что не так я делаю?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2856
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Встаешь на свойство Запрос.Текст жмешь F2
Открывается окно копируешь текст запроса вставляешь в консоль - правишь!
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Встаешь на свойство Запрос.Текст жмешь F2
Открывается окно копируешь текст запроса вставляешь в консоль - правишь!
Вот написал запрос и в цикле выборку:
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка);
Запрос.Текст =
"ВЫБРАТЬ
| СчетНаОплатуПокупателюТовары.Скидка,
| СчетНаОплатуПокупателюТовары.СуммаСкидки
|ИЗ
| Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары";
ЗапросСкидки = Запрос.Выполнить().Выгрузить();
Скидка = 0;
СуммаСкидки =0;
Для каждого ВыборкаСтрокСкидки Из ЗапросСкидки Цикл
  Скидка = Скидка + ВыборкаСтрокСкидки.Скидка;
  СуммаСкидки = СуммаСкидки + ВыборкаСтрокСкидки.СуммаСкидки;
КонецЦикла;

Но при вычислении выражения:


Переберая цикл ставит в самом конце нужные мне результаты...
Соответственно ноль и получает - наверное с первой строчки и берет, а там НОЛЬ!!!
 Зачемто 1773 раза перебрала, хотя в табличной части всего 4 строки...
 Подскажите пожалуйста - как правильно выбрать, что бы взять исходный результат, который почемуто находится в самом конце при переборе циклом?

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2856
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Наверное вам необходимо почитать книжки про запросы (Вы выбираете все документы из системы, а вам нужно в запросе сделать фильтр - например только текущего документа)

"ВЫБРАТЬ
| СчетНаОплатуПокупателюТовары.Скидка,
| СчетНаОплатуПокупателюТовары.СуммаСкидки
|ИЗ
| Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
|ГДЕ СчетНаОплатуПокупателюТовары.Ссылка = &ТекущийДокумент";
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Наверное вам необходимо почитать книжки про запросы (Вы выбираете все документы из системы, а вам нужно в запросе сделать фильтр - например только текущего документа)

"ВЫБРАТЬ
| СчетНаОплатуПокупателюТовары.Скидка,
| СчетНаОплатуПокупателюТовары.СуммаСкидки
|ИЗ
| Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателюТовары
|ГДЕ СчетНаОплатуПокупателюТовары.Ссылка = &ТекущийДокумент";

Спасибо!
Через отладчик посмотрел -  ВЫБИРАЕТ, НО
в Макет почему то не подставляется...
Подскажите, пожалуйста, почему?
В Макете прописал параметр:

Но он почему то не выводит при просмотре...
Подскажите пожалуйста, что я забыл?

P.S. Насчет почитать книгу - как Вы считаете - такая подойдет:
Разработка сложных отчетов в "1С:Предприятии 8.2". Система компоновки данных". Издание 2

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2856
  • РЕПУТАЦИЯ: 546
  • КПД: 19%
  • Адын Эс
  • Регистрация: 2010-11-01
  • Сайт: 
  • Профессия: Программист 1С
Параметр в макете это вот это:

Добавлено: 28 Ноя 2012, 00:37

про книжку могу сказать, что вредно вам не будет от нее...

Посмотрите для начала видео уроки от Чистова
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Оффлайн sapravka

  • *
  • Сообщений: 40
  • РЕПУТАЦИЯ: 1
  • КПД: 3%
  • Регистрация: 2011-09-27
  • Сайт: волгалаб.рф
  • Профессия: Ученик 1С
Параметр в макете это вот это:

Добавлено: 28 Ноя 2012, 00:37

про книжку могу сказать, что вредно вам не будет от нее...

Посмотрите для начала видео уроки от Чистова

Обязательно посмотрю и почитаю...
Ну а все таки, можно спросить, почему у меня не выводить в печатную форму?
(я указал в макете параметр Скидка, так же в модуле выбрал данный данный реквизит  табличной части, а вот почему то он все равно не выводится)




 

Группа "СписокКомпоновщикНастроекПользовательскиеНастройки" в форме "Перечисления"

Автор Азамат ХубиевРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 1434
Последний ответ 12 Ноя 2016, 18:08
от Азамат Хубиев
Как настроить отображение на форме "группа плательщика единого налога" при выборе системы налогообложения "Единый налог"?

Автор Nicolayci91Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 2086
Последний ответ 17 Авг 2015, 07:48
от cska-fanat-kz
Ребята, срочно нужна помощь. Какую процедуру нужно написать в форме справочника, чтобы таблица заполнялась данными из другого справочника?

Автор Олька БякинаРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2373
Последний ответ 27 Май 2016, 15:19
от Олька Бякина
Модуль к форме "Настройка заполнения"

Автор oyufedРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 4214
Последний ответ 17 Янв 2014, 16:35
от oyufed
Отображение HTML-макета в форме с HTML-полем.

Автор spikee666Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 3270
Последний ответ 21 Авг 2014, 17:51
от spikee666

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

alex0402
92 Сообщений
oleg-x
79 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
Golickoff Golickoff
51 Сообщений
AIFrame
45 Сообщений
ilyay ilyay
42 Сообщений
Амал
30 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений
xproh
21 Сообщений

* Кто онлайн

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal