Файл: Разработка конфигурации «Ежедневный складской учет» в среде 1С:Предприятие 8.3.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 28.03.2023

Просмотров: 1667

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

1. Аналитическая часть

1.1 Выбор комплекса задач автоматизации

1.2 Характеристика существующих бизнес –процессов

1.3 Характеристика документооборота, возникающего при решении задачи

1.4 Обоснование проектных решений по информационному обеспечению

1.5 Обоснование проектных решений по программному обеспечению

2. Проектная часть

2.1 Информационная модель и её описание

2.2 Характеристика нормативно-справочной, входной и оперативной информации

2.3 Характеристика результатной информации

2.4 Общие положения (дерево функций и сценарий диалога)

2.5 Характеристика базы данных

2.6 Структурная схема пакета (дерево вызова программных модулей)

2.7 Описание программных модулей

2.5 Описание контрольного примера реализации проекта

Экранные формы

2.6 Организации, входящие в состав предприятия

2.7 Магазины, склады и кассы торгового предприятия

2.8 Сотрудники торrовоrо предприятия

2.9 Ввод сведений о контрагентах

2.10 Установка начальных сведений о предприятии

2.11 Пользователь, интерфейс, команда

2.11 Командный интерфейс системы

2.12 Структура командного интерфейса

2.13 Влияние подсистем

2.14 Формирование состава командного интерфейса

2.15 Настраивание состава команд

2.16 Состав разделов

2.17 Стандартные команды

2.18 Редактирование командного интерфейса

2.19 Редактирование командного интерфейса

2.20 Автоматическое размещение и видимость команд

2.21 Поддержка основных бизнес процессов ресурсами информационной системы

Заключение

Библиографический список

Приложение А - Структура дорабатываемой информационной системы

Приложение Б - Часть программного кода дорабатываемой системы системы (на примере модулей двух документов)

Приложение В - Экранная форма заполненого документа

Приложение Г - Печатная форма документа

ПродажиСервер.ОтразитьПродажиПоДисконтнымКартам(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиНаСкладах(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиОрганизаций(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиКОтгрузке(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьДвиженияСерийныхНомеров(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьДвиженияСерийУслуг(ДополнительныеСвойства, Движения, Отказ);

СформироватьСписокРегистровДляКонтроля();

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);

ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

ДополнительныеСвойства.Вставить("Отказ", Отказ);

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

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

МассивНепроверяемыхРеквизитов = Новый Массив;

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеКоличества(ЭтотОбъект, ПроверяемыеРеквизиты, Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеХарактеристик(ЭтотОбъект,МассивНепроверяемыхРеквизитов,Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект),Отказ);

ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты,МассивНепроверяемыхРеквизитов);

МаркетинговыеАкцииСервер.ПроверитьЦеныСертификатов(

ЭтотОбъект,

"Услуги",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьЗаполнениеТабличнойЧастиСерийныеНомера(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьДвиженияСерийныхНомеров(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьОкончаниеАбсолютныхСроковДействияСертификатов(

ЭтотОбъект,

"Услуги",

Отказ,

);

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

// Процедура - обработчик события "ОбработкаУдаленияПроведения".

//

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

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

СформироватьСписокРегистровДляКонтроля();

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);


ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

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

// Процедура - обработчик события "ПередЗаписью".

//

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

Если ОбменДанными.Загрузка Тогда

Возврат;

КонецЕсли;

Справочники.СерийныеНомера.ОчиститьВДокументеНеиспользуемыеСерийныеНомера(Услуги, СерийныеНомера);

ОбщегоНазначенияРТСервер.УдалитьНеиспользуемыеСтрокиСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект));

ПроведениеСервер.УстановитьРежимПроведения(Проведен, РежимЗаписи, РежимПроведения);

ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());

ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);

ОбщегоНазначенияРТ.УстановитьНовоеЗначениеРеквизита(

ЭтотОбъект,

ОбработкаТабличнойЧастиУслугиКлиентСервер.ПолучитьСуммуДокумента(Услуги, ЦенаВключаетНДС),

"СуммаДокумента");

ДополнительныеСвойства.Вставить("Отказ", Отказ);

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

// Процедура - обработчик события "ПриКопировании".

//

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

СкидкиРассчитаны = Ложь;

СкидкиНаценкиСервер.ОтменитьСкидки(ЭтотОбъект, "Услуги");

Серии.Очистить();

ИнициализироватьДокумент();

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

///////////////////////////////////////////////////////////////////////////////

// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

///////////////////////////////////////////////////////////////////////////////

// Инициализация и заполнение

// Инициализирует документ

//

Процедура ИнициализироватьДокумент(ДанныеЗаполнения = Неопределено)

Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда

ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);

