Разработка модуля бизнес-процесса отдела по работе с клиентами и склада на основе конфигурации базовой модели "1С"

Характеристика деятельности ООО "ЖилРемСтрой", его организационная структура. Разработка проекта автоматизации бизнес-процессов предприятия с помощью программы "1С". Контрольный пример реализации проекта. Расчет экономической эффективности автоматизации.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 29.01.2013
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Движение.СчетКт = ПланыСчетов.Основной.Выручка;

Движение.Период = Дата;

Движение.Сумма = ТекСтрокаНоменклатура.Сумма;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Контрагент;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидНоменклатуры] = ТекСтрокаНоменклатура.Номенклатура.ВидНоменклатуры;

КонецЦикла;

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

// регистр Основной

Движение = Движения.Основной.Добавить();

Движение.СчетДт = ПланыСчетов.Основной.Себистоимость;

Движение.СчетКт = ПланыСчетов.Основной.ТоварыНаСкладах;

Движение.Период = Дата;

Движение.Сумма = ТекСтрокаНоменклатура.Сумма;

Движение.КоличествоКт = ТекСтрокаНоменклатура.Количество;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ВидНоменклатуры] = ТекСтрокаНоменклатура.Номенклатура.ВидНоменклатуры;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаНоменклатура.Номенклатура;

КонецЦикла;

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

Документ.ВозвратОтПокупателя.Форма.ФормаДокумента.Форма.Модуль

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

Если ЭтотОбъект.ЭтоНовый() Тогда

КодОперации = Перечисления.КодыОпераций.возврат;

КонецЕсли;

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

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

ДоступноеКоличество = 0;

Измерения = "";

Фильтр = Новый Структура;

Фильтр.Вставить("Склад", Склад);

Измерения = Измерения+"Склад";

Фильтр.Вставить("Номенклатура", ТекСтрокаНоменклатура.Номенклатура);

Измерения = Измерения+",Номенклатура";

ТаблицаОстатков = РегистрыНакопления.Остатки.Остатки(Дата, Фильтр, Измерения);

Если ТаблицаОстатков.Количество() > 0 Тогда

СтрокаОстатков = ТаблицаОстатков.Получить(0);

ДоступноеКоличество = СтрокаОстатков.Количество;

КонецЕсли;

Если ТекСтрокаНоменклатура.Количество>ДоступноеКоличество Тогда

Предупреждение("Для номенклатуры " + ТекСтрокаНоменклатура.Номенклатура + Символы.ПС +

"нет необходимого количества" + Символы.ПС +

"на остаке " + ДоступноеКоличество, 60, "ВНИМАНИЕ");

Отказ = Истина;

Прервать;

КонецЕсли;

КонецЦикла;

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

Документ.Заявка.Форма.ФормаДокумента.Форма.Модуль

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

Если ЭтотОбъект.ЭтоНовый() Тогда

КодОперации = Перечисления.КодыОпераций.Заявка;

КонецЕсли;

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

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

//Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

// ДоступноеКоличество = 0;

// Измерения = "";

//

// Фильтр = Новый Структура;

// Фильтр.Вставить("Склад", Склад);

// Измерения = Измерения+"Склад";

// Фильтр.Вставить("Номенклатура", ТекСтрокаНоменклатура.Номенклатура);

// Измерения = Измерения+",Номенклатура";

//

// ТаблицаОстатков = РегистрыНакопления.Остатки.Остатки(Дата, Фильтр, Измерения);

// Если ТаблицаОстатков.Количество() > 0 Тогда

// СтрокаОстатков = ТаблицаОстатков.Получить(0);

// ДоступноеКоличество = СтрокаОстатков.Количество;

// КонецЕсли;

// Если ТекСтрокаНоменклатура.Количество>ДоступноеКоличество Тогда

// Предупреждение("Для номенклатуры " + ТекСтрокаНоменклатура.Номенклатура + Символы.ПС +

// "нет необходимого количества" + Символы.ПС +

// "на остаке " + ДоступноеКоличество, 60, "ВНИМАНИЕ");

// Отказ = Истина;

// Прервать;

// КонецЕсли;

//КонецЦикла;

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

Документ.Перемещение.МодульОбъекта

Процедура ОбработкаПроведения(Отказ, Режим)

//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

// регистр Остатки Расход

Движение = Движения.Остатки.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.Склад = СкладИсточник;

Движение.Номенклатура = ТекСтрокаНоменклатура.Номенклатура;

Движение.Количество = ТекСтрокаНоменклатура.Количество;

