Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ABO_6_2012

.pdf
Скачиваний:
6
Добавлен:
23.02.2016
Размер:
583.12 Кб
Скачать

Лабораторна робота № 6

Створення нетипової конфігурації: визначення структури. (15 балів)

Постановка задач:

Створення найпростішої системи обліку ТМЦ та послуг

Потрібно створити систему ведення обліку продукції, товарів та послуг.

 

Об’єкти конфігурації

 

 

 

Тип об'єкта

 

Об'єкт

Перерахування

 

ВидиНомеклатури

 

 

Стать

 

 

ТипиЦін

 

 

ТипСкладу

Константи

 

ДатаОстанньогоЗапуску

 

 

ДозволитиВідємніЗалишки

 

 

Бухгалтер

 

 

Директор

 

 

НазваОрганізації

 

 

ОдиниціВиміру

 

 

СкладЗаЗамовчуванням

Довідники

 

Котрагенти

 

 

Номенклатура

 

 

ОдиниціВиміру

 

 

Посади

 

 

Склади

 

 

Співробітники

Документи

 

ВстановленняЦінНоменклатури

 

 

НадходженняТоварів

 

 

Переміщення

 

 

ПродажТоварів

Журнали

 

ВстановленняЦін

документів

 

РухТоварів

Регістри

 

ЖурналРеєстрації

відомостей

 

ЦіниНоменклатури

Регістри

 

ЗалишкиТоварів

накопичення

 

 

1

Зауваження. 1. У таблиці зазначені загальні для всіх студентів об’єкти. Для повноти вирішення завдання можна створювати додаткові об’єкти, чи реквізити у рекомендованих. 2. Надалі рекомендації надаються тільки для загальних об’єктів. Для індивідуальних об’єктів налаштування слід продумувати самим. 3. Заохочуються індивідуальні вирішення задач.

Завдання:

1.Ознайомитись із запропонованим зразком нетипової конфігурації.

2.Доповнити її згідно зі своїм варіантом завдання.

3.Назвати конфігурацію, визначити її властивості.

4.Створити об’єкти, зазначені у таблиці.

5.Прописати модулі форм та об’єктів.

6.Перевірити роботу створених об’єктів, перейшовши у режим виконання «Підприємство».

7.Створити користувача-адміністратора.

8.Заповнити інформаційну базу.

Хід роботи:

1.Створіть нову папку на будь-якому диску, наприклад, "D:\1C8\Облік".

2.Завантажте 1С8.1. Відкриється список інформаційних баз.

3.Натисніть кнопку Додати. Встановіть перемикач у положення Створення нової інформаційної бази і натисніть на кнопці Наступна. Встановіть перемикач у положення

Створення інформаційної бази без конфігурації для розробки нової конфігурації або завантаження інформаційної бази, що була вивантажена раніше і натисніть на кнопці

Наступна. Вкажіть ім'я інформаційної бази, як воно буде відображатися в списку баз,

наприклад "Облік" і Виберіть тип розташування інформаційної бази: на цьому комп'ютері або на комп'ютері в локальній мережі. На наступному кроці вкажіть шлях до каталогу інформаційної бази. У цьому ж вікні оберіть мову і країну: українська (Україна). Рекомендується обирати таку саму мову, як й мову інтерфейсу системи 1С.

4.Натисніть ОК. У списку інформаційних баз з'явиться новий рядок. Для його редагування можна натиснути кнопку Змінити. Для вилучення інформаційної бази зі списку потрібно натиснути кнопку Вилучити. При цьому інформаційна база вилучається зі списку, але не вилучається фізично з диска.

5.Вкажіть режим запуску Конфігуратор. Завантажиться Конфігуратор.

6.Відкрийте дерево конфігурації. Для цього використайте меню Конфігурація => Відкрити конфігурацію. З'явиться панель конфігурації. Панель Конфігурація зазвичай розташовується в лівій частині вікна програми і є деревом об'єктів конфігурації. Управляти об'єктами можна за допомогою контекстного меню або Панелі інструментів. Якщо конфігурація відкрита, а панелі Конфігурація немає на екрані, то її можна відобразити,

