В цій частині ми ознайомимось з елементом конфігурації «Документ» від довідника документ відрізняється тим, що може мати один з двох станів «проведено – не проведено». Якщо документ «проведено» значить подія відбулась (товар відгружено, гроші від клієнта поступили, тощо) Якщо документ не проведено то відповідно подія ще не зафіксована і документ є чорновиком, заготовкою. Кожний документ прив’язаний до події яка відбулась в певний момент тому документи мають прив’язку до дати та часу, що дозволяє вистроїти хронологічну послідовність документів. Оскільки деякі документи можуть бути проведені заднім числом в системі є інструменти що дозволяють від слідкувати чи вплинуть ці зміни на наступні за хронологією і логічно пов’язані документи та перепровести їх.
Як правило документи мають багато інформації яка важлива для ведення правильного обліку така додаткова інформація в системі 1с Підприємство називається реквізитами документа. Більшість реквізитів розробник прописує сам проте два реквізити документу система додає автоматично і їх не можна видалити це дата документа ( з точністю до секунди) та номер документа (як правило унікальний на протязі року) .
Інформація яка є однаковою по структурі але різна по кількості виноситься в одну або кілька табличних частин документа (наприклад перелік товарів з ціною та кількістю які взяли по прихідній накладній).
З документом пов’язано і таке поняття як оперативне чи неоперативне проведення та перепроведення документу та оперативна відмітка часу. При оперативному проведенні система перевіряє чи співпадає дата документу з поточною датою і якщо співпадає тоді при проведенні документу встановлює поточний час або час на секунду більший за останній оперативно проведений сьогодні документ. Якщо ж дата не співпадає виводиться повідомлення про неможливість оперативного проведення документу.
Проте ми трохи помилились при створенні довідників ми забули створити довідник дисків. «Довідник дисків» це довідник в якому вказується перелік дисків а в табличній частині вказується перелік фільмів які є на дисках. Також потрібно створити додатковий реквізит Примітка де будемо вказувати додаткові дані.
Загальний вигляд довідника дисків.
Але ми відволіклись давайте створимо документ по якому ми отримаємо диски з фільмами, це звичайно буде «Прихідна накладна».
Відкриваємо відповідну гілку в конфігурації і по аналогії з довідниками створюємо новий документ «Прихідна накладна».
Створимо табличну частину «Товар» в якому вкажемо такі колонки: «Товар» –тип даних довідник дисків, кількість, ціна, сума. Доречі, бажано в всіх документах де фігурує ціна та сума писати однаково кількість – «Кть», ціна – «Ціна», Сума – «Сума». Оскільки це допоможе уніфікувати процес програмування. Для чого це потрібно трохи нижче.
Тепер створимо форму документу. Загальний вигляд не редагуємо.
Якщо ви запустите «1с:Підприємство 8.1» в режимі «Підприємство» то створивши новий документ (Операції_ Документи – Прихідна накладна) ви побачите що колонку «сума» потрібно заповнювати вручну, що не є добре оскільки автоматизація процесів полягає в тому щоб більшість рутинної роботи робив комп’ютер. Зрозуміло що в більшості систем автоматизації буде багато документів з колонками «Кількість», «Ціна», «Сума». Тому кожен раз писати підпрограмку розрахунку суми не є доцільно краще раз написавши таку програмку використовувати її багато раз.
Підпрограмки для спільного використання в «1с:Підприємство 8.1» створюються в конфігуратор в вітці «Загальні», нас в даному випадку цікавить елемент вітки «Спільні модулі» (зауважте спільних модулів може бути кілька).
Створимо новий спільний модуль «ЗФ» (скорочення від «загальні функції)».
Створюємо спільний модуль.
Алгоритм роботи процедури буде такий: процедура отримує посилання на активну стрічку даних табличної частини. І встановлює в колонці «Сума» число рівне добутку кількості на ціну. Для роботи процедури потрібно щоб в табличній частині були колонки з відповідними назвами.
Сама процедура виглядає так:
Процедура ПерерахунокСуми(СтрокаТабличноїЧастини) экспорт
СтрокаТабличноїЧастини.сума=СтрокаТабличноїЧастини.кть*СтрокаТабличноїЧастини.ціна;
Конецпроцедуры
Слово експорт вказує на те що дана процедура доступна зі всіх частин конфігуратора.
Процедура перерахунку суми має викликатись в двох випадках коли змінилась кількість та коли змінилась ціна. Для прив’язки процедури до події зміни ціни в конфігуратор відкриваємо форму документу і клікаємо по відповідному полю табличної частини, після чого натискуємо на лупу на закладці Події коло назви «ПриИзменении» (див. мал.)
Коли відкриється закладка «Модуль» з вже створеною заготовкою процедури що буде викликатись при зміні кількості ми прописуємо там наступне:
Процедура ТоварКтьПриИзменении(Элемент)
ЗФ.ПерерахунокСуми(Элементыформы.Товар.ТекущиеДанные);
КонецПроцедуры
Де ЗФ.ПерерахунокСуми() – виклик Спільного модуля ЗФ і процедури цього модуля «ПерерахунокСуми», а Элементыформы.Товар.ТекущиеДанные це передача посилання на дані стрічки табличного елементу форми «Товар».
Аналогічно робимо з колонкою «Сума», оскільки нажаль в «1с:Підприємство 8.1» не реалізовано призначення одного і того самого обробника події для кількох елементів.
Запустіть «1с:Підприємство 8.1» в режимі «Підприємство» та створіть кілька прихідних накладних.
Тепер створимо документ «ПозичивПодивитись» де будуть наступні реквізити:
- Кому (відповідний довідник «Друг»)
- Дата повернення (тип дата)
Та таблична частина Диски з колонками:
- диски
- кількість
- ціна
- сума
(останні три позиції щоб вибити гроші якщо не віддасть
)
Для колонок кількість та ціна прописуємо аналогічні процедури як і для прихідної накладної. Тільки не забуваємо що таблична частина називається не «Товар» а «Диски» (де замінити думайте самі
).
Ми вчимо програмування по принципу: «Ось басейн вчіться плавати а воду ми дамо пізніше».
Подпишитесь на RSS канал сайта. Это дает Вам преимущество в скорости получения обновлений и свежей информации.
Вчора був у Львові, поки чекав трамвай на вул. Івана Франка, дивився по сторонам і помітив... ДАЛЕЕ...
http://www.dealextreme.com/details.dx/sku.23147#open%20full%20view http://www.dealextreme.com/details.dx/sku.39458 http://santa-noname.blogspot.com/2009/05/google-translate.html... ДАЛЕЕ...
недавно наткнулся на сайт http://ballanda.ru/ стандартній ГС, но у него тиц 40 откуда? запрос... ДАЛЕЕ...