Статьи

Професія - 1С

  1. Зовнішні друковані форми
  2. Зовнішні обробки заповнення табличних частин

рубрики: початківцям | Дата: 24, Червень, 2014

Всім відомо що в конфігураціях 1С існує така чудова можливість як створення зовнішніх друкованих форм і обробок щодо заповнення табличних частин. А хто ще цим не користувався, може відкрити будь-яку типову конфігурацію 1С в режимі підприємства і в меню перейти за адресою «Сервіс» - «Додаткові звіти і обробки» - «Додаткові зовнішні друковані форми» ( «Додаткові зовнішні обробки табличних частин»). Обидва цих меню відкривають один і той же довідник - «ВнешніеОбработкі», тільки з різним відбором з реквізиту «ВідОбработкі».

У чому ж принадність цього функціоналу. Припустимо у вас є типовий документ (довідник) і вас не влаштовує стандартний висновок його на друк або ви хочете додати ще одну друковану форму (або обробку щодо заповнення табличній частини). Перше що приходить в голову - це відкрити конфигуратор і внести відповідні зміни. Але тоді при оновленні кожен раз доведеться відстежувати ці зміни. Особливо незручно це робити, якщо зміни вносилися в макет. Щоб уникнути зміни типового функціоналу, фірмою 1С практично у всіх типових конфігураціях реалізований механізм зовнішніх друкованих форм і заповнення табличних частин.

Щоб зовнішні обробки працювали коректно вони повинні відповідати певним правилам. Розглянемо ці правила.

Зовнішні друковані форми

Створюємо зовнішню обробку. У ній повинні бути присутніми такі обов'язкові елементи:

  • Реквізит СсилкаНаОб'ект з типом СправочнікСсилка.ІмяСправочніка або ДокументСсилка.ІмяДокумента
  • Макет. Якщо видозмінюється типовий макет, то він звичайно копіюється з типового документа або довідника і допрацьовується. Або створюється з нуля, якщо створюється якась специфічна друкована форма.
  • Або створюється з нуля, якщо створюється якась специфічна друкована форма

  • Експортна процедура Друк () в модулі об'єкта, яка повертає табличний документ. Природно, що заповнення табличного документа здійснюється в цій же процедурі. Приблизно ось так: Функція Друк () Експорт ТабДокумент = Новий ТаблічнийДокумент; Макет = ПолучітьМакет ( "Макет"); ОбластьМакетаШапка = Макет .ПолучітьОбласть ( "Шапка"); ОбластьМакетаШапка .Параметри .МойПараметр = "Мій параметр"; //ТабДокумент.Показать (); Повернення ТабДокумент; КонецФункціі

    Хочу звернути увагу на закоментувавши рядок «//ТабДокумент.Показать ();". Цей рядок в Розкоментувати вигляді використовується для налагодження.

Кілька слів про налагодження. Оскільки зовнішні обробки зберігаються в довіднику, то при їх використанні механізм зовнішніх друкованих форм попередньо витягує їх в тимчасову папку. Таким чином, щоб почати налагодження зовнішньої друкованої форми треба десь в загальних модулях знайти місце, коли зовнішня обробка вже збережена в тимчасовий каталог, але ще не запущена на виконання, поставити там точку зупину, і потім коли точка зупинки відпрацює - відкрити в конфігураторі зовнішню обробку з тимчасового каталогу, і тільки тоді можна приступати до налагодження. Погодьтеся, що процес досить тоскний.

Щоб полегшити процес налагодження, я зазвичай створюю форму (хоча в принципі для роботи обробки вона не потрібна), виводжу на форму реквізит СсилкаНаОб'ект, а по кнопці виконати викликаю функцію Друк (), яка описана вище.

Щоб полегшити процес налагодження, я зазвичай створюю форму (хоча в принципі для роботи обробки вона не потрібна), виводжу на форму реквізит СсилкаНаОб'ект, а по кнопці виконати викликаю функцію Друк (), яка описана вище

Процедура КнопкаВиполнітьНажатіе (Кнопка) Друк (); КонецПроцедури

Зовнішні обробки заповнення табличних частин

Зовнішня обробка щодо заповнення табличній частини повинна відповідати таким вимогам:

  • У модулі об'єкта повинна бути наступна експортна процедура: Процедура Ініціалізувати (Об'єкт, ІмяТаблічнойЧасті, ТаблічноПолеОб'екта) Експорт

    тут:

    • Об'єкт - в цей параметр буде переданий ДокументОб'ект або СправочнікОб'ект для якого викликається дана процедура
    • ІмяТаблічнойЧасті - в цей параметр буде передана рядок містить ім'я табличній частині, яка буде заповнюватися
    • ТаблічноПолеОб'екта - в цей параметр буде переданий елемент форми «табличне поле», яке буде заповнюватися
      Чесно кажучи ніколи не користувався цим параметром. Зазвичай звертаюся до табличній частині через її ім'я.

    І знову ж таки для налагодження зручно в обробку додати реквізити з посиланням на документ або довідник, а також з ім'ям табличній частині. Або в коді ім'я табличній частині задати. І соответсnвенно по кнопці виконати викликаємо процедуру Ініціалізувати ()

Новости

Как создать фото из видео
Кризис заставляет искать дополнительные источники дохода. Одним из таких источников может стать торговля на валютном рынке Форекс. Но чтобы не потерять свои деньги необходимо работать с надежным брокером.

Как оформить группу в вконтакте видео
Дано хотел свой магазин в вк, но не знал с чего начать его делать. Так как хотелось не банальный магазин с кучей ссылок и фото, а красиво оформленный. С меню, с аватаркой. После просмотра видео создал

Как оформить диск малыш от рождения до года из фото и видео
Оформить диск "Малыш от рождения до года" из фото и видео можно совершенно разными способами! Кто-то для достижения данной цели идет на шоу-таланты, кто-то пользуется услугами профессионалов, а кто-то