Движение.КодОперации = КодОперации;

КонецЦикла;

//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

Движение = Движения.Остатки.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Склад = СкладПриемник;

Движение.Номенклатура = ТекСтрокаНоменклатура.Номенклатура;

Движение.Количество = ТекСтрокаНоменклатура.Количество;

Движение.КодОперации = КодОперации;

КонецЦикла;

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

Документ.Перемещение.Форма.ФормаДокумента.Форма.Модуль

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

Если ЭтотОбъект.ЭтоНовый() Тогда

КодОперации = Перечисления.КодыОпераций.перемещение;

КонецЕсли;

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

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

ДоступноеКоличество = 0;

Измерения = "";

Фильтр = Новый Структура;

Фильтр.Вставить("Склад", СкладИсточник);

Измерения = Измерения+"Склад";

Фильтр.Вставить("Номенклатура", ТекСтрокаНоменклатура.Номенклатура);

Измерения = Измерения+",Номенклатура";

ТаблицаОстатков = РегистрыНакопления.Остатки.Остатки(Дата, Фильтр, Измерения);

Если ТаблицаОстатков.Количество() > 0 Тогда

СтрокаОстатков = ТаблицаОстатков.Получить(0);

ДоступноеКоличество = СтрокаОстатков.Количество;

КонецЕсли;

Если ТекСтрокаНоменклатура.Количество>ДоступноеКоличество Тогда

Предупреждение("Для номенклатуры " + ТекСтрокаНоменклатура.Номенклатура + Символы.ПС +

"нет необходимого количества" + Символы.ПС +

"на остаке " + ДоступноеКоличество, 60, "ВНИМАНИЕ");

Отказ = Истина;

Прервать;

КонецЕсли;

КонецЦикла;

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

Документ.ПКО.МодульОбъекта

Процедура ОбработкаПроведения(Отказ, Режим)

Если Фирма.Пустая() Тогда

Предупреждение("Заполните фирму!", 60, "Проведение.");

Отказ = истина;

Возврат;

КонецЕсли;

Если Контрагент.Пустая() Тогда

Предупреждение("Заполните контрагента!", 60, "Проведение.");

Отказ = истина;

Возврат;

КонецЕсли;

Если Касса.Пустая() Тогда

Предупреждение("Заполните кассу!", 60, "Проведение.");

Отказ = истина;

Возврат;

КонецЕсли;

// регистр Взаиморасчеты Приход

Движение = Движения.Взаиморасчеты.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.Контрагент = Контрагент;

Движение.Сделка = ЭтотОбъект.Ссылка;

Движение.Сумма = ЭтотОбъект.Сумма;

Движение = Движения.Касса.Добавить();

Движение.ВидДвижения= ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.Касса = Касса;

Движение.Сумма = ЭтотОбъект.Сумма;

Движение.КодОперации= Перечисления.КодыОпераций.ПКО;

// регистр Основной

//Движение = Движения.Основной.Добавить();

//Движение.СчетДт = ПланыСчетов.Основной.ТоварыНаСкладах;

//Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставщикамиВРублях;

//Движение.Период = Дата;

//Движение.Сумма = ТекСтрокаНоменклатура.Сумма;

//Движение.КоличествоДт = ТекСтрокаНоменклатура.Количество;

//Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаНоменклатура.Номенклатура;

//Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Контрагент;

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

Документ.ПКО.Форма.ФормаДокумента.Форма.Модуль

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

Если ЭтотОбъект.ЭтоНовый() Тогда

КодОперации = Перечисления.КодыОпераций.ПКО;

КонецЕсли;

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

Процедура Печать(Кнопка)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.ПКО.ПолучитьМакет("МакетПКО");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

Область.Параметры.ПКОСтрока = "ПКО № " + ЭтотОбъект.Номер +

Формат(ЭтотОбъект.Дата, "ДФ='дд ММММ гггг'");

Область.Параметры.Фирма = ЭтотОбъект.Фирма.Наименование;

Область.Параметры.РеквизитыФирмы= "ИНН " + ЭтотОбъект.Фирма.ИНН +

" КПП " + ЭтотОбъект.Фирма.КПП +

" Юр.адрес " + ЭтотОбъект.Фирма.ЮридическийАдрес;

Область.Параметры.Касса = ЭтотОбъект.Касса.Наименование;

Область.Параметры.Контрагент = ЭтотОбъект.Контрагент.Наименование;

Область.Параметры.РеквизитыКонтрагента = "ИНН " + ЭтотОбъект.Контрагент.ИНН +

