|
Нужен пример создания вертикальных и горизонтальных областей | ☑ | ||
---|---|---|---|---|
0
ColibriModern
21.06.18
✎
11:59
|
Добрый день , кто может приведите простой пример кода для соеденения горизонтальных и вертикальных областей в макете 1с 8.3
|
|||
1
DrShad
21.06.18
✎
12:10
|
Присоединить()
|
|||
2
LeoKeyn
21.06.18
✎
12:14
|
(0) Делал как то такой макет, сейчас посмотрю осталась ли обработка
|
|||
3
ColibriModern
21.06.18
✎
12:20
|
Был бы очень благодарен
|
|||
4
andrig
21.06.18
✎
12:22
|
а как вставить обработку?
|
|||
5
LeoKeyn
21.06.18
✎
12:27
|
(3) Дам полностью процедуру по формированию таблицы из макета, думаю разберешься
Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1); ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); Область = Макет.ПолучитьОбласть("Шапка"); Область.Параметры.НомерПриказа = СсылкаНаОбъект.НомерПриказа; Область.Параметры.ДатаПриказа = Формат(СсылкаНаОбъект.Дата,"ДЛФ=DD"); ТабДок.Вывести(Область); Область = Макет.ПолучитьОбласть("ШапкаТаблицы"); ТабДок.Вывести(Область); НачДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала); Если Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)=Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания) Тогда КолМесяцев = Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания)-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)+1; Иначе КолМесяцев = (12-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания))+Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала); КонецЕсли; Если КолМесяцев = 1 Тогда КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания); Иначе КонДень = День(КонецМесяца(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)); КонецЕсли; Область = Макет.ПолучитьОбласть("День"); КолМесяцевСчетчик = КолМесяцев; СчетчикСтолбца = 7; ТекДата = СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала; Для СчетчикМесяца = 1 ПО КолМесяцевСчетчик Цикл Для СЧ = НачДень ПО КонДень Цикл Область.Параметры.НД = СЧ; ТабДок.Присоединить(Область); КонецЦикла; ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).Объединить(); ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).ГоризонтальноеПоложение=ГоризонтальноеПоложение.Центр; ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).ВертикальноеПоложение=ВертикальноеПоложение.Центр; ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).Обвести(Линия, Линия, Линия, Линия); ТабДок.Область("R7C"+Строка(СчетчикСтолбца)+":R8C"+Строка(СчетчикСтолбца+(КонДень-НачДень))).Текст = Формат(ТекДата, "ДФ=ММММ"); ТекДата = ДобавитьМесяц(ТекДата, 1); СчетчикСтолбца = СчетчикСтолбца+(КонДень-НачДень)+1; КолМесяцев = КолМесяцев-1; Если КолМесяцев = 1 Тогда КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания); Иначе КонДень = День(КонецМесяца(ТекДата)); КонецЕсли; НачДень = 1; КонецЦикла; Для Каждого Работник ИЗ СсылкаНаОбъект.РаботникиОрганизации Цикл ФормаГрафика = Работник.ГрафикРаботы.ПолучитьФорму("ФормаЭлемента"); КалендарьНаборЗаписей = ФормаГрафика.КалендарьНаборЗаписей; СформироватьТаблицуГрафика(КалендарьНаборЗаписей); ТекущийГод = НачалоГода(РабочаяДата); НомерТекущегоГода = Год(ТекущийГод); ОтразитьГодВНабореЗаписей(ТекущийГод, Истина, КалендарьНаборЗаписей, Работник); НачДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала); Если Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)=Год(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания) Тогда КолМесяцев = Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания)-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)+1; Иначе КолМесяцев = (12-Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания))+Месяц(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала); КонецЕсли; Если КолМесяцев = 1 Тогда КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания); Иначе КонДень = День(КонецМесяца(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала)); КонецЕсли; Область = Макет.ПолучитьОбласть("Строка"); Область.Параметры.Номер = Работник.НомерСтроки; Область.Параметры.ФИО = Работник.Сотрудник.Наименование; Область.Параметры.Должность = Работник.Должность; Область.Параметры.ТабельныйНом = Работник.Сотрудник.Код; ТабДок.Вывести(Область); Область = Макет.ПолучитьОбласть("ЧД"); КолМесяцевСчетчик = КолМесяцев; СчетчикСтолбца = 7; ТекДата = СсылкаНаОбъект.РаботникиОрганизации[0].ДатаНачала; Для СчетчикМесяца = 1 ПО КолМесяцевСчетчик Цикл Для СЧ = НачДень ПО КонДень Цикл Область.Параметры.Д = Строка(КалендарьНаборЗаписей[Месяц(ТекДата)-1]["День"+Строка(СЧ)]); Область.Параметры.Н = Строка(КалендарьНаборЗаписей[Месяц(ТекДата)-1]["НЧ"+Строка(СЧ)]); ТабДок.Присоединить(Область); КонецЦикла; ТекДата = ДобавитьМесяц(ТекДата, 1); СчетчикСтолбца = СчетчикСтолбца+(КонДень-НачДень)+1; КолМесяцев = КолМесяцев-1; Если КолМесяцев = 1 Тогда КонДень = День(СсылкаНаОбъект.РаботникиОрганизации[0].ДатаОкончания); Иначе КонДень = День(КонецМесяца(ТекДата)); КонецЕсли; НачДень = 1; КонецЦикла; КонецЦикла; |
|||
6
ColibriModern
21.06.18
✎
12:29
|
(5) Спасибо большое!
|
|||
7
LeoKeyn
21.06.18
✎
12:33
|
(6) ^_^
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |