Раздели на сайта
Избор на редактора:
- Кои USB флашки са най-надеждни и най-бързи?
- Свързване на лаптоп към телевизор чрез USB кабел за свързване на лаптоп към VGA телевизор
- Промяна на интерфейса на Steam - от прости снимки до цялата презентация на екрана Нов дизайн на Steam
- Как да отмените абонамент за Megogo по телевизията: подробни инструкции Как да се отпишете от абонаменти за megogo
- Как да разделите диск с инсталиран Windows без загуба на данни Разделете диска 7
- Защо издателите не могат да редактират всички страници
- В BIOS няма зареждане от флаш устройство - как да го конфигурирам?
- Pandao промо кодове за точки
- Опасен ransomware вирус се разпространява масово в интернет
- Инсталиране на допълнителна RAM памет
реклама
Прости инструкции - как да показвате изображения в отчети на системата за контрол на достъп. Използване на източник на данни като обект |
Нека създадем външен отчет, който ще показва отчетна информация за балансите на артикулите и техния оборот. Необходимата информация се изисква от заявката с помощта на набор от данни от типа "Заявка", който съдържа текста на заявката:
//////////////////////////////////////////////////////////////////////////////// В резултат на това отчетът съдържа следните полета (вижте Фигура 1):
1. Настройка на заглавки в раздела ACS "Набори от данни".Тук всичко е просто, поставете отметка в квадратчето до свойството на полето „Заглавие“ (т.е. отменете автоматичното заглавие) и въведете необходимия текст на заглавието (вижте Фигура 4).Ако трябва да зададете дизайна за цялото поле, а не само за заглавието му, тогава има свойство на полето „Дизайн“, с което можете да зададете някакъв дизайн за полето, например да промените шрифта или да зададете фона цвят (вижте Фигура 5). Тук свършват знанията ми за раздела „Набори от данни“. 2. Настройка на заглавки на полета в раздела "Настройки" на ACSЗа да зададете заглавие на поле, трябва да изберете желаното поле, да щракнете с десния бутон, за да отворите контекстното меню и да изберете „Задаване на заглавие“ (вижте Фигура 6)За да групирате полета (например по тип информация), трябва да добавите поле за групиране и да поставите задължителните полета в него (вижте Фигура 7), влагането е неограничено. Можете също така да играете със свойството на полето за групиране „Местоположение“, което определя типа на групирането на полето. Тези действия могат да се извършват и в режим 1C:Enterprise, като отворите настройките на отчета, НО елементът „Избрани полета“ трябва да бъде включен в настройките на отчета (вижте Фигура 8). 3. Програмно задаване на заглавки на полетаПлатформата ви позволява програмно да задавате заглавки на полета, освен това да задавате многоредови, което от своя страна дава възможност за гъвкаво и динамично задаване на заглавки на полета при генериране на отчет.За да направим това, ще дефинираме процедура в модула за отчет При излагане на резултата. В тази процедура ще напишем код за задаване на заглавките на полетата. // 1. Вземете потребителски настройки. // 2. Получаваме стойността на параметъра "Период", от който определяме началната и крайната дата на периода. // 3. Подгответе информация за предефиниране на заглавки на полета. За да направите това, нека създадем // 4. Вземете списък с полета, които са в групата "Оставащи" (вижте Фигура 7) и // 5. Заредете обратно променените потребителски настройки. Докладвайте резултата (вижте Фигура 10): 4. Задаване на заглавката на отчета с помощта на оформлениеЗа по-гъвкаво персонализиране на външния вид на отчета ACS осигурява създаване на оформления. В настройките на отчета ще създадем друго групиране „подробни записи“ и ще зададем името „DZ линия“ за това групиране (вижте Фигура 11).В раздела Оформления добавете оформление на заглавката на групиране. За оформлението в документ с електронна таблица ще създадем заглавка на отчета (заглавката на отчета трябва да съдържа толкова заглавки на полета, колкото броя на полетата показва подробният запис) и ще посочим областта на документа с електронна таблица за оформлението (вижте Фигура 12). В резултат на това отчетът има следната заглавка (вижте Фигура 13):
Уебсайтът за поддръжка на информационни технологии съдържа статия Използване на предварително дефинирани оформления, която описва подробно как да използвате оформления в системи за контрол на достъпа. 5. Финализиране на резултата (табличен документ)Този метод използва прекрасния метод на електронни таблици FindText(), но за да използвате този метод, трябва да деактивирате стандартната обработка за генериране на резултата от отчета.Нека започваме. Деактивираме стандартното генериране, за да направим това в модула за отчет за събитието При излагане на резултатаНека зададем променливата StandardProcessing на False и напишем нашето собствено оформление на резултата: Компилираният резултат се извежда в документ с електронна таблица - това е променливата DocumentResult. След това, след генериране на резултата и извеждането му в документ с електронна таблица, ние пишем код, за да заменим един текст в клетка с друг. Например, нека променим името на групата „Остатъци“ на „Оставащи елементи“ в заглавката на отчета (вижте Фигура 14): Можете също да зададете форматиране за намерената клетка; вижте свойствата на клетката на документа с електронната таблица в асистента за синтаксис. Наскоро открих този метод, той е прост и ви позволява да работите много гъвкаво със заглавката на отчета, основното е, че текстът на клетката има уникален текст. P.S. Може би имате друг начин да проектирате заглавки на полета? Когато създавате отчети с помощта на система за съставяне на данни (DCS), е удобно да показвате параметрите на отчета (поне най-често използваните) във формуляра, за да не принуждавате потребителя да се рови в стандартния прозорец за настройки на DCS. Нека да разгледаме как това може да стане с помощта на обикновени формуляри 1C. Нека веднага да направим резервация, че в тази статия ще разгледаме точно изхода на параметрите към формуляра, т.е. трябва вече да са създадени самите параметри в системата за контрол на достъп. Има два начина за извеждане на ACS параметри в обикновена форма:
Таблицата с настройки на параметри, показана във формуляра, е подобна на таблицата с настройки на параметри, генерирана от инструментите на ACS. За да го изведете във формата, трябва да създадете контролен елемент TableField, която притежава имота даннипосочвам Настройки Composer.Settings.DataOptions В този случай на потребителя ще бъдат показани всички параметри на системата за контрол на достъпа, които нямат ограничение за наличност. В някои случаи обаче този метод може да не изглежда толкова красив и не много лесен за използване. Нека да разгледаме как да покажем параметрите на ACS във формуляр отделно под формата на обикновени полета за въвеждане.
Днес ще разгледаме решаването на един интересен проблем - показване на изображения в отчет. За какво може да бъде полезно това? тук някои примери:
Във видеото също обсъждаме програмно формиранедокладвайте на SKD. Използва се този метод за генериране на отчети в стандартни конфигурации– това е още една причина да го гледате внимателно :) Предварително дефинирани оформления в ACSИзползвайки предварително дефинирани оформления, можете да замените стандартното оформление на отчета. В този урок, в допълнение към поставянето на проблема, ще разгледаме:
Програмно генериране на отчет за системата за контрол на достъпЗа да се реши проблемът с показването на изображения в отчет на система за контрол на достъп, е необходимо да се генерира програмно. При програмно генериране на отчет е възможен достъп до двоични данни. По време на този урок ще направим:
Показване на картина в отчета на ACSВ този урок изпълняваме последните стъпки: показваме предварително получените двоични данни в отчет. За да направите това, чертежът се добавя към документ с електронна таблица, след което се показва в отчета. Гъвкавостта на алгоритъма за извеждане на изображениетоРазработеният алгоритъм за извеждане на изображения е универсален - алгоритъмът продължава да работи независимо от промяна в структурата на отчета. Всъщност това е, което ще докажем в този урок. Освен това ще разгледаме функцията за генериране на фонов отчет в системата за контрол на достъпа (генериране на отчет чрез рутинни задачи). Показване на изображение в заглавката на отчетаЧесто трябва да покажете статично изображение в горния или долния колонтитул на отчет. Изглежда проста задача, но в случай на ACS трябва да знаете как да я разрешите:
Това видео ясно показва решението на проблема. Приятно гледане! :) През последните няколко дни публикувахме материали за ACS. Какво ще стане, ако програмистът / внедрителят на 1C не познава системата за контрол на достъпа? Може би наистина не е толкова важно?Добре, нека да видим какво очаква специалист, който пише доклади „на коляно“ (например, използвайки ръчен изход в документ с електронна таблица). Не стреляйте по пианиста, той свири както може.Докладите са практически във всички стандартни конфигурациина база SKD. За специалист без познания по CDS финализирането на стандартните отчети се превръща в лотария - защо и как тази или онази цифра се показва в отчета, как да добавяте нови източници, къде да редактирате изчислените цифри в кода... SKD – стандарт за отчитанев стандартни конфигурации и 1C не пише коментари въз основа на тези, които все още не са проучили стандартите :) Проклетото време...Без система за контрол на достъпа разработването на отчети до голяма степен се извършва ръчно. Разбира се, готино е да излезеш като Рамбо с отвертка в зъбите и някак да направиш всички :) В резултат на това - големи разходи за труд за разработване на отчети и отстраняване на грешки. И това най-малкото ще разтревожи всеки мениджър/клиент: „странно, но той наистина ли разбира това??“ А когато става въпрос за последваща ревизия на доклада, това често се превръща в главоболие (особено ако е чужд доклад)... Развойни пътувания до клиенти за промяна на групирането в отчетаSKD ви позволява да получавате отчети за качествотобез програмиране. Скелетът се прави след няколко минути, след това – поклони. И потребителите могат да персонализират такива отчети без участието на програмист, генерира няколко варианта за представяне - диаграми, графики, списъци, таблици. За да се постигне такава гъвкавост в отчетите, създадени програмно, невъзможно в разумен срок. Затова - звънни, трамвай, да тръгваме... Това е толкова професионално израстване за 1C псевдоним... „Нямате ли същата, но със седефени копчета? „За съжаление, не…“ (c)Ами ако някои данни трябва да бъдат получени от друга система - от друга база данни 1C или изобщо не от 1C? С помощта на системата за контрол на достъпа можете да създадете отчет, който работи с текущи данни за информационна сигурност и получава данни от друг източник - не се изисква програмиране. Без системи за контрол на достъпа външните данни ще бъдат получени програмно, а не по най-тривиалния начин. Ако искате владеете ACS професионалнои ежедневно прилагайте в работата си, запишете се за курса: поддръжка - 2 месеца. Обхват на курса – 34 учебни часа. Не отлагайте обучението си! Почти всички параметри, налични в диалоговите прозорци с настройки за печат (настройки на принтера, свойства на страницата), могат да бъдат зададени директно при генериране на документ с електронна таблица. Нека да разгледаме свойствата и методите на документ с електронна таблица, свързани с настройките за печат (в дадените примери „TabDoc“ е обект от типа „Документ с електронна таблица“). Собственост „Име на принтер“ Позволява ви да посочите принтер, различен от този по подразбиране за печат. Името трябва да съответства на името на принтера, зададено в системата: TabDoc.PrinterName="Canon iR1133"; Когато отпечатвате пакет от документи, можете да спестите време, като зададете опцията за сортиране: TabDoc.ParsingByCopies=Вярно; Броят на копията може да бъде определен, както следва: TabDoc.Брой инстанции=5; Разбира се, можете да зададете полетата: TabDoc.MarginLeft=20; //Ляво поле 20 мм, други полета 10 мм (по подразбиране) Още няколко свойства на страницата: TabDoc.PageOrientation=PageOrientation.Landscape; TabDoc.InstancesOnPage=2; //листът ще съдържа 2 страници TabDoc.Autoscale=true; //подобно на настройките на мащаба „ширина на страницата“. Ако е необходимо, можете да посочите конкретна стойност на мащабиране в проценти (свойство "Мащаб за печат" ). Собственост „Размер на страницата“ ви позволява да зададете стандартни формати на страници - "A3", "A4", "A5" (пълният списък с опции е наличен в помощта на 1C). TabDoc.PageSize="A3"; // буквата A трябва да е на английски За нестандартен размер хартия (Custom), можете да посочите височината и ширината на страницата (в mm): TabDoc.PageSize="По избор";//нестандартен размер TabDoc.PageHeight=350; TabDoc.PageWidth=350; Също така в документ с електронна таблица можете да контролирате изхода на горните и долните колонтитули и тяхното съдържание. Това се прави с помощта на свойства "Заглавка" И "Долен колонтитул". Например: TabDoc.Header.Output=true; //заглавката на TabDoc ще бъде отпечатана.HeaderSizeTop=7; //размер на долния колонтитул 7 мм (по подразбиране 10 мм) TabDoc.Header.VerticalPosition=VerticalPosition.Top; TabDoc.Header.StartPage=2;//заглавката се извлича от втората страницаHeaderFont=NewFont("Courier New", 8,True); TabDoc.Header.Font=Шрифт на заглавката; //наклонен шрифт TabDoc.Header.TextInCenter="Header"; TabDoc.Header.TextRight="Страница[&PageNumber] от [&PagesTotal]"; //номериране на страници TabDoc.Header.TextLeft="[&Date]";//текуща дата Генерираният документ се изпраща за печат по метода "Тип()". Има две възможни опции за обаждане. 1) Директно към принтера: TabDoc.Print(PrintDialogUseMode.NotUse); TabDoc.Print(true); 2) Преди печат ще се покаже диалогов прозорец за печат: TabDoc.Print(PrintDialogUseMode.Use); TabDoc.Print(false); Освен това можете да контролирате как документът е разделен на страници. Можете да оцените броя на страниците в документ въз основа на текущите настройки на принтера: TabDoc.Брой страници(); Използване на методи "CheckOutput()" И "CheckAttach()" Можете да определите дали документ с електронна таблица или масив от области на документ с електронна таблица ще се поберат на страницата по височина и ширина при текущите настройки на принтера. Трябва да се има предвид, че работата на последните три метода зависи от инсталирания принтер. Ако методът не може да го намери, се хвърля изключение. Можете да принудите вмъкването на прекъсвания на страници, като използвате следните методи: "OutputVerticalPageSeparator()" И "OutputHorizontalPageSeparator()" . По този начин можете да контролирате отпечатването страница по страница и да контролирате попълването на страницата: Ако не TabDoc.CheckOutput(ArrayOutputAreas) Тогава TabDoc.OutputHorizontalPageSeparator(); EndIf Важна характеристика на платформата 1C:Enterprise 8.2 е стриктното разделяне на свойствата и методите по контекст на изпълнение. Докато всички горни свойства са налични във всеки контекст, изброените методи не са налични на тънкия клиент. Изключение прави методът “Print()”, чиято наличност е ограничена до клиентската част по очевидни причини. Това означава, че създаването на документ с електронна таблица трябва да се извърши на сървъра и той трябва да бъде изпратен за печат в клиентска процедура. |
Прочетете: |
---|
Популярни:
Нов
- Свързване на лаптоп към телевизор чрез USB кабел за свързване на лаптоп към VGA телевизор
- Промяна на интерфейса на Steam - от прости снимки до цялата презентация на екрана Нов дизайн на Steam
- Как да отмените абонамент за Megogo по телевизията: подробни инструкции Как да се отпишете от абонаменти за megogo
- Как да разделите диск с инсталиран Windows без загуба на данни Разделете диска 7
- Защо издателите не могат да редактират всички страници
- В BIOS няма зареждане от флаш устройство - как да го конфигурирам?
- Pandao промо кодове за точки
- Опасен ransomware вирус се разпространява масово в интернет
- Инсталиране на допълнителна RAM памет
- Какво да направите, ако слушалките не възпроизвеждат звук на лаптоп