- •Глава 1. Предпроектное обследование 7
- •Глава 2. Концепция проекта 30
- •Глава 2. Системная архитектура проекта 35
- •Глава 3. Экономическая эффективность инвестиций в ит – проект 50
- •Введение
- •Предпроектное обследование
- •Описание модели организации и анализ «узких мест»
- •Об организации
- •Организационная структура ооо «Полиграф Принт»
- •Информационная система на ооо «Полиграф Принт»
- •Программное обеспечение
- •Техническое обеспечение
- •Программное обеспечение для моделирования бизнес-процессов
- •Модель бизнес-процесса «as-is»
- •Анализ узких мест
- •Анализ успешных ит - проектов в рассматриваемой области и обоснование выбора ит - решения
- •Сравнительная характеристика успешных проектов
- •Причины выбора системы «1с: Предприятие 8» в качестве среды разработки и платформы для функционирования нашей программы
- •Краткий обзор системы «1с: Предприятие 8»
- •Выводы по главе 1
- •Концепция проекта
- •Бизнес – требования
- •Возможности бизнеса
- •Потребности клиентов или рынка
- •Положение об образе проекта
- •Системные требования
- •Требования пользователей
- •Функциональные требования
- •Прототип ит - решения
- •Модель бизнес-функций организации «to-be»
- •Реализация проектного решения на пилотном участке.
- •Подсистема «Перемещение товаров»
- •Управление программой
- •Модуль «Проверка товаров на складах»
- •Обработка «Перемещение товаров»
- •Модуль «Перемещение товаров»
- •Повышения эффективности работы с программой
- •Выводы по главе 3
- •Экономическая эффективность инвестиций в ит – проект
- •Определение уровня экономической зрелости предприятия.
- •Расчет экономической эффективности инвестиций в ит – проект
- •Выводы по главе 4
- •Заключение
- •Список литературы
- •Приложение а
- •Приложение б
- •Приложение в
Приложение в
Процедура создания документов «Перемещение товаров» со складов хранения на склад «Ежедневный»:
Процедура КнопкаВыполнитьНажатие(Кнопка)
ТолькоРезерв = Ложь;
//либо реализация либо для счета уже создали резерв
Если ЭлементыФормы.ОсновныеДействияФормы.Кнопки.ПоместитьВРезерв.Доступность = Ложь и ТипЗнч(ДокументОснование) = ТипЗнч(Документы.СчетНаОплатуПокупателю.ПустаяСсылка()) Тогда
КонецОбработки = Ложь;
Для Каждого СтрокаДанных из Товары Цикл
СтрокаДанных.Обработан = Ложь;
КонецЦикла;
ИначеЕсли Не ПроверкаДанных()Тогда
Возврат;
КонецЕсли;
Если Справочники.ПринадлежностьРезервов.НайтиПоРеквизиту("ПользовательРезерва",ДокументОснование.Контрагент)<> Справочники.ПринадлежностьРезервов.ПустаяСсылка() Тогда
ТекущийКонтрагент = Справочники.ПринадлежностьРезервов.НайтиПоРеквизиту("ПользовательРезерва",ДокументОснование.Контрагент).ВладелецРезерва;
Иначе
ТекущийКонтрагент = ДокументОснование.Контрагент;
КонецЕсли;
ЗапросДата = Новый Запрос;
ЗапросДата.УстановитьПараметр("Контрагент", ТекущийКонтрагент);
ЗапросДата.Текст = "ВЫБРАТЬ
| МАКСИМУМ(ТоварыВРезервеНаСкладах.Период) КАК Период
|ИЗ
| РегистрНакопления.ТоварыВРезервеНаСкладах КАК ТоварыВРезервеНаСкладах";
Попытка
ДатаРезерва = КонецДня(ЗапросДата.Выполнить().Выгрузить().Получить(0).Период);
Исключение
ДатаРезерва = КонецГода(ТекущаяДата());
КонецПопытки;
Если ДатаРезерва<ТекущаяДата() Тогда
ДатаРезерва = ТекущаяДата();
КонецЕсли;
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ДатаРезерва",КонецДня(ДатаРезерва));
Если ДокументОснование.Контрагент = Справочники.Контрагенты.НайтиПоКоду("000000015")Тогда //детский мир москва
Запрос.УстановитьПараметр("Склад", Справочники.Склады.НайтиПоКоду("00191"));
Иначе
Запрос.УстановитьПараметр("Склад", Справочники.Склады.НайтиПоКоду("00007"));
КонецЕсли;
Запрос.УстановитьПараметр("Сезон", ДокументОснование.Сезон);
Запрос.УстановитьПараметр("Контрагент", ТекущийКонтрагент);
Запрос.Текст = "ВЫБРАТЬ
| ЗаказыПокупателейОстатки.ЗаказПокупателя,
| ЗаказыПокупателейОстатки.ЗаказПокупателя.СкладГруппа КАК Склад,
| ЗаказыПокупателейОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ЗаказыПокупателей.Остатки(
| &ДатаРезерва,
| ЗаказПокупателя.Контрагент = &Контрагент
| И ЗаказПокупателя.СкладГруппа В ИЕРАРХИИ (&Склад)
| И Номенклатура = &Номенклатура
| И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
| И ЗаказПокупателя.Сезон = &Сезон) КАК ЗаказыПокупателейОстатки
|ГДЕ
| ЗаказыПокупателейОстатки.КоличествоОстаток > 0";
Для каждого СтрокаДанных из Товары Цикл
Если СтрокаДанных.Обработан = Ложь Тогда
Запрос.УстановитьПараметр("Номенклатура",СтрокаДанных.Номенклатура);
Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры",СтрокаДанных.ХарактеристикаНоменклатуры);
РезультатЗаказ = Запрос.Выполнить().Выгрузить();
Результат = РезультатЗаказ.Скопировать();
Результат.Свернуть("Склад", "КоличествоОстаток");
Если СтрокаДанных.Перемещено < СтрокаДанных.Количество Тогда
БудемПеремещатьКоличество = СтрокаДанных.Количество - СтрокаДанных.Перемещено;
Иначе
СтрокаДанных.Обработан = Истина;
Продолжить;
КонецЕсли;
Если ОпределитьБазовуюЦену(ТекущаяДата(),СтрокаДанных) = 0 Тогда
Сообщить(Строка(СтрокаДанных.Код) +" "+Строка(СтрокаДанных.Номенклатура)+ " нет базовой цены!");
Продолжить;
ИначеЕсли Результат.Количество()=0 Тогда //в резерве нет или отрицательное
Если ИзСвободыВРезерв(СтрокаДанных, БудемПеремещатьКоличество, ТекущийКонтрагент) = Истина Тогда //удалось
Если ТипЗнч(ДокументОснование) = ТипЗнч(Документы.СчетНаОплатуПокупателю.ПустаяСсылка()) Тогда
ПричинаКорректировки = Справочники.ПризнакиСписанияРезервов.Продажа;
ВыполнитьПеремещение(Запрос.Выполнить().Выгрузить(), СтрокаДанных, БудемПеремещатьКоличество, ПричинаКорректировки);
КонецЕсли;
Если СтрокаДанных.Количество <= СтрокаДанных.Перемещено Тогда
СтрокаДанных.Обработан = Истина;
КонецЕсли;
Продолжить;
Иначе
Сообщить(Строка(СтрокаДанных.Код) +" "+Строка(СтрокаДанных.Номенклатура) + " в свободе не достаточно. Замените или удалите позицию");
КонецЕсли;
//в резерве сколько то..
