ПредишенСледващото

Предговор: Този метод е единствената алтернатива на стандартите, с които можете да научите от поредица от статии, посветени на мака

Опитът показва, че използването на този метод е оправдано само в много редки случаи. Но само по себе си начина, по който iteresen в смисъл на възможност за изпълнение на процедурите и функциите, които ще се изпълняват в рамките на друг обект.

И така Към момента да ходи, да вземе проба, 1C 1.6. И го направи за външна фактура печат печатен вид, издадено от тяхното разположение и възможност за промяна на модула формиране печатна форма.

Ние ще направим този вид работа:

1. Създаване на външната пластина печат, повтаряйки извадката.

2. Промяна в печат в полето за изпращача "известен още като" на тези организации.

3. Малка промяна на оформлението.

Старт е същото като създаването външна печатна obyno.

1. Създаване на външна обработка.

2. Nazavem нея "VneshniySchetFakturaVydanny".

4. Средството за обработване ще създаде функция за износ "Печат".

KnopkaVypolnitNazhatie Процедура (бутон)
Print (). Покажи ();
KonetsProtsedury

Възможно е да отпечатате вашата кауза нашата обработка без външен печатна форма, просто чрез отваряне на файла.

6. Копие на оформлението на фактурата в нашето лечение. Тъй като тези подредби пълна, копирайте всички. За всеки случай.

Докато обикновено. Резултати - виж фигура 1.

И сега започва "Magic".

7. Създаване на друга форма. Ние я наричаме "FormaSchetaFaktury".

8. Промяна на първичен Изискваният на втората форма ( "FormaSchetaFaktury"): Промяна на името на "ObrabotkaObekt" от типа "DokumentObekt" с "VneshnyayaObrabotka.VneshniySchetFakturaVydanny" на "DokumentObekt.SchetFakturaVydanny". Аз привлека вниманието ви, то DokumentObekt!

9. форми модул ekportnuyu декларират променливата "VnObrabotka". Той ще съдържа нашия външен обект за обработка на оформления за достъп. Защо не подпори? Тъй като използването на подпори, един (преработка) остава активен в завод, дори и след приключване на всички прозорци.

10. Модулът за обработка на функцията "Печат" Въведете код:

FormaSchetaFaktury PoluchitFormu = ( "FormaSchetaFaktury");
FormaSchetaFaktury. DokumentObekt = SchetFakturaObekt;
FormaSchetaFaktury. VnObrabotka = EtotObekt;
TabDok = FormaSchetaFaktury. PechatVneshneyFormy ();

Връщане (TabDok);
KonetsFunktsii

11. Прехвърлянето (от копие / паста) от модула Документ в модул форма "FormaSchetaFaktury" всички необходими процедури. И те трябва да се каже най-Фактурите са много:

  • InitsializatsiyaTablitsyStrok
  • SobratDannyePoOtchetKomitentuOProdazhah
  • SobratDannyePoOtchetKomissioneraOProdazhah
  • SobratDannyePoRealizatsiyaTovarovUslug
  • SobratDannyePoVozvratTovarovPostavschiku
  • SobratDannyePoPKO
  • SobratDannyePoSVP
  • SobratDannyePoPlatezhnomuOrderu
  • SobratDannyePoAktu
  • SobratDannyePoPeredacheOS
  • SobratDannyePoPeredacheNMAOrganizatsy
  • SobratDannyePoOtrazheniyuRealizatsiiTovarovIUslug
  • SobratDannyePoRealizatsiyaUslugPoPererabotke
  • SobratDannyePoPrinyatiyuKUchetuOS
  • SobratDannyePoModernizatsiiOS
  • SobratDannyePoNachislenieNDSpoSMRhozsposobom
  • SobratDannyeSFnaAvansISummovuyuRaznitsu
  • ProstavitProcherkiVPustyePolya
  • PerezapolnitSummyPoUEvRublyah
  • PechatSchetaFaktury

Но не се страхувайте от техния брой. Както можете да видите повечето от тях са "SobratDannye.". И услуга за печат. Има и функция на "PechatSchetaFaktury".

Заслужава да се отбележи, че те не изнасят. Това е така, защото на този сме ги копира.

Отделни разговор на отпечатване на процедури за прехвърляне (.) На модул за документи.

Това е най-трудният момент.

Преименувайте го PechatVneshneyFormy. Но не е достатъчно, за да го преобрази в функция. За да направите това, да замени всички "Завръщане", за да се върне (неизвестен).

А извикване на процедура в края на процедурата на модула

UniversalnyeMehanizmy. NapechatatDokument (TabDokument KolichestvoEkzemplyarov NaPrinter ObschegoNaznacheniya SformirovatZagolovokDokumenta (EtotObekt EtotObekt метаданни () Въведение ()) NeposredstvennayaPechat .......);