використавши команду Конфігурація => Вікно конфігурації.

Панель Властивості розташовується в правій частині екрану і містить перелік властивостей активного елемента, згрупованих по розділах: основні, дані, представлення, довідкова інформація та дія. Набір властивостей залежить від того, який об'єкт конфігурації вибраний.

Завдння 1. Основи конфігурування 1С:Підприємства.

Створити інформаційну базу та внести відомості про розробника і версію програми

2

1. У вікні Конфігурація, у контекстному меню елемента Конфігурація, виберіть команду Властивості. В правій частині вікна відкриється вікно Властивості конфігурації. Аналогічне вікно властивостей можна відкрити для будь-якого об’єкта конфігурації.

2. На панелі властивостей вкажіть для Конфігурації наступне:

Синонім: Облік ТМЦ та послуг (назва конфігурації, яка буде відображатися користувачеві);

Розробка. Постачальник: Ваше прізвище, Група;

Версія: 1.01

Завдання 2. Константи та перелічення. Форми.

Створити константи та перелічення (перерахування). Побудувати форму для констант.

1. Перейдіть на гілку Перелічення дерева конфігурації. 2.Cтворіть перелічення Стать зі значеннями Жін, Чол.

3.Створіть перелічення ВидиНомеклатури (синонім Види номеклатури), яке міститиме значення: Товар, Послуга, Продукція.

4.Створіть перелічення ТипСкладу (синонім Тип складу), яке міститиме значення:

Гуртовий, Роздрібний.

5.Створіть перелічення ТипиЦін (синонім Типи цін) зі значеннями Закупівельні, Гуртові та Роздрібні.

6.Перейдіть на гілку Довідники дерева конфігурації та створіть ескізи довідників

Співробітники, ОдиниціВиміру та Склади, задавши лише ім’я.

7. Перейдіть на гілку Константи дерева конфігурації та створіть константу Директор з властивостями:

-Ім'я: Директор;

-Тип: СправочникСсылка.Співробітники; 8. Аналогічно створіть константу Бухгалтер.

9. Створіть константу СкладЗаЗамовчуванням з властивостями:

-Ім'я: СкладЗаЗамовчуванням;

-Тип: СправочникСсылка.Склади;

10.Створіть константи ОдиницяВиміруЗаЗамовчуванням, Назва організації, ДатаОстанньогоЗапуску.

11.Створіть форму констант, щоб згрупувати константи по вкладках.

11.1.У дереві конфігурації оберіть гілку Константи.

11.2.У контекстному меню оберіть команду Створити форму констант. У

діалоговому вікні «Конструктор спільних форм» вказати:

-Тип форми: Форма констант. Назначити форму основною;

-Ім'я: ФормаКонстант;

3

11.3.Натисніть кнопку Наступна ...

11.4.Зробіть ширшою форму констант. Додайте на порожню частину форми Панель (Форма => Вставити елемент керування). У лівому стовпчику оберіть тип елемента керування: Панель. У правій частині задайте:

- ім'я: ПанельКонстант;

- відображати закладки: Ліворуч (горизонтально).

11.5.Нарисуйте прямокутник, де розташовуватиметься панель.

11.6.У контекстному меню панелі додайте ще одну сторінку. Змініть розташування констант таким чином, щоб вони були переміщені на дві сторінки, як зображено.

Якщо необхідно, перемістіть константу на відповідну сторінку форми.

12.На формі констант для ДатаОстанньогоЗапуску встановіть властивість

ТолькоПросмотр.

13.Додайте в процедуру ПриНачалеРаботыСистемы() код, що встановлює значення константи із системної дати:

- у дереві конфігурації у контекстному меню конфігурації слід обрати Відкрити модуль додатка;

- написати програмний код у тілі процедури ПриНачалеРаботьСистемы().

//==================================

Процедура ПриНачалеРаботыСистемы() Сообщить(Константы.НазваОрганізації.Получить(),СтатусСообщения.

Информация); Константы.ДатаОстанньогоЗапуску.Установить(ТекущаяДата()); КонецПроцедуры

