Файл: Разработка конфигурации «Ежедневный складской учет» в среде 1С:Предприятие 8.3.pdf
Добавлен: 28.03.2023
Просмотров: 1651
Скачиваний: 22
СОДЕРЖАНИЕ
1.1 Выбор комплекса задач автоматизации
1.2 Характеристика существующих бизнес –процессов
1.3 Характеристика документооборота, возникающего при решении задачи
1.4 Обоснование проектных решений по информационному обеспечению
1.5 Обоснование проектных решений по программному обеспечению
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.14 Формирование состава командного интерфейса
2.15 Настраивание состава команд
2.18 Редактирование командного интерфейса
2.19 Редактирование командного интерфейса
2.20 Автоматическое размещение и видимость команд
2.21 Поддержка основных бизнес процессов ресурсами информационной системы
Приложение А - Структура дорабатываемой информационной системы
// Процедура - обработчик события "ОбработкаУдаленияПроведения".
//
Процедура ОбработкаУдаленияПроведения(Отказ)
ПроведениеСервер.ИнициализироватьДополнительныеСвойстваДляПроведения(Ссылка, ДополнительныеСвойства);
ПроведениеСервер.ПодготовитьНаборыЗаписейКРегистрацииДвижений(ЭтотОбъект);
СформироватьСписокРегистровДляКонтроля();
ПроведениеСервер.ЗаписатьНаборыЗаписей(ЭтотОбъект);
ПроведениеСервер.ВыполнитьКонтрольРезультатовПроведения(ЭтотОбъект, Отказ);
ПроведениеСервер.ОчиститьДополнительныеСвойстваДляПроведения(ДополнительныеСвойства);
КонецПроцедуры
// Процедура - обработчик события "ПередЗаписью".
//
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
Справочники.СерийныеНомера.ОчиститьВДокументеНеиспользуемыеСерийныеНомера(Услуги, СерийныеНомера);
ОбщегоНазначенияРТСервер.УдалитьНеиспользуемыеСтрокиСерий(ЭтотОбъект,Документы.РеализацияУслуг.ПараметрыУказанияСерий(ЭтотОбъект));
ПроведениеСервер.УстановитьРежимПроведения(Проведен, РежимЗаписи, РежимПроведения);
ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);
ОбщегоНазначенияРТ.УстановитьНовоеЗначениеРеквизита(
ЭтотОбъект,
ОбработкаТабличнойЧастиУслугиКлиентСервер.ПолучитьСуммуДокумента(Услуги, ЦенаВключаетНДС),
"СуммаДокумента");
ДополнительныеСвойства.Вставить("Отказ", Отказ);
КонецПроцедуры
// Процедура - обработчик события "ПриКопировании".
//
Процедура ПриКопировании(ОбъектКопирования)
СкидкиРассчитаны = Ложь;
СкидкиНаценкиСервер.ОтменитьСкидки(ЭтотОбъект, "Услуги");
Серии.Очистить();
ИнициализироватьДокумент();
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
///////////////////////////////////////////////////////////////////////////////
// Инициализация и заполнение
// Инициализирует документ
//
Процедура ИнициализироватьДокумент(ДанныеЗаполнения = Неопределено)
Если ТипЗнч(ДанныеЗаполнения) = Тип("Структура") Тогда
ЗаполнитьЗначенияСвойств(ЭтотОбъект, ДанныеЗаполнения);
Если ДанныеЗаполнения.Свойство("Магазин")
И НЕ ЗначениеЗаполнено(Магазин) Тогда
Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(ДанныеЗаполнения.Магазин,,Склад, Ответственный);
КонецЕсли;
Если ДанныеЗаполнения.Свойство("Организация")
И НЕ ЗначениеЗаполнено(Организация) Тогда
БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(ДанныеЗаполнения.Организация,,БанковскийСчетОрганизации);
КонецЕсли;
КонецЕсли;
Ответственный = Пользователи.ТекущийПользователь();
Магазин = ЗначениеНастроекПовтИсп.ПолучитьМагазинПоУмолчанию(Магазин);
Склад = ЗначениеНастроекПовтИсп.ПолучитьСкладПродажиПоУмолчанию(Магазин,,Склад, Ответственный);
Если ЗначениеЗаполнено(Склад) Тогда
Организация = Склад.Организация;
КонецЕсли;
Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Организация,Ответственный);
Контрагент = ЗначениеНастроекПовтИсп.ПолучитьПокупателяПоУмолчанию(Контрагент, Ответственный);
БанковскийСчетОрганизации = ЗначениеНастроекПовтИсп.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(Организация,,БанковскийСчетОрганизации);
Продавец = ЗначениеНастроекПовтИсп.ПолучитьПродавцаПоУмолчанию(Продавец, Ответственный);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////
// Прочее
//Процедура формирует массив имен регистров для контроля проведения
//
Процедура СформироватьСписокРегистровДляКонтроля()
Массив = Новый Массив;
// При проведении выполняется контроль превышения остатков на складах
Если ДополнительныеСвойства.РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
Массив.Добавить(Движения.УслугиНаСкладах);
Массив.Добавить(Движения.ДвиженияСерийныхНомеров);
КонецЕсли;
ДополнительныеСвойства.ДляПроведения.Вставить("РегистрыДляКонтроля", Массив);
ДополнительныеСвойства.ДляПроведения.Вставить("ПопыткиПродажПревышающихОстаток");
КонецПроцедуры
Приложение В - Экранная форма заполненого документа
Для запуска программы необходимо запустить «1C:Предприятие».
1С:предприятие