" КПП " + ЭтотОбъект.Контрагент.КПП;

Область.Параметры.Сумма = Формат(ЭтотОбъект.Сумма, "ЧЦ=15;ЧДЦ=2") + " ( "

+ ЧислоПрописью(ЭтотОбъект.Сумма, "L=ru_RU") + " ) руб.";;

ТабДок.Вывести(Область);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Документ.ПоступлениеТМЦ.МодульОбъекта

Процедура ОбработкаПроведения(Отказ, Режим)

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

// регистр Остатки Приход

Движение = Движения.Остатки.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.Склад = Склад;

Движение.Номенклатура = ТекСтрокаНоменклатура.Номенклатура;

Движение.Количество = ТекСтрокаНоменклатура.Количество;

Движение.КодОперации = КодОперации;

КонецЦикла;

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

// регистр Взаиморасчеты Приход

Движение = Движения.Взаиморасчеты.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.Контрагент = Контрагент;

Движение.Сделка = ЭтотОбъект.Ссылка;

Движение.Сумма = ТекСтрокаНоменклатура.Сумма;

КонецЦикла;

Для Каждого ТекСтрокаНоменклатура Из Номенклатура Цикл

// регистр Основной

Движение = Движения.Основной.Добавить();

Движение.СчетДт = ПланыСчетов.Основной.ТоварыНаСкладах;

Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставщикамиВРублях;

Движение.Период = Дата;

Движение.Сумма = ТекСтрокаНоменклатура.Сумма;

Движение.КоличествоДт = ТекСтрокаНоменклатура.Количество;

Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаНоменклатура.Номенклатура;

Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Контрагент;

КонецЦикла;

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

Документ.ПоступлениеТМЦ.Форма.ФормаДокумента.Форма.Модуль

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

Если ЭтотОбъект.ЭтоНовый() Тогда

КодОперации = Перечисления.КодыОпераций.приход;

КонецЕсли;

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

Документ.ПриходПоБанку.МодульОбъекта

Процедура ОбработкаПроведения(Отказ, Режим)

Если Фирма.Пустая() Тогда

