горизонтальное пересечение областей в макете 1с
есть типовой макет ПКО. в нем выводиться только одна строка. мне нужно чтобы выводилось несколько строк в разрезе аналитики. в функции печати в запросе добавила пакет для вывода нужных строк. при выводе в форме строки встают в самом верху, хотя вставляю в середине вывода области шапки. подскажите почему так может быть?
ОбластьРасшифровка = Макет.ПолучитьОбласть("СтрокаРасшифровка");
Пока Расшифровка.Следующий() Цикл
ОбластьРасшифровка.Параметры.Заполнить(Расшифровка);
ОбластьРасшифровка.Параметры.КодДебета = УправлениеПечатьюБГУ.ПредставлениеРабочегоСчета( ,Расшифровка.КФО,Расшифровка.Счет,,,);
ОбластьРасшифровка.Параметры.СубСчет = УправлениеПечатьюБГУ.ПредставлениеРабочегоСчета( ,Расшифровка.КФО,Расшифровка.КорСчет,Расшифровка.КЭК,,);
ОбластьРасшифровка.Параметры.КодПодразделения = Расшифровка.КодПодразделения;
ОбластьРасшифровка.Параметры.КодАналитическогоУчета = Расшифровка.КодАналитическогоУчета;
ОбластьРасшифровка.Параметры.КодЦелевогоНазначения = Расшифровка.КодЦелевогоНазначения;
ОбластьРасшифровка.Параметры.СуммаСНазваниемВалюты = Формат(Расшифровка.Сумма, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧГ=0") + ?(Шапка.ВалютаДокумента = ВалютаРегламентированногоУчета, "", " " + Шапка.ВалютаДокумента);
ТабличныйДокумент.Вывести(ОбластьРасшифровка);
КонецЦикла;
ПоказатьПрикрепленные файлы:
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
шапку я бы разделил на шапка и футер, а уже между ними сделал строки.
думаю у вас в функции снала вызывается:
а уже потом где-то дальше
Именно поэтому вы и получаете, что сначала у вас выводятся строки а только потом шапка.
шапку я бы разделил на шапка и футер, а уже между ними сделал строки.
думаю у вас в функции снала вызывается:
ТабличныйДокумент.Вывести(ОбластьРасшифровка);
а уже потом где-то дальше
ТабличныйДокумент.Вывести(ОбластьШапки);
Именно поэтому вы и получаете, что сначала у вас выводятся строки а только потом шапка.
(4)
Функция ПечатьКО1(МассивОбъектов, ОбъектыПечати) Экспорт
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПараметрыПечати_КО1";
Макет = ПолучитьМакет("ПФ_MXL_КО1");
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ПриходныйКассовыйОрдер.Номер КАК Номер,
| ПриходныйКассовыйОрдер.Дата КАК ДатаДокумента,
| ПриходныйКассовыйОрдер.Организация.НаименованиеПолное КАК ПолноеНаименованиеОрганизации,
| ВЫБОР
| КОГДА ПриходныйКассовыйОрдер.Организация.ИспользоватьВПлатежныхДокументахСокращенноеНаименование = ИСТИНА
| ТОГДА ПриходныйКассовыйОрдер.Организация.НаименованиеСокращенное
| ИНАЧЕ ПриходныйКассовыйОрдер.Организация.НаименованиеПолное
| КОНЕЦ КАК ПредставлениеОрганизации,
| ПриходныйКассовыйОрдер.Организация.НаименованиеСокращенное КАК СокращенноеНаименованиеОрганизации,
| ВЫБОР
| КОГДА ПриходныйКассовыйОрдер.Подразделение.НаименованиеПолное = """"
| ТОГДА ПриходныйКассовыйОрдер.Подразделение
| ИНАЧЕ ПриходныйКассовыйОрдер.Подразделение.НаименованиеПолное
| КОНЕЦ КАК ПредставлениеПодразделения,
| ПриходныйКассовыйОрдер.ПодразделениеКор КАК ПодразделениеКор,
| ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента,
| ПриходныйКассовыйОрдер.ГлБухгалтер КАК ГлБухгалтер,
| ПриходныйКассовыйОрдер.Кассир КАК Кассир,
| ПриходныйКассовыйОрдер.ПринятоОт КАК ПринятоОт,
| ПриходныйКассовыйОрдер.Основание КАК Основание,
| ПриходныйКассовыйОрдер.Приложение КАК Приложение,
| ПриходныйКассовыйОрдер.Ссылка КАК Ссылка,
| ПриходныйКассовыйОрдер.СтавкаНДС КАК СтавкаНДС,
| ПриходныйКассовыйОрдер.СуммаНДС КАК СуммаНДС,
| ПриходныйКассовыйОрдер.ВалютаДокумента КАК ВалютаДокумента,
| ПриходныйКассовыйОрдер.Организация.Префикс КАК ПрефиксОрганизации,
| ВЫБОР
| КОГДА ВложенныйЗапрос.КоличествоКФО = 1
| ТОГДА ВложенныйЗапрос.КФО
| ИНАЧЕ ""0""
| КОНЕЦ КАК КФО,
| ПриходныйКассовыйОрдер.Организация.КодОКПО КАК ОрганизацияПоОКПО,
| ЛОЖЬ КАК Фондовый,
| ПриходныйКассовыйОрдер.ПоступлениеВыручкиТорговойТочки КАК ПоступлениеВыручкиТорговойТочки
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК Ссылка,
| МАКСИМУМ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.КФО) КАК КФО,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.КФО) КАК КоличествоКФО
| ИЗ
| Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
| ГДЕ
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка В(&МассивОбъектов)
|
| СГРУППИРОВАТЬ ПО
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка) КАК ВложенныйЗапрос
| ПО ПриходныйКассовыйОрдер.Ссылка = ВложенныйЗапрос.Ссылка
|ГДЕ
| ПриходныйКассовыйОрдер.Ссылка В(&МассивОбъектов)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПриходныйОрдерФондовый.Номер,
| ПриходныйОрдерФондовый.Дата,
| ПриходныйОрдерФондовый.Организация.НаименованиеПолное,
| ВЫБОР
| КОГДА ПриходныйОрдерФондовый.Организация.ИспользоватьВПлатежныхДокументахСокращенноеНаименование = ИСТИНА
| ТОГДА ПриходныйОрдерФондовый.Организация.НаименованиеСокращенное
| ИНАЧЕ ПриходныйОрдерФондовый.Организация.НаименованиеПолное
| КОНЕЦ,
| ПриходныйОрдерФондовый.Организация.НаименованиеСокращенное,
| ВЫБОР
| КОГДА ПриходныйОрдерФондовый.Подразделение.НаименованиеПолное = """"
| ТОГДА ПриходныйОрдерФондовый.Подразделение
| ИНАЧЕ ПриходныйОрдерФондовый.Подразделение.НаименованиеПолное
| КОНЕЦ,
| ПриходныйОрдерФондовый.ПодразделениеКор,
| ПриходныйОрдерФондовый.СуммаДокумента,
| ПриходныйОрдерФондовый.ГлБухгалтер,
| ПриходныйОрдерФондовый.Кассир,
| ПриходныйОрдерФондовый.ПринятоОт,
| ПриходныйОрдерФондовый.Основание,
| ПриходныйОрдерФондовый.Приложение,
| ПриходныйОрдерФондовый.Ссылка,
| NULL,
| 0,
| ВалютаРегламентированногоУчета.Значение,
| ПриходныйОрдерФондовый.Организация.Префикс,
| ВЫБОР
| КОГДА ВложенныйЗапрос.КоличествоКФО = 1
| ТОГДА ВложенныйЗапрос.КФО
| ИНАЧЕ ""0""
| КОНЕЦ,
| ПриходныйОрдерФондовый.Организация.КодОКПО,
| ИСТИНА,
| ЛОЖЬ
|ИЗ
| Документ.ПриходныйОрдерФондовый КАК ПриходныйОрдерФондовый
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПриходныйОрдерФондовыйРасшифровка.Ссылка КАК Ссылка,
| МАКСИМУМ(ПриходныйОрдерФондовыйРасшифровка.КФО) КАК КФО,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйОрдерФондовыйРасшифровка.КФО) КАК КоличествоКФО
| ИЗ
| Документ.ПриходныйОрдерФондовый.Расшифровка КАК ПриходныйОрдерФондовыйРасшифровка
| ГДЕ
| ПриходныйОрдерФондовыйРасшифровка.Ссылка В(&МассивОбъектов)
|
| СГРУППИРОВАТЬ ПО
| ПриходныйОрдерФондовыйРасшифровка.Ссылка) КАК ВложенныйЗапрос
| ПО ПриходныйОрдерФондовый.Ссылка = ВложенныйЗапрос.Ссылка,
| Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета
|ГДЕ
| ПриходныйОрдерФондовый.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Номер
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.КФО КАК КФО,
| ПриходныйКассовыйОрдер.Счет КАК Счет,
| ПриходныйКассовыйОрдер.КорСчет КАК КорСчет,
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.КЭК КАК КЭК,
| ПриходныйКассовыйОрдер.КодАналитическогоУчета КАК КодАналитическогоУчета,
| ПриходныйКассовыйОрдер.КодЦелевогоНазначения.Код КАК КодЦелевогоНазначения,
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сумма КАК Сумма,
| ЕСТЬNULL(ПриходныйКассовыйОрдер.ПодразделениеКор.Код, """") КАК КодПодразделения
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
| ПО ПриходныйКассовыйОрдер.Ссылка = ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка
|ГДЕ
| ПриходныйКассовыйОрдер.Ссылка В(&МассивОбъектов)";
Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
МассивРезультатов = Запрос.ВыполнитьПакет();
Шапка = МассивРезультатов[0].Выбрать();
Расшифровка = МассивРезультатов[1].Выбрать();
ВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();
ПервыйДокумент = Истина;
Пока Шапка.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ЗаполнитьЗначенияСвойств(ОбластьШапка.Параметры, Шапка);
СтруктураОбластьШапка = Новый Структура("Сумма,СуммаРубКоп,СуммаПрописью,ВТомЧисле,ФИОГлавногоБухгалтера,ФИОКассира,НомерДокумента,ДатаДокументаКв"); //КодДебета,СубСчет,
СтруктураОбластьШапка.Сумма = Формат(Шапка.СуммаДокумента, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧГ=0");
// СтруктураОбластьШапка.Вставить("СуммаСНазваниемВалюты", Формат(Шапка.СуммаДокумента, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧГ=0") + ?(Шапка.ВалютаДокумента = ВалютаРегламентированногоУчета, "", " " + Шапка.ВалютаДокумента));
СтруктураОбластьШапка.СуммаРубКоп = РубКоп(Шапка.СуммаДокумента, Шапка.ВалютаДокумента);
СтруктураОбластьШапка.СуммаПрописью=ОбщегоНазначенияБГУ.СформироватьСуммуПрописью(Шапка.СуммаДокумента, Шапка.ВалютаДокумента);
Если НЕ Шапка.Фондовый Тогда
ДокументСсылка = Шапка.Ссылка;
Если Шапка.ПоступлениеВыручкиТорговойТочки Тогда
ДанныеСтавкиДокумента = ПодключаемоеОборудованиеБГУ.ЕдиныеСтавкиВДокументеОснованииПКО(ДокументСсылка);
Если ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество() = 0 Тогда
СтруктураОбластьШапка.ВТомЧисле = "без налога (НДС)";
Иначе
СчетчикСтрок = 1;
ВсегоСтрок = ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество();
ТекстДляНДС = "НДС";
Для каждого ТекСтрока Из ДанныеСтавкиДокумента.ТаблицаПоСтавкам Цикл
ТекстДляНДС = ТекстДляНДС + "(" + ТекСтрока.СтавкаНДС + ")" + РубКоп(ТекСтрока.СуммаНДС, Шапка.ВалютаДокумента);
Если СчетчикСтрок < ВсегоСтрок Тогда
ТекстДляНДС = СокрП(ТекстДляНДС) + "; ";
КонецЕсли;
СчетчикСтрок = СчетчикСтрок + 1;
КонецЦикла;
СтруктураОбластьШапка.ВТомЧисле = ТекстДляНДС;
КонецЕсли;
ИначеЕсли ДокументСсылка.ДокументыЧекаККМ.Количество() > 0 Тогда
ДанныеСтавкиДокумента = ПодключаемоеОборудованиеБГУ.ЕдиныеСтавкиВДокументеОснованииЧекаККМ(ДокументСсылка);
Если ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество() = 0 Тогда
СтруктураОбластьШапка.ВТомЧисле = "без налога (НДС)";
Иначе
СчетчикСтрок = 1;
ВсегоСтрок = ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество();
ТекстДляНДС = "НДС";
Для каждого ТекСтрока Из ДанныеСтавкиДокумента.ТаблицаПоСтавкам Цикл
ТекстДляНДС = ТекстДляНДС + "(" + ТекСтрока.СтавкаНДС + ")" + РубКоп(ТекСтрока.СуммаНДС, Шапка.ВалютаДокумента);
Если СчетчикСтрок < ВсегоСтрок Тогда
ТекстДляНДС = СокрП(ТекстДляНДС) + "; ";
КонецЕсли;
СчетчикСтрок = СчетчикСтрок + 1;
КонецЦикла;
СтруктураОбластьШапка.ВТомЧисле = ТекстДляНДС;
КонецЕсли;
Иначе
СтруктураОбластьШапка.ВТомЧисле = ?(Шапка.СуммаНДС > 0, " НДС(" + Шапка.СтавкаНДС + ")" + РубКоп(Шапка.СуммаНДС, Шапка.ВалютаДокумента), "без налога (НДС)");
КонецЕсли;
КонецЕсли;
//СтруктураОбластьШапка.КодДебета = БухгалтерскийУчетПовтИсп.ПолучитьПредставлениеСчета(Шапка.Счет, , Шапка.КФО);
//СтруктураОбластьШапка.СубСчет = БухгалтерскийУчетПовтИсп.ПолучитьПредставлениеСчета(Шапка.КорСчет, , Шапка.КФО); ,
ОбластьРасшифровка = Макет.ПолучитьОбласть("СтрокаРасшифровка");
Пока Расшифровка.Следующий() Цикл
ОбластьРасшифровка.Параметры.Заполнить(Расшифровка);
ОбластьРасшифровка.Параметры.КодДебета = УправлениеПечатьюБГУ.ПредставлениеРабочегоСчета( ,Расшифровка.КФО,Расшифровка.Счет,,,);
ОбластьРасшифровка.Параметры.СубСчет = УправлениеПечатьюБГУ.ПредставлениеРабочегоСчета( ,Расшифровка.КФО,Расшифровка.КорСчет,Расшифровка.КЭК,,);
ОбластьРасшифровка.Параметры.КодПодразделения = Расшифровка.КодПодразделения;
ОбластьРасшифровка.Параметры.КодАналитическогоУчета = Расшифровка.КодАналитическогоУчета;
ОбластьРасшифровка.Параметры.КодЦелевогоНазначения = Расшифровка.КодЦелевогоНазначения;
ОбластьРасшифровка.Параметры.СуммаСНазваниемВалюты = Формат(Расшифровка.Сумма, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧГ=0") + ?(Шапка.ВалютаДокумента = ВалютаРегламентированногоУчета, "", " " + Шапка.ВалютаДокумента);
ТабличныйДокумент.Вывести(ОбластьРасшифровка);
КонецЦикла;
СтруктураОбластьШапка.ФИОГлавногоБухгалтера=Справочники.Контрагенты.ФамилияИО(Шапка.ГлБухгалтер, Истина, Шапка.ДатаДокумента);
СтруктураОбластьШапка.ФИОКассира=Справочники.Контрагенты.ФамилияИО(Шапка.Кассир, Истина, Шапка.ДатаДокумента);
СтруктураОбластьШапка.НомерДокумента = ОбщегоНазначенияБГУ.ПолучитьНомерДляПечатиПоНастройке(Шапка.Ссылка,Шапка.Номер);
СтруктураОбластьШапка.ДатаДокументаКв = Формат(Шапка.ДатаДокумента,"ДЛФ=DD");
ОбластьШапка.Параметры.Заполнить(СтруктураОбластьШапка);
ТабличныйДокумент.Вывести(ОбластьШапка);
Если Шапка.Фондовый Тогда
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Объединить();
Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 2);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Обвести(Линия, Линия, Линия, Линия);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Текст = "Ф О Н Д О В Ы Й";
ЦветПечати = Новый Цвет(83,114,187);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ЦветТекста = ЦветПечати;
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ЦветРамки = ЦветПечати;
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ВертикальноеПоложение = ВертикальноеПоложение.Центр;
ЖирныйШрифт = Новый Шрифт(ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Шрифт,, 11, Истина);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Шрифт = ЖирныйШрифт;
КонецЕсли;
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Показать
(6) Все как вам сказали выше.
См. файл
UPD. Посмотрел макет. Не совсем так. Надо область Шапка разделить на 2 области.
1 - с начала до строки расшифровки - это и есть Шапка
2 - после строки расшифровки и до конца - назовем Подвал
Вывести первую область шапки, вывести расшифровку, вывести подвал.
См. файл
UPD. Посмотрел макет. Не совсем так. Надо область Шапка разделить на 2 области.
1 - с начала до строки расшифровки - это и есть Шапка
2 - после строки расшифровки и до конца - назовем Подвал
Вывести первую область шапки, вывести расшифровку, вывести подвал.
Прикрепленные файлы:
(6) прикольный код получается, попробуйте как есть заменить на эту процедуру
там в макете только убедиться что справа от строки расшифровки ни чего нет, будет же раздвигаться
по крайней мере у меня тест сработал, раздвигает (именно добавляет строчки внутри области!!!)
просьба отписаться получилось или нет
там в макете только убедиться что справа от строки расшифровки ни чего нет, будет же раздвигаться
по крайней мере у меня тест сработал, раздвигает (именно добавляет строчки внутри области!!!)
просьба отписаться получилось или нет
Функция ПечатьКО1(МассивОбъектов, ОбъектыПечати) Экспорт
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.ИмяПараметровПечати = "ПараметрыПечати_КО1";
Макет = ПолучитьМакет("ПФ_MXL_КО1");
Запрос=Новый Запрос;
Запрос.Текст="ВЫБРАТЬ
| ПриходныйКассовыйОрдер.Номер КАК Номер,
| ПриходныйКассовыйОрдер.Дата КАК ДатаДокумента,
| ПриходныйКассовыйОрдер.Организация.НаименованиеПолное КАК ПолноеНаименованиеОрганизации,
| ВЫБОР
| КОГДА ПриходныйКассовыйОрдер.Организация.ИспользоватьВПлатежныхДокументахСокращенноеНаименование = ИСТИНА
| ТОГДА ПриходныйКассовыйОрдер.Организация.НаименованиеСокращенное
| ИНАЧЕ ПриходныйКассовыйОрдер.Организация.НаименованиеПолное
| КОНЕЦ КАК ПредставлениеОрганизации,
| ПриходныйКассовыйОрдер.Организация.НаименованиеСокращенное КАК СокращенноеНаименованиеОрганизации,
| ВЫБОР
| КОГДА ПриходныйКассовыйОрдер.Подразделение.НаименованиеПолное = """"
| ТОГДА ПриходныйКассовыйОрдер.Подразделение
| ИНАЧЕ ПриходныйКассовыйОрдер.Подразделение.НаименованиеПолное
| КОНЕЦ КАК ПредставлениеПодразделения,
| ПриходныйКассовыйОрдер.ПодразделениеКор КАК ПодразделениеКор,
| ПриходныйКассовыйОрдер.СуммаДокумента КАК СуммаДокумента,
| ПриходныйКассовыйОрдер.ГлБухгалтер КАК ГлБухгалтер,
| ПриходныйКассовыйОрдер.Кассир КАК Кассир,
| ПриходныйКассовыйОрдер.ПринятоОт КАК ПринятоОт,
| ПриходныйКассовыйОрдер.Основание КАК Основание,
| ПриходныйКассовыйОрдер.Приложение КАК Приложение,
| ПриходныйКассовыйОрдер.Ссылка КАК Ссылка,
| ПриходныйКассовыйОрдер.СтавкаНДС КАК СтавкаНДС,
| ПриходныйКассовыйОрдер.СуммаНДС КАК СуммаНДС,
| ПриходныйКассовыйОрдер.ВалютаДокумента КАК ВалютаДокумента,
| ПриходныйКассовыйОрдер.Организация.Префикс КАК ПрефиксОрганизации,
| ВЫБОР
| КОГДА ВложенныйЗапрос.КоличествоКФО = 1
| ТОГДА ВложенныйЗапрос.КФО
| ИНАЧЕ ""0""
| КОНЕЦ КАК КФО,
| ПриходныйКассовыйОрдер.Организация.КодОКПО КАК ОрганизацияПоОКПО,
| ЛОЖЬ КАК Фондовый,
| ПриходныйКассовыйОрдер.ПоступлениеВыручкиТорговойТочки КАК ПоступлениеВыручкиТорговойТочки
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка КАК Ссылка,
| МАКСИМУМ(ПриходныйКассовыйОрдерРасшифровкаПлатежа.КФО) КАК КФО,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйКассовыйОрдерРасшифровкаПлатежа.КФО) КАК КоличествоКФО
| ИЗ
| Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
| ГДЕ
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка В(&МассивОбъектов)
|
| СГРУППИРОВАТЬ ПО
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка) КАК ВложенныйЗапрос
| ПО ПриходныйКассовыйОрдер.Ссылка = ВложенныйЗапрос.Ссылка
|ГДЕ
| ПриходныйКассовыйОрдер.Ссылка В(&МассивОбъектов)
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ПриходныйОрдерФондовый.Номер,
| ПриходныйОрдерФондовый.Дата,
| ПриходныйОрдерФондовый.Организация.НаименованиеПолное,
| ВЫБОР
| КОГДА ПриходныйОрдерФондовый.Организация.ИспользоватьВПлатежныхДокументахСокращенноеНаименование = ИСТИНА
| ТОГДА ПриходныйОрдерФондовый.Организация.НаименованиеСокращенное
| ИНАЧЕ ПриходныйОрдерФондовый.Организация.НаименованиеПолное
| КОНЕЦ,
| ПриходныйОрдерФондовый.Организация.НаименованиеСокращенное,
| ВЫБОР
| КОГДА ПриходныйОрдерФондовый.Подразделение.НаименованиеПолное = """"
| ТОГДА ПриходныйОрдерФондовый.Подразделение
| ИНАЧЕ ПриходныйОрдерФондовый.Подразделение.НаименованиеПолное
| КОНЕЦ,
| ПриходныйОрдерФондовый.ПодразделениеКор,
| ПриходныйОрдерФондовый.СуммаДокумента,
| ПриходныйОрдерФондовый.ГлБухгалтер,
| ПриходныйОрдерФондовый.Кассир,
| ПриходныйОрдерФондовый.ПринятоОт,
| ПриходныйОрдерФондовый.Основание,
| ПриходныйОрдерФондовый.Приложение,
| ПриходныйОрдерФондовый.Ссылка,
| NULL,
| 0,
| ВалютаРегламентированногоУчета.Значение,
| ПриходныйОрдерФондовый.Организация.Префикс,
| ВЫБОР
| КОГДА ВложенныйЗапрос.КоличествоКФО = 1
| ТОГДА ВложенныйЗапрос.КФО
| ИНАЧЕ ""0""
| КОНЕЦ,
| ПриходныйОрдерФондовый.Организация.КодОКПО,
| ИСТИНА,
| ЛОЖЬ
|ИЗ
| Документ.ПриходныйОрдерФондовый КАК ПриходныйОрдерФондовый
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ПриходныйОрдерФондовыйРасшифровка.Ссылка КАК Ссылка,
| МАКСИМУМ(ПриходныйОрдерФондовыйРасшифровка.КФО) КАК КФО,
| КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ПриходныйОрдерФондовыйРасшифровка.КФО) КАК КоличествоКФО
| ИЗ
| Документ.ПриходныйОрдерФондовый.Расшифровка КАК ПриходныйОрдерФондовыйРасшифровка
| ГДЕ
| ПриходныйОрдерФондовыйРасшифровка.Ссылка В(&МассивОбъектов)
|
| СГРУППИРОВАТЬ ПО
| ПриходныйОрдерФондовыйРасшифровка.Ссылка) КАК ВложенныйЗапрос
| ПО ПриходныйОрдерФондовый.Ссылка = ВложенныйЗапрос.Ссылка,
| Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета
|ГДЕ
| ПриходныйОрдерФондовый.Ссылка В(&МассивОбъектов)
|
|УПОРЯДОЧИТЬ ПО
| Номер
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.КФО КАК КФО,
| ПриходныйКассовыйОрдер.Счет КАК Счет,
| ПриходныйКассовыйОрдер.КорСчет КАК КорСчет,
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.КЭК КАК КЭК,
| ПриходныйКассовыйОрдер.КодАналитическогоУчета КАК КодАналитическогоУчета,
| ПриходныйКассовыйОрдер.КодЦелевогоНазначения.Код КАК КодЦелевогоНазначения,
| ПриходныйКассовыйОрдерРасшифровкаПлатежа.Сумма КАК Сумма,
| ЕСТЬNULL(ПриходныйКассовыйОрдер.ПодразделениеКор.Код, """") КАК КодПодразделения
|ИЗ
| Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
| ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриходныйКассовыйОрдер.РасшифровкаПлатежа КАК ПриходныйКассовыйОрдерРасшифровкаПлатежа
| ПО ПриходныйКассовыйОрдер.Ссылка = ПриходныйКассовыйОрдерРасшифровкаПлатежа.Ссылка
|ГДЕ
| ПриходныйКассовыйОрдер.Ссылка В(&МассивОбъектов)";
Запрос.УстановитьПараметр("МассивОбъектов",МассивОбъектов);
МассивРезультатов = Запрос.ВыполнитьПакет();
Шапка = МассивРезультатов[0].Выбрать();
Расшифровка = МассивРезультатов[1].Выбрать();
ВалютаРегламентированногоУчета = Константы.ВалютаРегламентированногоУчета.Получить();
ПервыйДокумент = Истина;
Пока Шапка.Следующий() Цикл
Если Не ПервыйДокумент Тогда
ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
НомерСтрокиНачало = ТабличныйДокумент.ВысотаТаблицы + 1;
ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
ЗаполнитьЗначенияСвойств(ОбластьШапка.Параметры, Шапка);
СтруктураОбластьШапка = Новый Структура("Сумма,СуммаРубКоп,СуммаПрописью,ВТомЧисле,ФИОГлавногоБухгалтера,ФИОКассира,НомерДокумента,ДатаДокументаКв"); //КодДебета,СубСчет,
СтруктураОбластьШапка.Сумма = Формат(Шапка.СуммаДокумента, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧГ=0");
// СтруктураОбластьШапка.Вставить("СуммаСНазваниемВалюты", Формат(Шапка.СуммаДокумента, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧГ=0") + ?(Шапка.ВалютаДокумента = ВалютаРегламентированногоУчета, "", " " + Шапка.ВалютаДокумента));
СтруктураОбластьШапка.СуммаРубКоп = РубКоп(Шапка.СуммаДокумента, Шапка.ВалютаДокумента);
СтруктураОбластьШапка.СуммаПрописью=ОбщегоНазначенияБГУ.СформироватьСуммуПрописью(Шапка.СуммаДокумента, Шапка.ВалютаДокумента);
Если НЕ Шапка.Фондовый Тогда
ДокументСсылка = Шапка.Ссылка;
Если Шапка.ПоступлениеВыручкиТорговойТочки Тогда
ДанныеСтавкиДокумента = ПодключаемоеОборудованиеБГУ.ЕдиныеСтавкиВДокументеОснованииПКО(ДокументСсылка);
Если ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество() = 0 Тогда
СтруктураОбластьШапка.ВТомЧисле = "без налога (НДС)";
Иначе
СчетчикСтрок = 1;
ВсегоСтрок = ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество();
ТекстДляНДС = "НДС";
Для каждого ТекСтрока Из ДанныеСтавкиДокумента.ТаблицаПоСтавкам Цикл
ТекстДляНДС = ТекстДляНДС + "(" + ТекСтрока.СтавкаНДС + ")" + РубКоп(ТекСтрока.СуммаНДС, Шапка.ВалютаДокумента);
Если СчетчикСтрок < ВсегоСтрок Тогда
ТекстДляНДС = СокрП(ТекстДляНДС) + "; ";
КонецЕсли;
СчетчикСтрок = СчетчикСтрок + 1;
КонецЦикла;
СтруктураОбластьШапка.ВТомЧисле = ТекстДляНДС;
КонецЕсли;
ИначеЕсли ДокументСсылка.ДокументыЧекаККМ.Количество() > 0 Тогда
ДанныеСтавкиДокумента = ПодключаемоеОборудованиеБГУ.ЕдиныеСтавкиВДокументеОснованииЧекаККМ(ДокументСсылка);
Если ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество() = 0 Тогда
СтруктураОбластьШапка.ВТомЧисле = "без налога (НДС)";
Иначе
СчетчикСтрок = 1;
ВсегоСтрок = ДанныеСтавкиДокумента.ТаблицаПоСтавкам.Количество();
ТекстДляНДС = "НДС";
Для каждого ТекСтрока Из ДанныеСтавкиДокумента.ТаблицаПоСтавкам Цикл
ТекстДляНДС = ТекстДляНДС + "(" + ТекСтрока.СтавкаНДС + ")" + РубКоп(ТекСтрока.СуммаНДС, Шапка.ВалютаДокумента);
Если СчетчикСтрок < ВсегоСтрок Тогда
ТекстДляНДС = СокрП(ТекстДляНДС) + "; ";
КонецЕсли;
СчетчикСтрок = СчетчикСтрок + 1;
КонецЦикла;
СтруктураОбластьШапка.ВТомЧисле = ТекстДляНДС;
КонецЕсли;
Иначе
СтруктураОбластьШапка.ВТомЧисле = ?(Шапка.СуммаНДС > 0, " НДС(" + Шапка.СтавкаНДС + ")" + РубКоп(Шапка.СуммаНДС, Шапка.ВалютаДокумента), "без налога (НДС)");
КонецЕсли;
КонецЕсли;
//СтруктураОбластьШапка.КодДебета = БухгалтерскийУчетПовтИсп.ПолучитьПредставлениеСчета(Шапка.Счет, , Шапка.КФО);
//СтруктураОбластьШапка.СубСчет = БухгалтерскийУчетПовтИсп.ПолучитьПредставлениеСчета(Шапка.КорСчет, , Шапка.КФО); ,
ОбластьРасшифровка = Макет.ПолучитьОбласть("СтрокаРасшифровка");
//прикольный код получается
лкСмещение = ТипСмещенияТабличногоДокумента.БезСмещения;
Пока Расшифровка.Следующий() Цикл
ОбластьРасшифровка.Параметры.Заполнить(Расшифровка);
ОбластьРасшифровка.Параметры.КодДебета = УправлениеПечатьюБГУ.ПредставлениеРабочегоСчета( ,Расшифровка.КФО,Расшифровка.Счет,,,);
ОбластьРасшифровка.Параметры.СубСчет = УправлениеПечатьюБГУ.ПредставлениеРабочегоСчета( ,Расшифровка.КФО,Расшифровка.КорСчет,Расшифровка.КЭК,,);
ОбластьРасшифровка.Параметры.КодПодразделения = Расшифровка.КодПодразделения;
ОбластьРасшифровка.Параметры.КодАналитическогоУчета = Расшифровка.КодАналитическогоУчета;
ОбластьРасшифровка.Параметры.КодЦелевогоНазначения = Расшифровка.КодЦелевогоНазначения;
ОбластьРасшифровка.Параметры.СуммаСНазваниемВалюты = Формат(Расшифровка.Сумма, "ЧЦ=15; ЧДЦ=2; ЧРД=-; ЧГ=0") + ?(Шапка.ВалютаДокумента = ВалютаРегламентированногоУчета, "", " " + Шапка.ВалютаДокумента);
//замена на вывод в Шапку
//ТабличныйДокумент.Вывести(ОбластьРасшифровка);
ОбластьШапка.ВставитьОбласть(
ОбластьРасшифровка.Область("СтрокаРасшифровка"),
ОбластьШапка.Область("СтрокаРасшифровка"),
лкСмещение,
Истина);
лкСмещение = ТипСмещенияТабличногоДокумента.ПоВертикали;
КонецЦикла;
СтруктураОбластьШапка.ФИОГлавногоБухгалтера=Справочники.Контрагенты.ФамилияИО(Шапка.ГлБухгалтер, Истина, Шапка.ДатаДокумента);
СтруктураОбластьШапка.ФИОКассира=Справочники.Контрагенты.ФамилияИО(Шапка.Кассир, Истина, Шапка.ДатаДокумента);
СтруктураОбластьШапка.НомерДокумента = ОбщегоНазначенияБГУ.ПолучитьНомерДляПечатиПоНастройке(Шапка.Ссылка,Шапка.Номер);
СтруктураОбластьШапка.ДатаДокументаКв = Формат(Шапка.ДатаДокумента,"ДЛФ=DD");
ОбластьШапка.Параметры.Заполнить(СтруктураОбластьШапка);
ТабличныйДокумент.Вывести(ОбластьШапка);
Если Шапка.Фондовый Тогда
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Объединить();
Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 2);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Обвести(Линия, Линия, Линия, Линия);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Текст = "Ф О Н Д О В Ы Й";
ЦветПечати = Новый Цвет(83,114,187);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ЦветТекста = ЦветПечати;
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ЦветРамки = ЦветПечати;
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).ВертикальноеПоложение = ВертикальноеПоложение.Центр;
ЖирныйШрифт = Новый Шрифт(ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Шрифт,, 11, Истина);
ТабличныйДокумент.Область(2+НомерСтрокиНачало-1, 2, 2+НомерСтрокиНачало-1, 4).Шрифт = ЖирныйШрифт;
КонецЕсли;
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабличныйДокумент,
НомерСтрокиНачало, ОбъектыПечати, Шапка.Ссылка);
КонецЦикла;
Возврат ТабличныйДокумент;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот