<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>1c-нік - вчимось програмувати в &#34;1с Підприємство 8.1&#34; &#187; Спільні модулі</title>
	<atom:link href="http://1c-nik.ru/tag/spilni-moduli/feed/" rel="self" type="application/rss+xml" />
	<link>http://1c-nik.ru</link>
	<description>Блог про програмування на &#34;1с Підприємство 8.1&#34;</description>
	<lastBuildDate>Tue, 13 Jul 2010 07:07:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Частина друга &#171;Документи&#187;</title>
		<link>http://1c-nik.ru/2009/07/chastyna-druha-dokumenty/</link>
		<comments>http://1c-nik.ru/2009/07/chastyna-druha-dokumenty/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 16:49:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Блог починаючого програміста]]></category>
		<category><![CDATA[1с]]></category>
		<category><![CDATA[Документи]]></category>
		<category><![CDATA[Підприємство]]></category>
		<category><![CDATA[Спільні модулі]]></category>
		<category><![CDATA[створення]]></category>

		<guid isPermaLink="false">http://1c-nik.ru/2009/07/chastyna-druha-dokumenty/</guid>
		<description><![CDATA[В цій частині ми ознайомимось з елементом конфігурації «Документ» від довідника документ відрізняється тим, що може мати один з двох станів «проведено – не проведено». Якщо документ «проведено» значить подія відбулась (товар відгружено, гроші від клієнта поступили, тощо) Якщо документ не проведено то відповідно подія ще не зафіксована і документ є чорновиком, заготовкою. Кожний документ [...]]]></description>
			<content:encoded><![CDATA[<p>В цій частині ми ознайомимось з елементом конфігурації «Документ» від довідника документ відрізняється тим, що може мати один з двох станів «проведено – не проведено». Якщо документ «проведено» значить подія відбулась (товар відгружено, гроші від клієнта поступили, тощо) Якщо документ не проведено то відповідно подія ще не зафіксована і документ є чорновиком, заготовкою. Кожний документ прив’язаний до події яка відбулась в певний момент тому документи мають прив’язку до дати та часу, що дозволяє вистроїти хронологічну послідовність документів. Оскільки деякі документи можуть бути проведені заднім числом в системі є інструменти що дозволяють від слідкувати чи вплинуть ці зміни на наступні за хронологією і логічно пов’язані документи та перепровести їх.</p>
<p>Як правило документи мають багато інформації яка важлива для ведення правильного обліку така додаткова інформація в системі 1с Підприємство називається реквізитами документа. Більшість реквізитів розробник прописує сам проте два реквізити документу система додає автоматично і їх не можна видалити це дата документа ( з точністю до секунди) та номер документа (як правило унікальний на протязі року) .</p>
<p>Інформація яка є однаковою по структурі але різна по кількості виноситься в одну або кілька табличних частин документа (наприклад перелік товарів з ціною та кількістю які взяли по прихідній накладній). </p>
<p>З документом пов’язано і таке поняття як <i>оперативне чи неоперативне проведення</i> та перепроведення документу та <i>оперативна відмітка часу. </i>При оперативному проведенні система перевіряє чи співпадає дата документу з поточною датою і якщо співпадає тоді при проведенні документу встановлює поточний час або час на секунду більший за останній оперативно проведений сьогодні документ. Якщо ж дата не співпадає виводиться повідомлення про неможливість оперативного проведення документу. </p>
<p>Проте ми трохи помилились при створенні довідників ми забули створити довідник дисків. «Довідник дисків» це довідник в якому вказується перелік дисків а в табличній частині вказується перелік фільмів які є на дисках. Також потрібно створити додатковий реквізит Примітка де будемо вказувати додаткові дані. </p>
<p><a href="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0021.jpg"><img title="clip_image002[1]" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="222" alt="clip_image002[1]" src="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0021_thumb.jpg" width="244" border="0" /></a></p>
<p><a href="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0041.jpg"><img title="clip_image004[1]" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="195" alt="clip_image004[1]" src="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0041_thumb.jpg" width="244" border="0" /></a></p>
<p>Загальний вигляд довідника дисків.</p>
<p>  <span id="more-35"></span>
<p>Але ми відволіклись давайте створимо документ по якому ми отримаємо диски з фільмами, це звичайно буде «Прихідна накладна».</p>
<p>Відкриваємо відповідну гілку в конфігурації і по аналогії з довідниками створюємо новий документ «Прихідна накладна».</p>
<p>Створимо табличну частину «Товар» в якому вкажемо такі колонки: «Товар» –тип даних довідник дисків, кількість, ціна, сума. Доречі, бажано в всіх документах де фігурує ціна та сума писати однаково кількість &#8211; «Кть», ціна &#8211; «Ціна», Сума – «Сума». Оскільки це допоможе уніфікувати процес програмування. Для чого це потрібно трохи нижче.</p>
<p>Тепер створимо форму документу. Загальний вигляд не редагуємо. </p>
<p>Якщо ви запустите «1с:Підприємство 8.1» в режимі «Підприємство» то створивши новий документ (Операції_ Документи – Прихідна накладна) ви побачите що колонку «сума» потрібно заповнювати вручну, що не є добре оскільки автоматизація процесів полягає в тому щоб більшість рутинної роботи робив комп’ютер. Зрозуміло що в більшості систем автоматизації буде багато документів з колонками «Кількість», «Ціна», «Сума». Тому кожен раз писати підпрограмку розрахунку суми не є доцільно краще раз написавши таку програмку використовувати її багато раз. </p>
<p>Підпрограмки для спільного використання в «1с:Підприємство 8.1» створюються в конфігуратор в вітці «Загальні», нас в даному випадку цікавить елемент вітки «Спільні модулі» (зауважте спільних модулів може бути кілька).</p>
<p>Створимо новий спільний модуль «ЗФ» (скорочення від «загальні функції)». </p>
<p><a href="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0061.jpg"><img title="clip_image006[1]" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="182" alt="clip_image006[1]" src="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0061_thumb.jpg" width="244" border="0" /></a></p>
<p>Створюємо спільний модуль. </p>
<p>Алгоритм роботи процедури буде такий: процедура отримує посилання на активну стрічку даних табличної частини. І встановлює в колонці «Сума» число рівне добутку кількості на ціну. Для роботи процедури потрібно щоб в табличній частині були колонки з відповідними назвами. </p>
<p>Сама процедура виглядає так:</p>
<p><font color="#0000ff">Процедура ПерерахунокСуми(СтрокаТабличноїЧастини) экспорт</font></p>
<p><font color="#0000ff">СтрокаТабличноїЧастини.сума=СтрокаТабличноїЧастини.кть*СтрокаТабличноїЧастини.ціна;</font></p>
<p><font color="#0000ff">Конецпроцедуры</font></p>
<p>Слово експорт вказує на те що дана процедура доступна зі всіх частин конфігуратора. </p>
<p>Процедура перерахунку суми має викликатись в двох випадках коли змінилась кількість та коли змінилась ціна. Для прив’язки процедури до події зміни ціни в конфігуратор відкриваємо форму документу і клікаємо по відповідному полю табличної частини, після чого натискуємо на лупу на закладці Події коло назви «ПриИзменении» (див. мал.) </p>
<p><a href="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0081.jpg"><img title="clip_image008[1]" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="73" alt="clip_image008[1]" src="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0081_thumb.jpg" width="244" border="0" /></a></p>
<p>Коли відкриється закладка «Модуль» з вже створеною заготовкою процедури що буде викликатись при зміні кількості ми прописуємо там наступне: </p>
<p><font color="#0000ff">Процедура ТоварКтьПриИзменении(Элемент)</font></p>
<p><font color="#0000ff">ЗФ.ПерерахунокСуми(Элементыформы.Товар.ТекущиеДанные);</font></p>
<p><font color="#0000ff">КонецПроцедуры</font></p>
<p>Де <font color="#0000ff">ЗФ.ПерерахунокСуми()</font> – виклик Спільного модуля ЗФ і процедури цього модуля «ПерерахунокСуми», а Элементыформы.Товар.ТекущиеДанные це передача посилання на дані стрічки табличного елементу форми «Товар». </p>
<p>Аналогічно робимо з колонкою «Сума», оскільки нажаль в «1с:Підприємство 8.1» не реалізовано призначення одного і того самого обробника події для кількох елементів. </p>
<p>Запустіть «1с:Підприємство 8.1» в режимі «Підприємство» та створіть кілька прихідних накладних. </p>
<p>Тепер створимо документ «ПозичивПодивитись» де будуть наступні реквізити:</p>
<p>- Кому (відповідний довідник «Друг»)</p>
<p>- Дата повернення (тип дата)</p>
<p>Та таблична частина Диски з колонками:</p>
<p>- диски </p>
<p>- кількість </p>
<p>- ціна </p>
<p>- сума</p>
<p>(останні три позиції щоб вибити гроші якщо не віддасть <img src='http://1c-nik.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  )</p>
<p>Для колонок кількість та ціна прописуємо аналогічні процедури як і для прихідної накладної. Тільки не забуваємо що таблична частина називається не «Товар» а «Диски» (де замінити думайте самі <img src='http://1c-nik.ru/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &#160; ).</p>
<p>Ми вчимо програмування по принципу: «Ось басейн вчіться плавати а воду ми дамо пізніше».</p>
]]></content:encoded>
			<wfw:commentRss>http://1c-nik.ru/2009/07/chastyna-druha-dokumenty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