Предупреждение("Заполните фирму!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

Если Контрагент.Пустая() Тогда

Предупреждение("Заполните контрагента!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

Если Фирма.БанковскийСчет.Пустая() Тогда

Предупреждение("Заполните банковский счет у фирмы!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

Если Контрагент.БанковскийСчет.Пустая() Тогда

Предупреждение("Заполните банковский счет у контрагента!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

// регистр Взаиморасчеты Приход

Движение = Движения.Взаиморасчеты.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.Контрагент = Контрагент;

Движение.Сделка = ЭтотОбъект.Ссылка;

Движение.Сумма = ЭтотОбъект.Сумма;

Движение = Движения.Банк.Добавить();

Движение.ВидДвижения= ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.БанковскийСчет = Фирма.БанковскийСчет;

Движение.Сумма = ЭтотОбъект.Сумма;

Движение.КодОперации= Перечисления.КодыОпераций.ПриходПоБанку;

// регистр Основной

//Движение = Движения.Основной.Добавить();

//Движение.СчетДт = ПланыСчетов.Основной.ТоварыНаСкладах;

//Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставщикамиВРублях;

//Движение.Период = Дата;

//Движение.Сумма = ТекСтрокаНоменклатура.Сумма;

//Движение.КоличествоДт = ТекСтрокаНоменклатура.Количество;

//Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаНоменклатура.Номенклатура;

//Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Контрагент;

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

Документ.ПриходПоБанку.Форма.ФормаДокумента.Форма.Модуль

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

Если ЭтотОбъект.ЭтоНовый() Тогда

КодОперации = Перечисления.КодыОпераций.ПриходПоБанку;

КонецЕсли;

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

Процедура Печать(Кнопка)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.ПриходПоБанку.ПолучитьМакет("МакетПриходПоБанку");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

Область.Параметры.ПриходПоБанкуСтрока = "Приход по банку № " + ЭтотОбъект.Номер +

Формат(ЭтотОбъект.Дата, "ДФ='дд ММММ гггг'");

Область.Параметры.Фирма = ЭтотОбъект.Фирма.Наименование;

Область.Параметры.РеквизитыФирмы= "ИНН " + ЭтотОбъект.Фирма.ИНН +

" КПП " + ЭтотОбъект.Фирма.КПП +

" Юр.адрес " + ЭтотОбъект.Фирма.ЮридическийАдрес;

Область.Параметры.БСФирма = ЭтотОбъект.Фирма.БанковскийСчет;

Область.Параметры.Контрагент = ЭтотОбъект.Контрагент.Наименование;

Область.Параметры.РеквизитыКонтрагента = "ИНН " + ЭтотОбъект.Контрагент.ИНН +

" КПП " + ЭтотОбъект.Контрагент.КПП;

Область.Параметры.БСКонтрагент = ЭтотОбъект.Контрагент.БанковскийСчет;

Область.Параметры.Сумма = Формат(ЭтотОбъект.Сумма, "ЧЦ=15;ЧДЦ=2") + " ( "

+ ЧислоПрописью(ЭтотОбъект.Сумма, "L=ru_RU") + " ) руб.";;

ТабДок.Вывести(Область);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Документ.РасходПоБанку.МодульОбъекта

Процедура ОбработкаПроведения(Отказ, Режим)

Если Фирма.Пустая() Тогда

Предупреждение("Заполните фирму!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

Если Контрагент.Пустая() Тогда

Предупреждение("Заполните контрагента!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

Если Фирма.БанковскийСчет.Пустая() Тогда

Предупреждение("Заполните банковский счет у фирмы!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

Если Контрагент.БанковскийСчет.Пустая() Тогда

Предупреждение("Заполните банковский счет у контрагента!", 60, "Проведение.");

// Отказ = истина;

Возврат;

КонецЕсли;

// регистр Взаиморасчеты Приход

Движение = Движения.Взаиморасчеты.Добавить();

Движение.ВидДвижения = ВидДвиженияНакопления.Приход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.Контрагент = Контрагент;

Движение.Сделка = ЭтотОбъект.Ссылка;

Движение.Сумма = ЭтотОбъект.Сумма;

Движение = Движения.Банк.Добавить();

Движение.ВидДвижения= ВидДвиженияНакопления.Расход;

Движение.Период = Дата;

Движение.Фирма = Фирма;

Движение.БанковскийСчет = Фирма.БанковскийСчет;

Движение.Сумма = ЭтотОбъект.Сумма;

Движение.КодОперации= Перечисления.КодыОпераций.РасходПоБанку;

// регистр Основной

//Движение = Движения.Основной.Добавить();

//Движение.СчетДт = ПланыСчетов.Основной.ТоварыНаСкладах;

//Движение.СчетКт = ПланыСчетов.Основной.РасчетыСПоставщикамиВРублях;

//Движение.Период = Дата;

//Движение.Сумма = ТекСтрокаНоменклатура.Сумма;

//Движение.КоличествоДт = ТекСтрокаНоменклатура.Количество;

//Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура] = ТекСтрокаНоменклатура.Номенклатура;

//Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты] = Контрагент;

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

Документ.РасходПоБанку.Форма.ФормаДокумента.Форма.Модуль

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

Если ЭтотОбъект.ЭтоНовый() Тогда

КодОперации = Перечисления.КодыОпераций.РасходПоБанку;

КонецЕсли;

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

Процедура Печать(Кнопка)

ТабДок = Новый ТабличныйДокумент;

Макет = Документы.РасходПоБанку.ПолучитьМакет("МакетРасходПоБанку");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

Область.Параметры.РасходПоБанкуСтрока = "Расход по банку № " + ЭтотОбъект.Номер +

Формат(ЭтотОбъект.Дата, "ДФ='дд ММММ гггг'");

Область.Параметры.Фирма = ЭтотОбъект.Фирма.Наименование;

Область.Параметры.РеквизитыФирмы= "ИНН " + ЭтотОбъект.Фирма.ИНН +

" КПП " + ЭтотОбъект.Фирма.КПП +

" Юр.адрес " + ЭтотОбъект.Фирма.ЮридическийАдрес;

Область.Параметры.БСФирма = ЭтотОбъект.Фирма.БанковскийСчет;

Область.Параметры.Контрагент = ЭтотОбъект.Контрагент.Наименование;

Область.Параметры.РеквизитыКонтрагента = "ИНН " + ЭтотОбъект.Контрагент.ИНН +

" КПП " + ЭтотОбъект.Контрагент.КПП;

Область.Параметры.БСКонтрагент = ЭтотОбъект.Контрагент.БанковскийСчет;

Область.Параметры.Сумма = Формат(ЭтотОбъект.Сумма, "ЧЦ=15;ЧДЦ=2") + " ( "

+ ЧислоПрописью(ЭтотОбъект.Сумма, "L=ru_RU") + " ) руб.";;

ТабДок.Вывести(Область);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.