Също така в момента ние не се нуждаем параметри: KolichestvoEkzemplyarov, NaPrinter, NeposredstvennayaPechat.

И "ImyaMaketa" ни без значение. Трябва само да зададете стойността си в тялото на функцията:

отстраняването му от настройките.

12. Остава предизвикателството да замени общо разположение на оформления на обработка. Промяна на вида на линия

Разпределение PoluchitObschiyMaket = ( ".") И Модел = PoluchitMaket ( ".")

Разпределение = VnObrabotka. PoluchitMaket ( ".");

Имаме външна печатна форма на фактури, както и преди тя функционира и процедури за формиране и оформления.

Запазване. Аха - Кълна се в "mNadpisPredoplata". Погледнете в модула за документ - този модул обект променлива. Ние заявяваме нашата форма и определя стойността (както е в модула за документ).


Преместете VnObrabotka износ;
Преместете mNadpisPredoplata;

//. (Всички процедури и функции)

mNadpisPredoplata = "предварително заплащане";

Oktryvaem 1C компания и тест!).

Функциите на линиите след PechatVneshneyFormy

Ако DannyeDlyaPechati = Неопределен или TipZnch (DannyeDlyaPechati) = Type ( "Съответствие") След това
продължи;
ENDIF

// Замяна на пресата ", известен още като" Организацията
Ако DannyeDlyaPechati. Изпращача = "псевдоним", тогава
DannyeDlyaPechati. Изпращача = DannyeDlyaPechati. организация;
ENDIF;

И сега го направи! Искате ли ме като придобиване модели, данни, образуване на печатни форми.

PS. Обработка, виж приложението.

Dopolnenie1. Счита "комплекс" например. Законопроект, фактура, и така нататък са отпечатани още по-лесно, но принципът е един и същ. Критика и коментари са добре дошли.

Dopolnenie2. Работи само върху по-стар 8.1.11 платформа освобождаване.

Dopolnenie3. Long мисъл от снимките. И аз не излезе.

Dopolnenie4. Когато свързвате външно печатна форма, може да се замени с пълно работно време с нея, така че да не се напряга избора на потребителите в диалог (в) Лейтенантът

Dopolnenie5. За тестване и отстраняване на грешки външна печатна форма, вместо да създавате spetsformy във всяка лечение можете да използвате инструмента от мак //expert.chistov.pro/public/14686/ (а) artbear

И не възникнат.

Е, като се има предвид, че печатната форма не съхраняване на обекта, а само го проверява. Е, може би да. В повечето случаи, е необходимо да се извърши или записан документ. Но все пак. След като възникват въпроси, е необходимо да се по някакъв начин да им обясним.

Направих малко погрешно:
- Като необходимите процедури, за да образуват плоча печат;
- За тест-дебъгване форма писане и същи код, както е описано по-горе:

KnopkaVypolnitNazhatie Процедура (бутон)
. Print () Show ();
KonetsProtsedury

- Но за използване като външна печатна форма, по друг начин (без обект се получи, добре, не, докато не срещнах един случай, че това е наистина необходимо):

Заявка = нова заявка;
.
Назад Zapros.Vypolnit ();

Print () функция Износът

TabDokument = New SpreadsheetDocument;
.
Вземането на проби SformirovatZaprosDlyaPechati = () .Vybrat ();
Разпределение = EtotObekt.PoluchitMaket ( "MaketFormy");
.
Докато Vyborka.Sleduyuschy () контур
Maket.Parametry.Zapolnit (проба);
.
TabDokument.Vyvesti (модел);
KonetsTsikla;

Това е един въпрос. Защо в стандартните формуляри, прилагани тази проверка?


Въпросът е бил помолен за стандартни печатни форми. Това е само на стандартните въпроси Аз обикновено не възникнат.


И вие прочетете статията? Или титлата? Точно в заглавието казва, цитирам: ".. (Via контекст заместване)" Тук, за да се замени формата и в контекста, ние трябва да отида на обекта.

В крайна сметка, всичко може да бъде по-лесно да се направи.


Отново, за да цитирам себе си като

Опитът показва, че използването на този метод е оправдано само в много редки случаи. Но само по себе си начина, по който iteresen в смисъл на възможност за изпълнение на процедурите и функциите, които ще се изпълняват в рамките на друг обект.

И доколкото разбирам, това лечение се нарича като се обадите на командата "Open".


Не, не е правилно разбран.

По принцип, както аз разбирам ситуацията, вие сте в началото на пътя на развитие на 1C. Ако е така, то това лечение може спокойно да не гледат и не разглобявайте. Тя е типично приложение, малко е вероятно смисъл, и по контролиран начин, дори я губи. Ами с една дума, това е без значение.

Ако не друго, аз се извинявам за тон ми. Още същия ден той е истински лентяй.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!