Если ДанныеЗаполнения.Свойство("Магазин")

И НЕ ЗначениеЗаполнено(Магазин) Тогда

Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(ДанныеЗаполнения.Магазин,,Склад, Ответственный);

КонецЕсли;

Если ДанныеЗаполнения.Свойство("Организация")

И НЕ ЗначениеЗаполнено(Организация) Тогда

БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(ДанныеЗаполнения.Организация,,БанковскийСчетОрганизации);

КонецЕсли;

КонецЕсли;

Ответственный = Пользователи.ТекущийПользователь();

Магазин = ЗначениеНастроекПовтИсп.ПолучитьМагазинПоУмолчанию(Магазин);

Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(Магазин,,Склад, Ответственный);


Если ЗначениеЗаполнено(Склад) Тогда

Организация = Склад.Организация;

КонецЕсли;

Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Организация,Ответственный);

Контрагент = ЗначениеНастроекПовтИсп.ПолучитьПокупателяПоУмолчанию(Контрагент, Ответственный);

БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(Организация,,БанковскийСчетОрганизации);

Продавец = ЗначениеНастроекПовтИсп.ПолучитьПродавцаПоУмолчанию(Продавец, Ответственный);

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

///////////////////////////////////////////////////////////////////////////////

// Прочее

//Процедура формирует массив имен регистров для контроля проведения

//

Процедура СформироватьСписокРегистровДляКонтроля()

Массив = Новый Массив;

// При проведении выполняется контроль превышения остатков на складах

Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда

Массив.Добавить(Движения.УслугиНаСкладах);

Массив.Добавить(Движения.ДвиженияСерийныхНомеров);

КонецЕсли;

ДополнительныеСвойства.ДляПроведения.Вставить("РегистрыДляКонтроля", Массив);

ДополнительныеСвойства.ДляПроведения.Вставить("ПопыткиПродажПревышающихОстаток");

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

///////////////////////////////////////////////////////////////////////////////

// ОБРАБОТЧИКИ СОБЫТИЙ

// Процедура - обработчик события "ОбработкаЗаполнения".

//

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

ИнициализироватьДокумент(ДанныеЗаполнения);

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

// Процедура - обработчик события "ОбработкаПроведения".

//

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

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства, РежимПроведения);

Документы.РеализацияУслуг.ИнициализироватьДанныеДокумента(Ссылка, ДополнительныеСвойства);

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

ПродажиСервер.ОтразитьПродажи(ДополнительныеСвойства, Движения, Отказ);

