Центральный Дом Знаний - Работа в 1С 18

Информационный центр "Центральный Дом Знаний"

Заказать учебную работу! Жми!



ЖМИ: ТУТ ТЫСЯЧИ КУРСОВЫХ РАБОТ ДЛЯ ТЕБЯ

      cendomzn@yandex.ru  

Наш опрос

Я учусь (закончил(-а) в
Всего ответов: 2653

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Форма входа

Логин:
Пароль:

Работа в 1С 18

Работа в программе 1С

стр.: 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32
33  34  35  36  37  38  39  40  41  42  43  44  45  

В модуле формы документа ПриказОбУвольнении создадим предопределенную процедуру:

Процедура ПриОкончанииРедактированияСтроки()

// проверяем выбран ли работник

Если ФИО.Выбран()=0 Тогда

Предупреждение("Сотрудник не выбран");

СтатусВозврата(0);

// проверяем не уволен ли уже этот работник

ИначеЕсли ФИО.ДатаУвольнения<>'00.00.00' Тогда

Предупреждение("Сотрудник "+ФИО.Наименование+" уже уволен");

СтатусВозврата(0);

// проверяем, что дата увольнения введена

ИначеЕсли ДатаУвольнения='00.00.00' Тогда

Предупреждение("Не введена дата увольнения");

СтатусВозврата(0);

КонецЕсли;

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

Кроме того, при обработке проведения, то есть в момент пуска приказа об увольнении в дело, необходимо в справочнике Сотрудники проставить дату увольнения. Для этого в модуле документа ПриказОбУвольнении создадим предопределенную процедуру:

Процедура ОбработкаПроведения()

//Здесь следует написать алгоритм проведения документа

Сотр=СоздатьОбъект("Справочник.Сотрудники");

// делаем выборку по строкам документа

ВыбратьСтроки();

// пока строки в документе есть

Пока ПолучитьСтроку()=1 Цикл

// ищем сотрудника в справочнике

Сотр.НайтиПоНаименованию(ФИО.Наименование,0,1);

Сотр.ДатаУвольнения=ДатаУвольнения;

// записываем

Сотр.Записать();

КонецЦикла;

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

При отмене проведения необходимо удалить дату увольнения у сотрудников, содержащихся в приказе. Для этого создадим предопределенную процедуру ОбработкаУдаленияПроведения() модуля документа ПриказОбУвольнении:

Процедура ОбработкаУдаленияПроведения()

Сотр=СоздатьОбъект("Справочник.Сотрудники");

// делаем выборку по строкам документа

ВыбратьСтроки();

// пока строки в документе есть

Пока ПолучитьСтроку()=1 Цикл

// ищем сотрудника по наименованию

Сотр.НайтиПоНаименованию(ФИО.Наименование,0,1);

Если Сотр.Выбран()=1 Тогда

// стираем дату увольнения

Сотр.ДатаУвольнения='00.00.00';

// запишем изменения

Сотр.Записать();

КонецЕсли;

КонецЦикла;

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

Чтобы нельзя было изменить проведенный документ в модуле формы документа ПриказОбУвольнении создадим предопределенную процедуру ПриОткрытии() (перед этим задайте идентификатор ОК кнопке ОК):

Процедура ПриОткрытии()

Док=СоздатьОбъект("Документ.ПриказОбУвольнении");

// найти открываемый (текущий) документ

Попытка

Если Док.НайтиДокумент(ТекущийДокумент())=1 Тогда

// если он проведен

Если Док.Проведен()=1 Тогда

// открыть форму только для чтения

Форма.ТолькоПросмотр(1);

// сделать недоступной кнопку ОК

Форма.ОК.Доступность(0);

КонецЕсли;

КонецЕсли;

Исключение

КонецПопытки;

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

Запрограммируем действия при работе с документом Ведомость. Во–первых, при создании новой ведомости или изменении поля Дат (первое число месяца, за который формируется ведомость) необходимо посчитать фонд времени за текущий месяц (то есть количество рабочих дней). Создадим процедуру РасчетФондаВремени(), которая будет находиться в форме документа Ведомость:

Процедура РасчетФондаВремени()

ФондВремени=0;

// ищем с даты начала месяца до даты конца месяца

Для ДД=Дат По КонМесяца(Дат) Цикл

// если номер дня недели не 6 (суббота) и 7 (воскресенье)

Если НомерДняНедели(ДД)<6 Тогда

// увеличиваем фонд на 1 день

ФондВремени=ФондВремени+1;

КонецЕсли;

КонецЦикла;

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

Теперь необходимо указать, чтобы при изменении реквизита Дат происходил перерасчет фонда рабочего времени за указанный месяц. Для этого можно использовать свойства реквизита Дат. У каждого реквизита документа в окне Свойства на вкладке Дополнительно располагается свойство Формула, куда можно поместить команду(ы), которые должны выполняться после выхода из редактирования реквизита. Если таких команд мало (одна–две), то их, как правило, пишут прямо в свойстве Формула через точку с запятой. Если же таких команд много, то в модуле формы документа создают процедуру, которую вызывают в поле Формула. В нашем случае при изменении реквизита Дат необходимо найти дату начала выбранного месяца и посчитать фонд рабочего времени за данный месяц. Сделаем это прямо в свойстве Формула, для этого заполним это свойство следующими командами:

Дат=НачМесяца(Дат);РасчетФондаВремени();

При вводе или изменении реквизита табличной части Отработано необходимо выполнить расчет значений реквизитов Начислено, Налог, КВыдаче. Для этого в модуле формы создадим процедуру:

Процедура Расчет()

// если не введен фонд времени

Если ФондВремени=0 Тогда

Предупреждение("Не задан фонд рабочего времени");

СтатусВозврата(0);

// если не выбран сотрудник

ИначеЕсли ФИО.Выбран()=0 Тогда

Предупреждение("Не выбран сотрудник");

СтатусВозврата(0);

// если оклад =0

ИначеЕсли ФИО.Оклад=0 Тогда

Предупреждение("Оклад должен быть больше 0");

СтатусВозврата(0);

Иначе

// вычисляем поля по формулам

Начислено=Окр(Оклад/ФондВремени*Отработано,2,1);

Налог=Окр(Начислено*0.13,2,1);

КВыдаче=Начислено–Налог;

// подсчитываем итоги по колонкам

СуммаНачислено=Итог("Начислено");

СуммаНалог=Итог("Налог");

СуммаКВыдаче=Итог("КВыдаче");

КонецЕсли;

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

В окне свойств реквизита Отработано зададим значение свойства Формула:

Расчет()

То есть при вводе отработанных дней сотрудника поля Начислено, Налог и КВыдаче будут автоматически рассчитываться по формулам.

При вводе в документ Ведомость нового сотрудника реквизиты Должность и Оклад (их сделали недоступными для редактирования) должны заполняться из справочника Сотрудники. Создадим процедуру ВыборСотрудника() в модуле формы документа:

Процедура ВыборСотрудника()

// задаем реквизиты Должность и Оклад из справочника Сотрудники

Должность=ФИО.Должности.Наименование;

Оклад=ФИО.Оклад;

// если поле Отработано заполнено, вызываем расчет зарплаты

Если Отработано>0 Тогда

Расчет();

КонецЕсли;

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

В окне свойств реквизита ФИО зададим значение свойства Формула:

ВыборСотрудника()

То есть при выборе сотрудника вручную его должность и оклад будут автоматически добавляться из справочника.

Создадим предопределенную процедуру ВводНового(), в которой при создании новой ведомости в нее добавляются все неуволенные сотрудники:

Процедура ВводНового()

// вычисляем поле Дат

Дат=НачМесяца(ДатаДок);

// вычисляем фонд рабочего времени

РасчетФондаВремени();

Сотр=СоздатьОбъект("Справочник.Сотрудники");

// упорядочиваем по наименованию

Сотр.ПорядокНаименований();

Сотр.ВыбратьЭлементы();

Пока Сотр.ПолучитьЭлемент()=1 Цикл

// если элемент не группа (подразделение)

Если Сотр.ЭтоГруппа()=0 Тогда

// если сотрудник не уволен или уволен в текущем месяце

Если (Сотр.ДатаУвольнения='00.00.00') или (Сотр.ДатаУвольнения>НачМесяца(Дат)) Тогда

// создаем новую строку документа

НоваяСтрока();

// в ФИО текущий элемент справочника

ФИО=Сотр.ТекущийЭлемент();

// вызываем процедуру

ВыборСотрудника();

КонецЕсли;

КонецЕсли;

КонецЦикла;

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

При изменении фонда рабочего времени необходимо пересчитать все рассчитанные суммы в ведомости. Создадим для этого процедуру Перерасчет() и укажем ее в свойстве Формула реквизита ФондВремени:

Процедура Перерасчет()

ВыбратьСтроки();

Пока ПолучитьСтроку()=1 Цикл

Расчет();

КонецЦикла;

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

Кроме данных расчетов и проверок документ Ведомость может включать еще много разных действий. Однако, для рассмотрения примера нам пока достаточно. Сохраните конфигурацию и запустите 1С в режиме Предприятие. Попробуйте создать документ Ведомость за текущий месяц и поменять там данные. При сохранении документа не проводите его.

Задания:

В конфигурациях, созданных на прошлых занятиях, создать следующие журналы, документы, экранные формы для них, произвести контроль вводимых данных на допустимость, проведение и отмену проведения документов. Сформировать меню.

Вариант 1

Создайте журнал «ДвижениеКартин» и документы Приход и Продажа с возможностью обработки одновременно нескольких картин в одном документе. В документах подводится итог по колонке Стоимость.

Вариант 2

Создайте журнал «ДвижениеТоваров» и документы Приход и Продажа с возможностью обработки одновременно нескольких товаров в одном документе. В документах подводится итог по колонкам Количество и Стоимость.

Вариант 3

Создайте журнал «ГТС» и документы Регистрация и Отказ с возможностью обработки одновременно нескольких абонентов в одном документе. В документах подводится итог по колонке РазмерАбонПлаты.

Вариант 4

Создайте журнал «БиблиотечныйФонд» и документы Регистрация и Списание с возможностью обработки одновременно нескольких книг в одном документе. В документах подводится итог по колонке Количество и Стоимость.

Вариант 5

Создайте журнал «Налогоплательщики» и документы ПостановкаНаУчет и СнятиеСУчета с возможностью обработки одновременно нескольких налогоплательщиков в одном документе. В документах подводится итог по колонке ГодовойДоход и Налог.

Вариант 6

Создайте журнал «Соискатели» и документы ПостановкаНаУчет и СнятиеСУчета с возможностью обработки одновременно нескольких соискателей в одном документе. В документах подводится итог по колонке ЖелаемаяЗарплата.

Вариант 7

Создайте журнал «ЖилойФонд» и документы Регистрация и СнятиеСУчета с возможностью обработки одновременно нескольких квартир в одном документе. В документах подводится итог по колонке Цена.

Вариант 8

Создайте журнал «Гостиница» и документы Регистрация и ОсвобождениеНомера с возможностью обработки одновременно нескольких постояльцев в одном документе. В документах подводится итог по колонке СтоимостьЗаПроживание.

Вариант 9

Создайте журнал «Подписчики» и документы Подписка и ОтказОтПодписки с возможностью обработки одновременно нескольких изданий у одного подписчика в одном документе. В документах подводится итог по колонке ЦенаПодписки.

Вариант 10

Создайте журнал "Домоуправление" и документы Прописка и Выписка с возможностью обработки одновременно нескольких квартир в одном документе. В документах подводится итог по колонке РазмерКвартплаты.

Вариант 11

Создайте журнал «Касса» и документы Продажа и Сдача с возможностью обработки одновременно нескольких билетов в одном документе. В документах подводится итог по колонке ЦенаБилета.

Вариант 12

Создайте журнал «ТурБюро» и документы Продажа и Сдача с возможностью обработки одновременно нескольких человек в одном документе. В документах подводится итог по колонке ЦенаПутевки.

Вариант 13

Создайте журнал «ОбувнойМагазин» и документы ПриемТовара и ПродажаТовара с возможностью обработки одновременно нескольких пар и видов обуви в одном документе. В документах подводится итог по колонке ЦенаТовара.

Вариант 14

Создайте журнал «ЮвелирныйМагазин» и документы ПриемТовара и ПродажаТовара с возможностью обработки одновременно нескольких изделий в одном документе. В документах подводится итог по колонке ЦенаТовара.

Вариант 15

Создайте журнал «Отделение» и документы ПриказОПриеме и ПриказОбОтчислении с возможностью обработки одновременно нескольких студентов в одном документе. В документах подводится итог по колонке СтоимостьОбучения.

Контрольные вопросы:

1. Назначение документа в системе 1С?

2. Назначение журнала в системе 1С?

3. Какие два обязательных реквизита присутствуют в любом документе?

4. Какова структура документа?

5. Как создать журнал?

6. Как создать документ?

7. Как указать, что документ относится к журналу?

8. Что означает свойство документа Периодичность?

9. Как в журнале задать интервал видимости документов?

10. Какие свойства можно установить у реквизита документа?

11. Как настроить свойства колонок табличной части документа в экранной форме?

12. Что означает свойство Формула колонки табличной части документа?

13. Как настроить внешний вид колонки документа в экранной форме?

14. Как получить итог по колонке табличной части документа?

15. Что такое точка актуальности?

16. Что такое проведение документа?

17. Что такое отмена проведения документа?

18. Какие способы создания документа вы знаете?

Loading

Календарь

«  Май 2019  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Архив записей

Друзья сайта

  • Заказать курсовую работу!
  • Выполнение любых чертежей
  • Новый фриланс 24