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

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

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

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

Оффлайн Dethmontt

  • Денис
  • Модератор
  • *****
  • Сообщений: 2677
  • РЕПУТАЦИЯ: 519
  • КПД: 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

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

Оффлайн sapravka

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

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


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

Оффлайн Dethmontt

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

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

Оффлайн sapravka

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

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

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

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

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

Оффлайн Dethmontt

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

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

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

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

Оффлайн sapravka

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

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

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

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

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




 

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
alex0402
122 Сообщений
MuI_I_Ika MuI_I_Ika
53 Сообщений
Norfolk
52 Сообщений
LexaK
46 Сообщений
друган
20 Сообщений
AsadRoman
20 Сообщений
alexandr_ll
20 Сообщений
Константин5825
18 Сообщений
MrLvovsky MrLvovsky
16 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal