Наша відеотека почала розвиватись і ми вже не просто позичаємо диски друзям і колегам, а і продаємо диски з фільмами (це означає що ми будемо купувати чисті диски та коробки і записувати на них фільми для продажі). Крім того ми вирішили записувати диски на носії інформації за певну суму (тобто надаємо послуги). Відповідно в програму потрібно внести зміни. Подивимось якими вони будуть.
Спочатку ми створимо перелічення «ВидТовару» з наступними значеннями: «Товар», «Послуга».
Потім ми створимо новий довідник «Номенклатура». В ньому вкажемо реквізит «Вид» і встановимо його тип «ВидТовару».
Тепер відредагуємо регістр накопичення «ЗалишкиДисків». Відкриємо вимір «Диски» і відредагуємо його вид даних наступним чиномВкажемо що в регістрі використовується складний тип даних. І відзначимо два довідники («Диски», «Номенклатура») як типи даних даного виміру (див. рис.).
Аналогічні дії потрібно буде провести в двох документах, там де фігурує тип даних «Диски».
Тепер давайте змінимо процедуру проведення документу «ПозичивПодивитись». Тепер процедура проведення буде виглядати так:
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Даний фрагмент побудований конструктором.
// При повторному використанні конструктора, внесені вручну зміни будуть втрачені!!!
Для Каждого ТекСтрокаДиски Из Диски Цикл
// регістр ЗалишкиДисків Расход
если ТекСтрокаДиски.Диск.Метаданные().Имя = “Номенклатура” тогда
если ТекСтрокаДиски.Диск.Вид <> перечисления.ВидТовару.Послуга тогда
Движение = Движения.ЗалишкиДисків.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Диски = ТекСтрокаДиски.Диск;
Движение.Кількість = ТекСтрокаДиски.кть;
конецесли;
иначе
Движение = Движения.ЗалишкиДисків.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Диски = ТекСтрокаДиски.Диск;
Движение.Кількість = ТекСтрокаДиски.кть;
конецесли;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Як бачимо в тілі циклу додано дві вкладені одна в другу конструкції
Если … Тогда …. Конецесли;
В першій конструкції ми перевіряємо чи в колонці «Диск» табличної сатини «Диски» вибрано елемент довідника «Номенклатура». В разі якщо це так тоді другим «если» ми перевіряємо чи номенклатура є послугою. Якщо це твердження не відповідає дійсності тоді робимо рух по регістру. В разі якщо вибраний елемент не належить довіднику номенклатура ми просто проводимо його по регістру без додаткових перевірок.
На цьому пропоную закінчити.
Подпишитесь на 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 откуда? запрос... ДАЛЕЕ...
Смысл есть, ток куда.
Вот как надо!