//==================================

Завдання 3. Довідники.

Створити довідники, у яких зберігатиметься інформація про одиниці виміру, номенклатуру, склади, контрагенти.

1.Перейдіть на гілку Довідники.

2.Створіть довідник Склади, який міститиме перелік місць зберігання товарів для організації:

Вкладка Основні:

-Ім'я: Склади;

-Синонім: Склади;

Вкладка Ієрархія:

-Ієрархічний довідник □ (означає, що в довіднику не можна буде створювати групи); Вкладка Дані:

-Довжина коду: 3;

-Тип коду: Рядок;

-Довжина найменування: 50;

-Реквізити: ТипСкладу (тип: ПеречислениеСсылка.ТипСкладу)

Вкладка Нумерація:

- Автонумерація: Так;

4

Вкладка Форми:

- Редагування: В списку.

3. Створіть довідник ОдиниціВиміру (синонім Одиниці виміру). На вкладці Інші натисніть кнопку Напередвизначені і додайте елемент штука.

4. Створіть довідник Контрагенти з реквізитами Назва, Адреса та табличною частиною: ІмяКонтОсоби (синонім Ім'я контактної особи), Посада, Телефон, етаіl.

Довідник має бути ієрархічним (вид ієрархії: Ієрархія груп і елементів). Створіть форми елемента та списку.

5.Створіть довідник Посади.

6.Створіть довідник Співробітники з реквізитами ПІБ, Прізвище, Імя (синонім Ім'я),

ПоБатькові (синонім По батькові), Посада (з відповідного довідника), ДатаНародження (синонім Дата народження), Стать (тип реквізиту: ПеречислениеСсылка.Стать.) і табличною частиною ПопередніМісцяРоботи (синонім Попередні місця роботи).

6.1.Для довідника Співробітники створіть форму списку таким чином, щоб вона містила тільки номер, ПІБ та посаду. Перейдіть до вкладки Форми. Додайте Форму списку.

6.2.Встановіть прапорці біля реквізитів Картинка, Код, Найменування, Посада.

6.3.Змініть заголовок стовпчику Найменування на ПІБ.

6.4. Створіть у конфігураторі форму елемента довідника Співробітники. Розташуйте елементи форми так, щоб на сторінці Основні дані розміщувались реквізити довідника, на сторінці Довідкова інформація – таблична частина Попередні місця роботи.

Для цього використовуйте панелі.

6.5 Позначте на формі поля Прізвище, Ім’я, По батькові, Посада як обов'язкові для заповнення. Для цього виділіть елемент керування Посада. На панелі Властивості елемента встановіть АвтоОтметкаНезаполненного.

6.6.Аналогічні дії виконайте для полів Прізвище, Ім’я, По батькові.

6.7.Для того щоб форма не закривалась без заповнення обов’язкових полів введення

треба написати обробку події збереження елемента. Для цього у конфігураторі виділіть форму. Внизу панелі Властивості натисніть кнопку Відкрити навпроти події

ПередЗаписью

6.8. У обробці події напишіть наступний код:

//======================================

Процедура ПередЗаписью(Отказ) Если ЭлементыФормы.Прізвище.Значение = "" или ЭлементыФормы.Імя.Значение = "" или

5

ЭлементыФормы.Побатькові.Значение = "" или ЭлементыФормы.Посада.3начение.Ссылка.Пустая()

Тогда Отказ=Истина; Сообщить ("Перевірте заповнення реквізитів",

СтатусСообщения.Важное); КонецЕсли; КонецПроцедуры

//====================================== 6.9. Змініть порядок обходу елементів форми таким чином, щоб першими були

елементи Прізвище, Ім'я, По батькові, а за ними Дата народження, Стать, Посада. Для цього у формі елемента довідника Співробітники виділіть елемент керування Панель і задайте:

-АвтоПорядокОбхода: Ні;

-Форма => Порядок обходу. По черзі натисніть клавішею мишею на полях введення

Прізвище, Ім'я, По батькові, Дата народження, Стать, Посада.

6.10. Додайте обробку події ПриИзменении для елементів форми Прізвище, Ім'я, По батькові таким чином, щоб при заповненні цих даних Найменування (ПІБ) формувалось автоматично. Для цього оберіть форму елемента довідника Співробітники. Виділіть елемент керування Прізвище. Внизу панелі Властивості натисніть кнопку Відкрити навпроти події ПриИзменении. Відкрийте обробку події ПриИзменении та напишіть текст процедури:

//=======================================

Процедура ПрізвищеПриИзменении(Элемент) ЭлементыФормы.Наименование.Значение= ЭлементыФормы.Прізвище.Значение+" "+ Лев(ЭлементыФормы.Імя.Значение,1)+". "+ Лев(ЭлементыФормы.ПоБатькові.Значение,1)+"."; КонецПроцедуры

//========================================

Для елементів керування Ім'я та По батькові у списку обробок подїї ПриИзменении

оберіть Процедуру ПрізвищеПриИзменении.

7. Створіть довідник Номенклатура, який міститиме назви товарів та послуг. Додайте у довідник Номенклатура такі реквізити ЦінаЗакупівлі, ЦінаРоздрібна, ЦінаГуртова, ОдиницяВиміру (тип реквізиту: СправочникСсылка.ОдиниціВиміру), ВидНоменклатури (тип реквізиту: ПеречислениеСсылка. ВидиНоменклатури). Зробіть довідник Номенклатура

ієрархічним (вид ієрархії: Ієрархія груп і елементів).

7.1.Створіть Форму елемента зі всіма реквізитами та Форму списку з реквізитами: код, найменування, одиниця виміру.

7.2.Для нових елементів треба встановлювати значення реквізиту Одиниці виміру таке, яке встановлено в константах. Виділіть форму елемента довідника Номенклатура. Напишіть обробку події ПриОткрытии:

//============================

Процедура ПриОткрытии() Если ЭтоНовый() Тогда

ЭлементыФормы.ОдиницяВиміру.Значение= Константы.ОдиницяВиміруЗаЗамовчуванням.Получить();

КонецЕсли; КонецПроцедуры

//=============================

7.3. Зробіть реквізит Найменування довіднику Номенклатура обов'язковим для заповнення (позначте його червоною рисочкою та запрограмуйте обробку події).

//============================

Процедура ПередЗаписью(Отказ)

Если ЭлементыФормы.Наименование.Значение=""

6

Тогда Отказ=Истина; Сообщить("Заповніть найменування номеклатури",

СтатусСообщения.Важное); КонецЕсли; КонецПроцедуры

//=============================

8.Пропишіть Процедуру ПередЗаписью()для довідника Склади.

9.У режимі «1С:Підприємство» заповніть довідники та константи.

Завдання 4. Регістри відомостей.

Створити регістри відомостей, які міститимуть інформацію доступну у розрізі часу.

1. Створіть регістр відомостей Журнал Реєстрації для реєстрації подій у інформаційній базі, який міститиме інформацію про те коли і яка дія відбувалась в системі. Регістр матиме вимір Дія. Періодичність щосекундна.

У модуль додатка (контекстне меню

Конфігурації), в процедури ПриНачалеРаботыСистемы и ПриЗавершенииРаботыСистемы, додайте програмний код, який додаватиме в регістр записи з поточними значеннями часу і видом роботи: кінець або початок роботи. Тепер ці процедури матимуть вигляд.

//=================================================

Процедура ПриНачалеРаботыСистемы() Сообщить(Константы.НазваОрганізації.Получить(),СтатусСообщения.

Информация); Константы.ДатаОстанньогоЗапуску.Установить(ТекущаяДата());

Запись = РегистрыСведений.ЖурналРеєстрації.СоздатьМенеджерЗаписи();

Запись.Период = ТекущаяДата(); Запись.Дія = "початок роботи"; Запись.Записать();

КонецПроцедуры

//=================================================

Процедура ПриЗавершенииРаботыСистемы() Запись =

РегистрыСведений.ЖурналРеєстрації.СоздатьМенеджерЗаписи(); Запись.Период = ТекущаяДата(); Запись.Дія = "кінець роботи"; Запись.Записать();

КонецПроцедуры

//==============================================

2.Виконайте два-три запуски конфігурації та переконайтеся у наявності записів у регістрі відомостей Журнал реєстрації.

3.Створіть регістр відомостей ЦіниНоменклатури (синонім Ціни номенклатури), що зберігатиме інформацію по цінам товарів. Ціна є ресурсом. Для кожної позиції товару треба зберігати значення

кожної із цін. Ціна товару не повинна змінюватися більше одного разу на день.

7

Завдання 5. Документи та журнали документів.

Створити документи, у яких відображатиметься товаро-обіг та фіксація курсу валют. Документи відображати у журналах документів.

1.Перейдіть на гілку конфігурації Документи.

2.Створіть документ ВстановленняЦінНоменклатури з табличною частиною

Номенклатура.

2.1.Додайте реквізит ВибірВидНоменклатури (тип ПеречислениеСсылка.ВидиНоменкла-

тури).

2.2.На форму документа додайте кнопку Заповніть.

2.3.Для кнопки Заповніть додайте процедуру заповнення табличної частини документа даними, в залежності від вибору видів номенклатури та ціни.

//================================================

ЗаповнитиТабличнуЧастинуНажатие(Элемент) выбор=ЭлементыФормы.ВибірВидНоменклатури.Значение; сообщить("вибрано вид "+выбор); Цена=Перечисления.ТипиЦін;

Для каждого значения Из цена Цикл Режим = РежимДиалогаВопрос.ДаНет;

Ответ= Вопрос("вибирати ціну"+ значения + "?",Режим, 0 ); Если Ответ = КодВозвратаДиалога.Нет Тогда

Продолжить; Иначе

СпрНом= Справочники.Номенклатура; МояВыборкаНоменклатуры=СпрНом.Выбрать(); Пока МояВыборкаНоменклатуры.Следующий() Цикл

Если МояВыборкаНоменклатуры.ВидНоменклатури=выбор Тогда МояСтрока=Номенклатура.Добавить(); МояСтрока.ТипЦіни=значения;

МояСтрока.НоменклатураИмя=МояВыборкаНоменклатуры.Ссылка; КонецЕсли;

КонецЦикла; КонецЕсли;

КонецЦикла; КонецПроцедуры

//================================================

2.4.Додайте у процедуру попереднього пункту рядки, за якими змінюється назва стовпчика номеклатури у залежності від вибраного виду номенклатури.

2.5.За допомогою конструктора рухів сформуйте модуль об’єкта, за яким заповнюється регістр відомостей ЦіниНоменклатури.

8

Для цього:

-У регістрі відомостей Ціни номенклатури встановити Режим запису:

Підпорядкування реєстратору;

-У документі ВстановленняЦінНоменклатури на вкладці Рухи встановіть ЦіниНоменклатури;

-Натисніть ;

- У конструкторі оберіть табличну частину Номенклатура,

натисніть

і ОК.

 

2.6. У режимі 1С:Підприємство відкрийте регістр відомостей ЦіниНоменклатури, та зверніть увагу, що він порожній. Не закриваючи регістр відомостей відкрийте документ ВстановленняЦінВалют і сформуйте його, скориставшись кнопкою Заповнити. Проведіть документ.

3.Перейдіть на гілку Журнали документів. Створіть журнал ВстановленняЦін (синонім

Встановлення цін) та розмістіть у ньому документ ВстановленняЦінНоменклатури.

4.Створіть документ НадходженняТоварів (синонім Надходження товарів).

4.1.У реквізити документа додайте Склад, Контрагент, Комірник, Сума а у табличну частину Товари: НайменуванняТовару, Кількість, Ціна та Сума.

4.2.Створіть форму документа

4.3. Встановіть для Табличного поля форми

Подвал. Виділіть стовпчик Сума і

встановіть для нього властивість ОтображатьИтогиВПодвале.

4.4. Щоб здійснити перерахунок даних у табличній частині при зміні ціни та кількості товарів зробіть наступне:

-у формі документа НадходженняТоварів виділіть поле введення Кількість;

-у обробці події ПриИзменении напишіть код:

//==========================================

Процедура ТовариКількістьПриИзменении(Элемент) МійРядокТабличноїЧастини=ЭлементыФормы.Товари.ТекущиеДанныеМій РядокТабличноїЧастини.Сума=МійРядокТабличноїЧастини.Ціна*МійРя докТабличноїЧастини.Кількість;

КонецПроцедуры

//==========================================

4.5.Додайте ту саму обробку події для поля введення Ціна.

4.6.Для форми документа напишіть обробку події ПередЗаписью();

//========================================

Процедура ПередЗаписью(Отказ, Режим3аписи, РежимПроведения) МояЗагальнаСумаПоДокументу=0; Для Каждого МогоРядка Из Товари Цикл

МояЗагальнаСумаПоДокументу=МояЗагальнаСумаПоДокументу+МогоРядк а.Сума;

9

КонецЦикла; Сума=Моя3агальнаСумаПоДокументу;

КонецПроцедуры

//========================================

4.7. Оскільки при придбанні використовують закупівельні ціни, то для поля НайменуванняТовару напишіть обробку події ПриИзменении, яка автоматично вставлятиме у табличну частину документа ціни вибраного найменування.

//====================================

Процедура ТовариНайменуванняТоваруПриИзменении(Элемент) // Вставить содержимое обработчика. МояСтрока=ЭлементыФормы.Товари.ТекущиеДанные;

Отбор = Новый Структура("Номенклатура", МояСтрока.НайменуванняТовару); Отбор.Вставить("ТипЦіни", Перечисления.ТипиЦін.Закупівельні);

// Получить актуальные значения ресурсов регистра сведений ЗначенияЦеныЗакупки = РегистрыСведений.ЦіниНоменклатури.ПолучитьПоследнее(Дата, Отбор);

Цена=ЗначенияЦеныЗакупки.ціна; Сообщить("товар "+ мояСтрока.НайменуванняТовару+" ціна з

регістру відомостей

"+цена) ;

 

Если

Цена=0

тогда

 

Цена= мояСтрока.НайменуванняТовару.ЦінаЗакупівлі;

 

Сообщить("Береться ціна за замовчуванням "+Цена);

 

КонецЕсли;

 

 

МояСтрока.Ціна=Цена;

 

 

КонецПроцедуры

 

 

//====================================

 

4.8. Для форми документа напишіть обробку події ПриЗаписи(); у

якій перевіряється

заповнення реквізитів заголовку документа.

 

5. Скопіюйте

документ НадходженняТоварів і переіменуйте

новий документ у

ПродажТоварів (синонім Продаж товарів).

5.1.Зверніть увагу, що всі реквізити і табличні частини скопіювалися разом з документом, але у формі документа заголовок залишився без змін. Переіменуйте його на Продаж товарів. Завантажте конфігурацію у режимі «Підприємство», перевірте роботу табличної частини документа, додавши один документ Продаж товарів.

5.2.Оскільки при продажі використовують роздрібні чи гуртові ціни, то для поля НайменуванняТовару допишіть обробку події ПриИзменении, яка автоматично вставлятиме у табличну частину документа ціни вибраного найменування в залежності від типу складу.

//==================================

Процедура ТовариНайменуванняТоваруПриИзменении(Элемент) // Вставить содержимое обработчика. МояСтрока=ЭлементыФормы.Товари.ТекущиеДанные; МойСклад=ЭлементыФормы.Склад.Значение;

Если Мойсклад.ТипСкладу = Перечисления.ТипСкладу.Роздрібний Тогда ТЦ=Перечисления.ТипиЦін.Роздрібні

Иначе ТЦ=Перечисления.ТипиЦін.Гуртові; КонецЕсли;

Отбор = Новый Структура("Номенклатура", МояСтрока.НайменуванняТовару);

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]