ПродажиСервер.ОтразитьПродажиПоДисконтнымКартам(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиНаСкладах(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиОрганизаций(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьУслугиКОтгрузке(ДополнительныеСвойства, Движения, Отказ);

ЗапасыСервер.ОтразитьДвиженияСерийныхНомеров(ДополнительныеСвойства, Движения, Отказ);


ЗапасыСервер.ОтразитьДвиженияСерийУслуг(ДополнительныеСвойства, Движения, Отказ);

СформироватьСписокРегистровДляКонтроля();

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);

ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

ДополнительныеСвойства.Вставить("Отказ", Отказ);

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

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

МассивНепроверяемыхРеквизитов = Новый Массив;

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеКоличества(ЭтотОбъект, ПроверяемыеРеквизиты, Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеХарактеристик(ЭтотОбъект,МассивНепроверяемыхРеквизитов,Отказ);

ОбработкаТабличнойЧастиУслугиСервер.ПроверитьЗаполнениеСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект),Отказ);

ОбщегоНазначения.УдалитьНепроверяемыеРеквизитыИзМассива(ПроверяемыеРеквизиты,МассивНепроверяемыхРеквизитов);

МаркетинговыеАкцииСервер.ПроверитьЦеныСертификатов(

ЭтотОбъект,

"Услуги",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьЗаполнениеТабличнойЧастиСерийныеНомера(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьДвиженияСерийныхНомеров(

ЭтотОбъект,

"Услуги",

"СерийныеНомера",

Отказ

);

МаркетинговыеАкцииСервер.ПроверитьОкончаниеАбсолютныхСроковДействияСертификатов(

ЭтотОбъект,

"Услуги",

Отказ,

);

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

// Процедура - обработчик события "ОбработкаУдаленияПроведения".

//

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

ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);

ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);

СформироватьСписокРегистровДляКонтроля();

ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);

ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);

ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);

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

// Процедура - обработчик события "ПередЗаписью".

//

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

Если ОбменДанными.Загрузка Тогда

Возврат;

КонецЕсли;

Справочники.СерийныеНомера.ОчиститьВДокументеНеиспользуемыеСерийныеНомера(Услуги, СерийныеНомера);


ОбщегоНазначенияРТСервер.УдалитьНеиспользуемыеСтрокиСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект));

ПроведениеСервер.УстановитьРежимПроведения(Проведен, РежимЗаписи, РежимПроведения);

ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());

ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);

ОбщегоНазначенияРТ.УстановитьНовоеЗначениеРеквизита(

ЭтотОбъект,

ОбработкаТабличнойЧастиУслугиКлиентСервер.ПолучитьСуммуДокумента(Услуги, ЦенаВключаетНДС),

"СуммаДокумента");

ДополнительныеСвойства.Вставить("Отказ", Отказ);

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

// Процедура - обработчик события "ПриКопировании".

//

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

СкидкиРассчитаны = Ложь;

СкидкиНаценкиСервер.ОтменитьСкидки(ЭтотОбъект, "Услуги");

Серии.Очистить();

ИнициализироватьДокумент();

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

///////////////////////////////////////////////////////////////////////////////

// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

///////////////////////////////////////////////////////////////////////////////

// Инициализация и заполнение

// Инициализирует документ

//

Процедура ИнициализироватьДокумент(ДанныеЗаполнения = Неопределено)

Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда

ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);

Если ДанныеЗаполнения.Свойство("Магазин")

И НЕ ЗначениеЗаполнено(Магазин) Тогда

Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(ДанныеЗаполнения.Магазин,,Склад, Ответственный);

КонецЕсли;

Если ДанныеЗаполнения.Свойство("Организация")

И НЕ ЗначениеЗаполнено(Организация) Тогда

БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(ДанныеЗаполнения.Организация,,БанковскийСчетОрганизации);

КонецЕсли;

КонецЕсли;

Ответственный = Пользователи.ТекущийПользователь();

Магазин = ЗначениеНастроекПовтИсп.ПолучитьМагазинПоУмолчанию(Магазин);

Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(Магазин,,Склад, Ответственный);

Если ЗначениеЗаполнено(Склад) Тогда

Организация = Склад.Организация;

КонецЕсли;

Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Организация,Ответственный);

Контрагент = ЗначениеНастроекПовтИсп.ПолучитьПокупателяПоУмолчанию(Контрагент, Ответственный);

БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(Организация,,БанковскийСчетОрганизации);