<?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/stvorennya/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-chetverta-periodychnyj-rejestr-vidomostej/</link>
		<comments>http://1c-nik.ru/2009/07/chastyna-chetverta-periodychnyj-rejestr-vidomostej/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:21:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Блог починаючого програміста]]></category>
		<category><![CDATA[1с]]></category>
		<category><![CDATA[1с Підприємство]]></category>
		<category><![CDATA[Періодичний реєстр відомостей]]></category>
		<category><![CDATA[створення]]></category>

		<guid isPermaLink="false">http://1c-nik.ru/2009/07/chastyna-chetverta-periodychnyj-rejestr-vidomostej/</guid>
		<description><![CDATA[В даній частині ми з вами ознайомимось з реєстром відомостей а точніше з його підвидом періодичним реєстром відомостей. Даний реєстр відрізняється від реєстру накопичення тим що тут значення ресурсів можуть мати не тільки цифрове значення. Другою відмінністю від реєстру накопичення є те що тут реєстр встановлює нове значення а не змінює старе. Дану структуру на [...]]]></description>
			<content:encoded><![CDATA[<p>В даній частині ми з вами ознайомимось з реєстром відомостей а точніше з його підвидом періодичним реєстром відомостей. Даний реєстр відрізняється від реєстру накопичення тим що тут значення ресурсів можуть мати не тільки цифрове значення. Другою відмінністю від реєстру накопичення є те що тут реєстр встановлює нове значення а не змінює старе. Дану структуру на практиці ми можемо використати для зберігання цін товарів. Дійсно якщо ми будемо продавати товар то ціна на нього на протязі часу може (навіть має) змінюватись Тобто прив’язка до часової шкали просто необхідна. Звичайно це вплинуло на вимоги до унікальності запису. Запис тепер буде унікальним при об’єднанні унікальних записів вимірів регістру та періодичності. До речі періодичність може бути в регістрі різною, зокрема:</p>
<ul>
<li>в межах секунди</li>
<li>В межах дня</li>
<li>В межах місяця</li>
<li>В межах кварталу</li>
<li>В межах року</li>
<li>В межах реєстратору (якщо встановлений режим запису підлеглий реєстратору)</li>
<li><span id="more-139"></span></li>
</ul>
<p>Період це службове поле і завжди має тип дата. Та слугує для приналежності значення до якогось періоду. При записі даних «1с:Підприємство 8.1» приводить тип дати до початку періоду в який вона припадає. Наприклад при періодичності місяць дата 14-01-2009 перетвориться в записаному регістр і в 01-01-2009</p>
<p>Ще однією особливістю даного регістра є те що тут немає прямої заборони на редагування даних користувачем напряму. Якщо є прив’язка до документа-реєстратора то редагування реєстру напряму буде неможливим, якщо ж реєстр не є прив’язаний до реєстратора то такий реєстр називається незалежним і його редагування доступне користувачу.</p>
<p>Думаю теоретичних відомостей вже достатньо, давайте перейдемо до практичного використання даних.</p>
<p>Оскільки ми будемо позичати( а можливо в майбутньому і продавати фільми) то на потрібно буде зафіксувати ціни по яких ми будемо продавати з прив’язкою до дати.</p>
<p>Йдемо на закладку конфігуратора «Регістри відомостей» та створимо новий регістр відомостей «Ціни».</p>
<p>На основній закладці задаєте назву «Ціни» і вказуєте періодичність регістру в межах дня</p>
<p>На закладці дані вказуєте вимір регістру &#8211; «Диски» і вибираєте тип даних «Довідник.диски»</p>
<p>Ресурсом відповідно буде «<strong><em>Ціна</em></strong>» &#8211; тип число, довжина 15, 2 знаки після коми, невід’ємне.</p>
<p>Ну що ж тепер перейдемо до налаштування документів для роботи з даним реєстром.</p>
<p>Документ «<strong><em>ПрихіднаНакладна</em></strong>» ми рухати не будемо, нас більше цікавить документ «<strong>ПозичивПодивитись</strong>» оскільки якраз в ньому ціни мали би заповнюватись автоматично.</p>
<p>Для початку відкриємо його екранну форму.</p>
<p>Ціна має виставлятись в той момент коли ми вже вибрали який диск ми будемо позичати(продавати). Значить вибираємо поле введення диску і натискуємо на збільшувальне скло навпроти події «<strong><em>ПриИзменении</em></strong>»</p>
<p><a href="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image0024.jpg"><img style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" title="clip_image002" src="http://1c-nik.ru/wp-content/uploads/2009/07/clip_image002_thumb3.jpg" border="0" alt="clip_image002" width="244" height="50" /></a></p>
<p>Там ми пропишемо наступне</p>
<p><strong>Процедура ДискиДискПриИзменении(Элемент)</strong></p>
<p><strong>// Вставити вміст обробника.</strong></p>
<p><strong>строкатабличнойчасти= элементыформы.диски.ТекущиеДанные;</strong></p>
<p><strong>строкатабличнойчасти.ціна= РоботаЗДокументами.РоздрібнаЦіна(дата,элемент.значение);</strong></p>
<p><strong>ЗФ.ПерерахунокСуми(строкатабличнойчасти);</strong></p>
<p><strong>КонецПроцедуры</strong></p>
<p>Перший рядок &#8211; отримуємо дані поточної стрічки</p>
<p>Другий рядок викликаємо функцію з загального модуля <strong>РоботаЗДокументами</strong> <strong><em>РоздрібнаЦіна</em></strong> і передаємо їй два параметри: <strong><em>Дату</em></strong> та <strong><em>Значення поточного елементу керування</em></strong> ( в нашому випадку значення довідника дисків).</p>
<p>Третій рядок – перерахунок суми в поточній стрічці.</p>
<p>Почекайте, почекайте, скаже уважний читач але ж ми не маємо ніякого загального модуля <strong>РоботаЗДокументами</strong> і ніякої функції <strong><em>РоздрібнаЦіна </em></strong>. Все правильно ми якраз і підійшли до їхнього створення.</p>
<p>По аналогії з загальним модулем «ЗФ» створимо модуль «РоботаЗДокументами» в якоми ми напишемо наступну функцію:</p>
<p><strong><em> </em></strong></p>
<p><strong><em>функция РоздрібнаЦіна(АктуальнаДата,ЕлементНоменклатури) экспорт</em></strong></p>
<p><strong><em>відбір = Новый Структура(&#8221;Диски&#8221;,ЕлементНоменклатури );</em></strong></p>
<p><strong><em>значенняРесурса= регистрыСведений.ціни.ПолучитьПоследнее(АктуальнаДата,відбір);</em></strong></p>
<p><strong><em>возврат значенняРесурса.ціна;</em></strong></p>
<p><strong><em>конецфункции</em></strong></p>
<p><strong><em> </em></strong></p>
<p>В першій стрічці ми створюємо змінну відбір, якій передаємо отримані функцією дані для отримання посилання на елемент довідника «Диски» який нам потрібний для отримання значення регістру.</p>
<p>В другій стрічці ми отримуємо значення регістру.</p>
<p>А в останній стрічці повертаємо як значення функції ціну на диск, яка актуальна на відповідну дату.</p>
<p>Тепер запустіть «1с:Підприємство 8.1» і в періодичний регістр відомостей «Ціна» внесіть ціни на диски на 1 число місяця і на 10 число місяця.</p>
<p>Виберіть диск в табличній частині і подивіться на ціну. Тепер поміняйте дату і знову виберіть диск, ціна має змінитись.</p>
<p>Поздоровляю на цьому наше зняття з цінами можна вважати закінченим.</p>
]]></content:encoded>
			<wfw:commentRss>http://1c-nik.ru/2009/07/chastyna-chetverta-periodychnyj-rejestr-vidomostej/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
