|
Вопрос по секциям в макете | ☑ | ||
---|---|---|---|---|
0
AnisaL
09.05.17
✎
12:58
|
Добрый день!!! Всех с праздником!
Вот как мне секции организовать, чтобы вывести и суммы и при этом наименование двух колонок выводилось? И как сюда скрины закинуть? |
|||
1
Ufo_Attack
09.05.17
✎
13:02
|
(0)>И как сюда скрины закинуть?
Использовать фотохостинги https://disk.yandex.ru/ , http://savepic.ru/ и другие. |
|||
2
AnisaL
09.05.17
✎
13:18
|
||||
3
AnisaL
09.05.17
✎
13:19
|
(1) а как потом ссылку сюда закинуть с яндекс диска?
|
|||
4
AnisaL
09.05.17
✎
13:22
|
||||
5
AnisaL
09.05.17
✎
13:25
|
||||
6
AnisaL
09.05.17
✎
13:28
|
Вопрос в том, что секция Сумма отдельно от секции Данные (первый скрин), и поэтому Заголовок секции "Сметная стоимость монтажных и ... " выводится наполовину ( 2-й скрин)
|
|||
7
AnisaL
09.05.17
✎
13:29
|
Как мне организовать секции, чтобы заголовок выходил полностью? и суммы выводились как на скрине
|
|||
8
AnisaL
09.05.17
✎
13:35
|
(1) Вопрос то хоть понятен, надеюсь?
|
|||
9
Ufo_Attack
09.05.17
✎
19:18
|
(0) В чем смысл вертикальных областей макета?
|
|||
10
AnisaL
10.05.17
✎
23:08
|
(9) Теперь я вот так сделала, вот фотки
|
|||
11
AnisaL
10.05.17
✎
23:12
|
||||
12
AnisaL
10.05.17
✎
23:13
|
||||
13
Wirtuozzz
10.05.17
✎
23:21
|
(0) Не понял, что надо от макета?
|
|||
14
Wirtuozzz
10.05.17
✎
23:22
|
вывести сумму и наименование в одной колонке? Тогда ставьте в тип ячейки в макете "ШАБЛОН", сейчас стоит "ПАРАМЕТР"
|
|||
15
AnisaL
10.05.17
✎
23:24
|
(13) вы какие скрины смотрели, первые?
|
|||
16
Wirtuozzz
10.05.17
✎
23:24
|
ТС, тебе надо не только область строки получать, но и область колонки, их пересечение выводить.
Зачем вообще нужна область колонки? М.б. ее удалить раз не понимаешь как с ней работать? зы. Если есть желание разобраться, то позырь как формируется ТОРГ12, сделай по аналогии. |
|||
17
Wirtuozzz
10.05.17
✎
23:25
|
(15) Да, просто время позднее. Вкурил кажется что вы хотите от макета.
|
|||
18
AnisaL
10.05.17
✎
23:27
|
(17) Удалять бы не хотелось вертикальные секции, придется многое переписать тогда
|
|||
19
Wirtuozzz
10.05.17
✎
23:30
|
(18) Тогда посмотрите как это реализовано в ТОРГ12. Там будет что то подобное ("ШапкаТаблица|Сумма") = "Тарам пам пам" ))))
|
|||
20
AnisaL
10.05.17
✎
23:34
|
(19) там нету вертикальных секций
|
|||
21
Wirtuozzz
10.05.17
✎
23:38
|
(20) Ничего страшного, зато на итс есть.
https://its.1c.ru/db/metod8dev/content/2581/hdoc |
|||
22
Wirtuozzz
10.05.17
✎
23:39
|
пардон, в ссылке ерунда.
|
|||
23
Wirtuozzz
10.05.17
✎
23:41
|
Если есть БП2.0, то можно посмотреть в ПФ Счет, к документу Счет на оплату, если БП нет, то:
|
|||
24
Wirtuozzz
10.05.17
✎
23:41
|
Функция ПечатьСчетаЗаказа(Тип)
Перем ПодразделениеОтветственныхЛиц; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); Запрос.Текст =" |ВЫБРАТЬ | Номер, | Дата, | ДоговорКонтрагента, | Организация, | Контрагент КАК Покупатель, | Организация КАК Руководители, | Организация КАК Поставщик, | ОрганизацияПолучатель КАК Получатель, | СуммаДокумента, | ВалютаДокумента, | УчитыватьНДС, | СуммаВключаетНДС |ИЗ | Документ.СчетНаОплатуПокупателю КАК ЗаказПокупателя | |ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент"; Шапка = Запрос.Выполнить().Выбрать(); Шапка.Следующий(); ТабДокумент = Новый ТабличныйДокумент; ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ЗаказПокупателя_СчетЗаказ"; Запрос = Новый Запрос; Запрос.УстановитьПараметр("ТекущийДокумент", ЭтотОбъект.Ссылка); ЧастьЗапросаДляВыбораСодержанияУслуг = ФормированиеПечатныхФорм.ПолучитьЧастьЗапросаДляВыбораСодержанияУслуг("ЗаказПокупателя"); Запрос.Текст = "ВЫБРАТЬ | ВложенныйЗапрос.Номенклатура КАК Номенклатура, | ВЫРАЗИТЬ(ВложенныйЗапрос.Номенклатура.НаименованиеПолное КАК Строка(1000)) КАК Товар, | ВложенныйЗапрос.Номенклатура.Код КАК Код, | ВложенныйЗапрос.Номенклатура.Артикул КАК Артикул, | ВложенныйЗапрос.Количество, | ВложенныйЗапрос.ЕдиницаИзмерения, | ВложенныйЗапрос.Цена, | ВложенныйЗапрос.Сумма, | ВложенныйЗапрос.СуммаНДС, | ВложенныйЗапрос.НомерСтроки КАК НомерСтроки, | 1 КАК ID |ИЗ | (ВЫБРАТЬ | ЗаказПокупателя.Номенклатура КАК Номенклатура, | ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование КАК ЕдиницаИзмерения, | ЗаказПокупателя.Цена КАК Цена, | СУММА(ЗаказПокупателя.Количество) КАК Количество, | СУММА(ЗаказПокупателя.Сумма) КАК Сумма, | СУММА(ЗаказПокупателя.СуммаНДС) КАК СуммаНДС, | МИНИМУМ(ЗаказПокупателя.НомерСтроки) КАК НомерСтроки | ИЗ | Документ.СчетНаОплатуПокупателю.Товары КАК ЗаказПокупателя | | ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | | СГРУППИРОВАТЬ ПО | ЗаказПокупателя.Номенклатура, | ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование, | ЗаказПокупателя.Цена) КАК ВложенныйЗапрос | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | " + ЧастьЗапросаДляВыбораСодержанияУслуг + ", | " + ЧастьЗапросаДляВыбораСодержанияУслуг + ", | ЗаказПокупателя.Номенклатура.Код КАК Код, | ЗаказПокупателя.Номенклатура.Артикул КАК Артикул, | ЗаказПокупателя.Количество, | ЗаказПокупателя.Номенклатура.БазоваяЕдиницаИзмерения.Наименование, | ЗаказПокупателя.Цена, | ЗаказПокупателя.Сумма, | ЗаказПокупателя.СуммаНДС, | ЗаказПокупателя.НомерСтроки, | 2 |ИЗ | Документ.СчетНаОплатуПокупателю.Услуги КАК ЗаказПокупателя | |ГДЕ | ЗаказПокупателя.Ссылка = &ТекущийДокумент | |УПОРЯДОЧИТЬ ПО | ID, | НомерСтроки"; ЗапросТовары = Запрос.Выполнить().Выгрузить(); Макет = ПолучитьМакет("СчетЗаказ"); // Выводим шапку накладной СведенияОПолучателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Получатель, Шапка.Дата); Если Тип = "Счет" Тогда ОбластьМакета = Макет.ПолучитьОбласть("ЗаголовокСчета"); ОбластьМакета.Параметры.Заполнить(Шапка); ОбластьМакета.Параметры.ИННПолучателя = СведенияОПолучателе.ИНН; ОбластьМакета.Параметры.КПППолучателя = СведенияОПолучателе.КПП; Если ТипЗнч(СтруктурнаяЕдиница) = Тип("СправочникСсылка.БанковскиеСчета") Тогда Банк = ?(НЕ ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов), СтруктурнаяЕдиница.Банк, СтруктурнаяЕдиница.БанкДляРасчетов); БИК = Банк.Код; КоррСчет = Банк.КоррСчет; ГородБанка = Банк.Город; НомерСчета = ВернутьРасчетныйСчет(СтруктурнаяЕдиница); ОбластьМакета.Параметры.БИКБанкаПолучателя = БИК; ОбластьМакета.Параметры.БанкПолучателя = Банк; ОбластьМакета.Параметры.БанкПолучателяПредставление = СокрЛП(Банк) + " " + ГородБанка; ОбластьМакета.Параметры.СчетБанкаПолучателя = КоррСчет; ОбластьМакета.Параметры.СчетБанкаПолучателяПредставление = КоррСчет; ОбластьМакета.Параметры.СчетПолучателяПредставление = НомерСчета; ОбластьМакета.Параметры.СчетПолучателя = НомерСчета; КонецЕсли; Если ПустаяСтрока(СтруктурнаяЕдиница.ТекстКорреспондента) Тогда ТекстКорреспондента = СведенияОПолучателе.НаименованиеДляПечатныхФорм; Если ЗначениеЗаполнено(СтруктурнаяЕдиница.БанкДляРасчетов) Тогда ТекстКорреспондента = ТекстКорреспондента + " р/с " + СтруктурнаяЕдиница.НомерСчета + " в " + СтруктурнаяЕдиница.Банк + " " + СтруктурнаяЕдиница.Банк.Город; КонецЕсли; Иначе ТекстКорреспондента = СтруктурнаяЕдиница.ТекстКорреспондента; КонецЕсли; ОбластьМакета.Параметры.ПредставлениеПолучателя = ТекстКорреспондента; ТабДокумент.Вывести(ОбластьМакета); КонецЕсли; ОбластьМакета = Макет.ПолучитьОбласть("Заголовок"); ОбластьМакета.Параметры.ТекстЗаголовка = ОбщегоНазначения.СформироватьЗаголовокДокумента(Шапка, "Счет на оплату"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Поставщик"); ОбластьМакета.Параметры.Заполнить(Шапка); СведенияОбОрганизации = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Организация, Шапка.Дата); ОбластьМакета.Параметры.ПредставлениеПоставщика = ФормированиеПечатныхФорм.ОписаниеОрганизации( СведенияОбОрганизации, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ТабДокумент.Вывести(ОбластьМакета); ОбластьМакета = Макет.ПолучитьОбласть("Покупатель"); ОбластьМакета.Параметры.Заполнить(Шапка); СведенияОПокупателе = УправлениеКонтактнойИнформацией.СведенияОЮрФизЛице(Шапка.Покупатель, Шапка.Дата); ОбластьМакета.Параметры.ПредставлениеПокупателя = ФормированиеПечатныхФорм.ОписаниеОрганизации( СведенияОПокупателе, "НаименованиеДляПечатныхФорм,ИНН,КПП,ЮридическийАдрес,Телефоны,"); ТабДокумент.Вывести(ОбластьМакета); ДопКолонка = Константы.ДополнительнаяКолонкаПечатныхФормДокументов.Получить(); Если ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Артикул Тогда ВыводитьКоды = Истина; Колонка = "Артикул"; ИначеЕсли ДопКолонка = Перечисления.ДополнительнаяКолонкаПечатныхФормДокументов.Код Тогда ВыводитьКоды = Истина; Колонка = "Код"; Иначе ВыводитьКоды = Ложь; КонецЕсли; ОбластьНомера = Макет.ПолучитьОбласть("ШапкаТаблицы|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ШапкаТаблицы|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("ШапкаТаблицы|Данные"); ОбластьСуммы = Макет.ПолучитьОбласть("ШапкаТаблицы|Сумма"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ОбластьКодов.Параметры.ИмяКолонкиКодов = Колонка; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); ТабДокумент.Присоединить(ОбластьСуммы); ОбластьКолонкаТовар = Макет.Область("Товар"); Если Не ВыводитьКоды Тогда ОбластьКолонкаТовар.ШиринаКолонки = ОбластьКолонкаТовар.ШиринаКолонки + Макет.Область("КолонкаКодов").ШиринаКолонки; КонецЕсли; ОбластьНомера = Макет.ПолучитьОбласть("Строка|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Строка|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("Строка|Данные"); ОбластьСуммы = Макет.ПолучитьОбласть("Строка|Сумма"); Сумма = 0; СуммаНДС = 0; ВсегоСкидок = 0; ВсегоБезСкидок = 0; Для каждого ВыборкаСтрокТовары Из ЗапросТовары Цикл ОбластьНомера.Параметры.НомерСтроки = ЗапросТовары.Индекс(ВыборкаСтрокТовары) + 1; ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда Если Колонка = "Артикул" Тогда ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Артикул; Иначе ОбластьКодов.Параметры.Артикул = ВыборкаСтрокТовары.Код; КонецЕсли; ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ОбластьДанных.Параметры.Заполнить(ВыборкаСтрокТовары); ОбластьДанных.Параметры.Товар = СокрЛП(ВыборкаСтрокТовары.Товар); ТабДокумент.Присоединить(ОбластьДанных); ОбластьСуммы.Параметры.Заполнить(ВыборкаСтрокТовары); ТабДокумент.Присоединить(ОбластьСуммы); Сумма = Сумма + ВыборкаСтрокТовары.Сумма; СуммаНДС = СуммаНДС + ВыборкаСтрокТовары.СуммаНДС; КонецЦикла; // Вывести Итого ОбластьНомера = Макет.ПолучитьОбласть("Итого|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("Итого|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("Итого|Данные"); ОбластьСуммы = Макет.ПолучитьОбласть("Итого|Сумма"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); ОбластьСуммы.Параметры.Всего = ОбщегоНазначения.ФорматСумм(Сумма); ТабДокумент.Присоединить(ОбластьСуммы); // Вывести ИтогоНДС ОбластьНомера = Макет.ПолучитьОбласть("ИтогоНДС|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ИтогоНДС|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоНДС|Данные"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоНДС|Сумма"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; Если СуммаНДС <> 0 Тогда ОбластьДанных.Параметры.НДС = ?(Шапка.СуммаВключаетНДС, "В том числе НДС:", "Сумма НДС:"); ОбластьСуммы.Параметры.ВсегоНДС = ОбщегоНазначения.ФорматСумм(СуммаНДС); Иначе ОбластьДанных.Параметры.НДС = "Без налога (НДС)"; ОбластьСуммы.Параметры.ВсегоНДС = "-"; КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); ТабДокумент.Присоединить(ОбластьСуммы); // Вывести ИтогоКОплате ОбластьНомера = Макет.ПолучитьОбласть("ИтогоКОплате|НомерСтроки"); ОбластьКодов = Макет.ПолучитьОбласть("ИтогоКОплате|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоКОплате|Данные"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоКОплате|Сумма"); ТабДокумент.Вывести(ОбластьНомера); Если ВыводитьКоды Тогда ТабДокумент.Присоединить(ОбластьКодов); КонецЕсли; ТабДокумент.Присоединить(ОбластьДанных); СуммаКОплате = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); ОбластьСуммы.Параметры.ИтогоКОплате = ОбщегоНазначения.ФорматСумм(СуммаКОплате); ТабДокумент.Присоединить(ОбластьСуммы); // Вывести Сумму прописью ОбластьМакета = Макет.ПолучитьОбласть("СуммаПрописью"); СуммаКПрописи = Сумма + ?(Шапка.СуммаВключаетНДС, 0, СуммаНДС); ОбластьМакета.Параметры.ИтоговаяСтрока ="Всего наименований " + ЗапросТовары.Количество() + ", на сумму " + ОбщегоНазначения.ФорматСумм(СуммаКПрописи, Шапка.ВалютаДокумента); ОбластьМакета.Параметры.СуммаПрописью = ОбщегоНазначения.СформироватьСуммуПрописью(СуммаКПрописи, Шапка.ВалютаДокумента); ТабДокумент.Вывести(ОбластьМакета); // Вывести подписи Если Тип = "Счет" Тогда Если Шапка.Получатель.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮрЛицо Тогда ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчета"); Руководители = ОбщегоНазначения.ОтветственныеЛица(Шапка.Руководители, Шапка.Дата, ПодразделениеОтветственныхЛиц); Руководитель = Руководители.РуководительПредставление; Бухгалтер = Руководители.ГлавныйБухгалтерПредставление; ОбластьМакета.Параметры.ФИОРуководителя = Руководитель; ОбластьМакета.Параметры.ФИОБухгалтера = Бухгалтер; Иначе ОбластьМакета = Макет.ПолучитьОбласть("ПодвалСчетаПредприниматель"); ФЛ = Шапка.Получатель.ИндивидуальныйПредприниматель; ДанныеФЛ = РегистрыСведений.ФИОФизЛиц.СрезПоследних(Дата, Новый Структура("ФизЛицо",ФЛ)); Если ДанныеФЛ.Количество() > 0 Тогда Предприниматель = СокрЛП(ДанныеФЛ[0].Фамилия) + " " + Лев(СокрЛП(ДанныеФЛ[0].Имя),1) + ". " + Лев(СокрЛП(ДанныеФЛ[0].Отчество),1) + "."; Иначе Предприниматель = ""; КонецЕсли; ОбластьМакета.Параметры.ФИОПредпринимателя = Предприниматель; КонецЕсли; Иначе ОбластьМакета = Макет.ПолучитьОбласть("ПодвалЗаказа"); КонецЕсли; ОбластьМакета.Параметры.Заполнить(Шапка); ТабДокумент.Вывести(ОбластьМакета); Возврат ТабДокумент; КонецФункции // ПечатьСчетаЗаказа() |
|||
25
Wirtuozzz
10.05.17
✎
23:42
|
ОбластьНомера = Макет.ПолучитьОбласть("ИтогоКОплате|НомерСтроки");
ОбластьКодов = Макет.ПолучитьОбласть("ИтогоКОплате|КолонкаКодов"); ОбластьДанных = Макет.ПолучитьОбласть("ИтогоКОплате|Данные"); ОбластьСуммы = Макет.ПолучитьОбласть("ИтогоКОплате|Сумма"); Вот это то что вам нужно. Удачной вам рабочей ночи. |
|||
26
AnisaL
10.05.17
✎
23:44
|
(22) ага точно)
|
|||
27
AnisaL
10.05.17
✎
23:46
|
(25) Спасибо)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |