Помощь в написании студенческих работ
Антистрессовый сервис

Автоматизация учета орг. 
техники в ОАО «Электроцентроналадка»

Дипломная Купить готовую Узнать стоимостьмоей работы

К4 — затраты на обучение персонала — включают затраты на оплату труда инженера, проводящего обучение (113,64 рублей в час) и 3 человек работающих с информационной системой (по 68,18 рублей в час). Обучающимися являются три кладовщика. Для обучения достаточно 4 часов на одного пользователя, итого: 12 часов. Аналогично, рассчитаем затраты на затраты на импортирование данных и создание БД (К3… Читать ещё >

Автоматизация учета орг. техники в ОАО «Электроцентроналадка» (реферат, курсовая, диплом, контрольная)

Содержание

  • I. Аналитическая часть
    • 1. 1. Технико-экономическая характеристика предметной области и предприятия Анализ деятельности «КАК ЕСТЬ»
      • 1. 1. 1. Характеристика предприятия и его деятельности
      • 1. 1. 2. Организационная структура управления предприятием
      • 1. 1. 3. Программная и техническая архитектура ИС предприятия
    • 1. 2. Характеристика комплекса задач, задачи и обоснование необходимости автоматизации
      • 1. 2. 1. Выбор комплекса задач автоматизации и характеристика существующих бизнес-процессов
      • 1. 2. 2. Определение места проектируемой задачи в комплексе задач и ее описание
      • 1. 2. 3. Обоснование необходимости использования вычислительной техники для решения задачи
      • 1. 2. 4. Анализ системы обеспечения информационной безопасности и защиты информации
    • 1. 3. Анализ существующих разработок и выбор стратегии автоматизации
      • 1. 3. 1. Анализ существующих разработок для автоматизации задачи
      • 1. 3. 2. Выбор и обоснование стратегии автоматизации задачи
      • 1. 3. 3. Выбор и обоснование способа приобретения ИС для автоматизации задачи
    • 1. 4. Обоснование проектных решений
      • 1. 4. 1. Обоснование проектных решений по техническому обеспечению
      • 1. 4. 2. Обоснование проектных решений по информационному обеспечению
      • 1. 4. 3. Обоснование проектных решений по программному обеспечению
  • II. Проектная часть
    • 2. 1. Разработка проекта автоматизации
      • 2. 1. 1. Этапы жизненного цикла проекта автоматизации
      • 2. 1. 2. Ожидаемые риски на этапах жизненного цикла и их описание
      • 2. 1. 3. Организационно-правовые и программно-аппаратные средства обеспечения информационной безопасности и защиты информации
    • 2. 2. Информационное обеспечение задачи
      • 2. 2. 1. Информационная модель и ее описание
      • 2. 2. 2. Используемые классификаторы и системы кодирования
      • 2. 2. 3. Характеристика нормативно-справочной, входной и оперативной информации
      • 2. 2. 4. Характеристика результатной информации
      • 2. 2. 5. Формализация расчетов показателей
    • 2. 3. Программное обеспечение задачи
      • 2. 3. 1. Общие положения (дерево функций и сценарий диалога)
      • 2. 3. 2. Характеристика базы данных
      • 2. 3. 3. Структурная схема пакета (дерево вызова программных модулей)
      • 2. 3. 4. Описание программных модулей
    • 2. 4. Контрольный пример реализации проекта и его описание
  • III. Обоснование экономической эффективности проекта
    • 3. 1. Выбор и обоснование методики расчета экономической эффективности
    • 3. 2. Расчет показателей экономической эффективности проекта
  • Заключение
  • Список использованной литературы

На основании вышеприведенных данных можно рассчитать К1:

К1 = 158,4*113,64+110,88*158,4 = 35 563,39 рубля.

Рассчитаем затраты на разработку ПО. Разработка ПО (Тпр) по затратам времени составляет 290,4 часа, аналогично Тпр. оборуд = 290,4 часа. Разработкой программного обеспечения занимается один инженер, при этом используется один компьютер. Получим, что затраты на разработку ПО составят:

К2 = 290,4 * (113,64 + 15) =37 356 рублей.

Аналогично, рассчитаем затраты на затраты на импортирование данных и создание БД (К3). Процесс импортирования данных и создания БД занимает 290,4 часа, аналогично Тпр. оборуд = 290,4 часа. Разработкой программного обеспечения занимается один инженер, при этом используется один компьютер.

К3 = 290,4 * (113,64 + 15) =37 356 рублей.

К4 — затраты на обучение персонала — включают затраты на оплату труда инженера, проводящего обучение (113,64 рублей в час) и 3 человек работающих с информационной системой (по 68,18 рублей в час). Обучающимися являются три кладовщика. Для обучения достаточно 4 часов на одного пользователя, итого: 12 часов.

К4 = 12* (113,64 + 68,18 + 15) = 2361,82 рублей.

Наконец, К5 — затраты на проведение тестирования и отладки ошибок — включают затраты на оплату труда инженера и кладовщика, проводящего тестирование. На этот этап работы отводится 15% общего времени на создание и внедрение проекта. Стоимость 1 часа работы на ПК составляет 15 рублей. Исходя из вышеуказанных среднедневных заработных плат специалистов и с учетом стоимости работы на одном компьютере, затраты на проведение тестирования и отладки ошибок составят:

К5 = 79,2 * (113,64 + 68,18) + 63,36*15*1 = 15 350,40 рублей.

Сумма всех капитальных вложений согласно формуле (3.

2.4) составит 127 987,61 рублей.

Помимо рассмотренных показателей целесообразно также рассчитать срок окупаемости затрат на внедрение проекта машинной обработки информации (Ток), рассчитываемые в годах, долях года или в месяцах года:

Ток = КП /(C, (3.

2.5)

где КП — затраты на создание проекта (проектирование и внедрение).

Ток = 127 987,61/180 840=0,7

Таким образом срок окупаемости затрат на разработку программного продукта составит примерно 9 месяцев, что является хорошим показателем.

Заключение

В дипломной работе проведена разработка автоматизированной системы учета орг.

техники в ОАО «Электроцентроналадка», реализованной на базе «1С:Предприятие» версии 8.

1.

Основной целью разрабатываемой системы являлось упорядочивание и структурирование информации относительно имеющейся компьютерной техники в копании. Использование автоматизированной системы учета орг.

техники на предприятии позволит ускорить процесс получения исчерпывающей информации об используемой технике и ее состоянии.

В процессе написания дипломного проекта были выполнено следующее:

изучить деятельность организации и ее организационную структуру;

изучить техническое и программное обеспечение организации;

выбрать и проанализировать комплекс задач автоматизации;

осуществить анализ существующих программных продуктов в данной области;

выбрать и обосновать проектные решения по техническому, информационному и программному обеспечениям;

осуществить разработку проекта автоматизации;

проанализировать и описать информационное обеспечение задачи;

проанализировать и описать программное обеспечение задачи проанализировать и описать технологическое обеспечение задачи;

описать контрольный пример реализации проекта;

обосновать экономическую эффективность проекта.

В результате дипломного проектирования были закреплены навыки, полученные в результате обучения, а также получены практические навыки в области реализации информационных систем связанных с учетом основных средств.

Дальнейшая модернизация программного продукта позволит создать полноценный комплекс программных средств в области учета компьютерной техники, специализированный именно на бухгалтерском учете.

Программный продукт был реализован с помощью среды разработки 1С: Предприятие версии 8.

1. Оформление пояснительной записки осуществлялось с помощью интегрированного пакета Microsoft Office 2003.

Срок окупаемости затрат на разработку программного продукта составит примерно 9 месяцев, что является хорошим показателем.

Список использованной литературы Барановская Т. П. и др. Информационные системы и технологии в экономике: Учебник. — 2-е изд., доп. и перераб. — М.: Финансы и статистика, 2005 — 416 с.

Благодатских В. А. и др. Стандартизация разработки программных средств: Учеб. пособие. — М.: Финансы и статистика, 2005. — 288 с.

Бондарева Г. А., Сахарова Е. В., Королькова Л. Н., Информатика. Ставрополь, СТИС, 2006

Вендров А. М. Проектирование программного обеспечения экономических информационных систем: Учебник. — 2-е изд., перераб. и доп. — М.: Финансы и статистика, 2005. — 544 с.

Габец А. П., Гончаров Д. И. 1С: Предприятие 8.

0. Простые примеры разработки. — М.: ООО «1С-Паблишинг», 2005. — 420 с.: ил.

Гетия И. Г. Безопасность при работе на ПЭВМ. — М.: НПЦ Профессионал-Ф, 2001. — 140 с.

Каймин В. А. Информатика: Учебник. — 5-ое издание — М.: ИНФРА-М, 2007 — 244 с.

Кашаев С. М. 1С: Предприятие 8. Учимся программировать на примерах — СПб.: БХВ-Петербург, 2008. — 336 с.: ил.

Конеев И. Информационная безопасность предприятия. — СПб.: БХВ-Петербург, 2003. — 733 с.

Лугачев М. И. и др. Экономическая информатика: введение в экономический анализ. — М.: Инфра-М, 2005. —569 с.

Маклаков С. В. ВРWin и ERWin. САSЕ-средства разработки информационных систем — М.: Диалог-МИФИ, 1999 — 455 с.: ил.

Мельников В. В. Безопасность информации в автоматизированных системах. — М.: Финансы и статистика, 2003. — 368 с.

Михайлов А. В. 1С: Предприятие 7.7/8.0: системное программирование. — СПб.: БХВ-Петербург, 2005. — 336 с.: ил.

Мишенин А. И. Теория экономических информационных систем. — М.: Финансы и статистика, 2000. — 240 с.

Норенков И. П. Основы автоматизированного проектирования: Учебник для вузов. — М.: МГТУ им. Н. Э. Баумана, 2002. — 336 с.

Орлов С. Технологии разработки программного обеспечения. Учебное пособие. 2-е изд. — СПб.: Питер, 2003. — 480 с.

Партыка Т. Л. Информационная безопасность. — М. ИНФРА-М, 2002. — 367 с.

Петров, В. Н. Информационные системы: учеб. пособие для вузов — СПб.: Питер, 2002. — 688 с.

Радченко М. Г. 1С: Предприятие 8.

0. Практическое пособие разработчика. Примеры и типовые приемы. — М.: ООО «1С-Паблишинг», 2006. — 656 с.: ил.

Савицкая Г. В. Анализ хозяйственной деятельности предприятия: Учебник. — М.: Инфра-М, 2003. — 400 с.

Савицкий Н. И. Экономическая информатика. — М.: Экономистъ, 2004. — 429 с.

Симонович С. В. Информатика: учебник для ВУЗов — СПб.: Питер, 2004 -639 с.:ил Смирнова Г. Н. и др. Проектирование экономических информационных систем: Учебник / Под ред. Ю. Ф. Тельнова.

— М.: Финансы и статистика, 2002. — 512 с.

Советов Б. Я. Информационные технологии — М.: Высш. школа, 2006 — 263 с.:ил.

Степанов А. Н. Информатика: учебник для ВУЗов — СПб.: Питер, 2002 — 608 с.:ил Стоцкий Ю. Самоучитель Office XP — СПб.: Питер, 2002 — 576 с.:ил Уилсон С. Ф. Принципы проектирования и разработки программного обеспечения — М.: РУС. РЕД., 2002. — 736 с.: ил.

Ульям Д., Введение в системы баз данных — М.: «Лори». 2000. — 375 с.: ил.

Усиков Т. Н. 1С: Предприятие. Эффективное программирование / Т. Н. Усиков. — М.: Новое знание, 2004. — 446 с.

Черенков А. П. Информационные системы для экономистов — М.:Экзамен, 2004. — 191 с.: ил.

Приложение 1.

Ниже представлен листинг всех основных модулей документов.

// Процедура формирует структуру шапки документа и дополнительных полей.

Процедура Подготовить

СтруктуруШапки

Документа (Заголовок, Структура

ШапкиДокумента, Режим

Проведения = Неопределено) Экспорт

// Сформируем структуру реквизитов шапки документа

Структура

ШапкиДокумента = Общего

Назначения.Сформировать

СтруктуруШапки

Документа (Этот

Объект);

// Заголовок для сообщений об ошибках проведения.

Заголовок = Общего

Назначения.Представление

ДокументаПри

Проведении (Структура

ШапкиДокумента);

Конец

Процедуры // Подготовить

СтруктуруШапки

Документа ()

// Процедура формирует таблицы документа, вляиющие на состояние расчетов с контрагентами.

Процедура Подготовить

ТаблицыДокумента (Структура

ШапкиДокумента, Таблица

ПоТоварам) Экспорт

Структура

Полей = Новый Структура;

Структура

Полей.Вставить («Номенклатура», «Номенклатура»);

Структура

Полей.Вставить («Количество», «Количество»);

Структура

Полей.Вставить («Сумма», «Сумма»);

Структура

СложныхПолей = Неопределено;

Результат

ЗапросаПоТоварам = Общего

Назначения.Сформировать

ЗапросПоТабличной

Части (Этот

Объект, «Товары», Структура

Полей, Структура

СложныхПолей);

Таблица

ПоТоварам = Подготовить

ТаблицуТоваров (Результат

ЗапросаПоТоварам, Структура

ШапкиДокумента);

Конец

Процедуры // Подготовить

ТаблицыДокумента ()

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

// Параметры:

// Результат

ЗапросаПоТоварам — результат запроса по табличной части «Товары» ,

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Возвращаемое значение:

// Сформированная таблица значений.

Функция Подготовить

ТаблицуТоваров (Результат

ЗапросаПоТоварам, Структура

ШапкиДокумента)

Таблица

Товаров = Результат

ЗапросаПоТоварам.Выгрузить ();

// Создаем колонку «Стоимость» и копируем в нее колонку «Сумма»

Таблица

Товаров.Колонки.Добавить («Стоимость», Общего

Назначения.Получить

ОписаниеТипов

Числа (15,2));

Таблица

Товаров.Загрузить

Колонку (Таблица

Товаров.Выгрузить

Колонку («Сумма»), «Стоимость»);

Таблица

Товаров.Колонки.Добавить («Количество

Минус", Общего

Назначения.Получить

ОписаниеТипов

Числа (15,3));

Возврат Таблица

Товаров;

Конец

Функции // Подготовить

ТаблицуТоваров ()

// Проводит табличну часть «Товары» по регистру

// Параметры:

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Товары

ПоРегистру

Остатков (Режим

Проведения, Таблица

ПоТоварам, Отказ, Заголовок, Структура

ШапкиДокумента)

Структ

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

Структ

ТаблицДокумента.Вставить («Таблица

ПоТоварам", Таблица

ПоТоварам);

Таблицы

ДанныхДокумента = Общего

Назначения.Загрузить

ТаблицыДокумента

ВСтруктуру (Движения.Остатки

Товаров, Структ

ТаблицДокумента);

Общего

Назначения.Записать

ТаблицыДокумента

ВРегистр (Движения.Остатки

Товаров, Вид

ДвиженияНакопления.Приход, Таблицы

ДанныхДокумента, Дата);

Конец

Процедуры // Товары

ПоРегистру

Остатков ()

Процедура Товары

ПоРегистру

Сведений (Таблица

ПоТоварам)

Для каждого Стр

ТаблицаПоТоварам Из Таблица

ПоТоварам Цикл

Если (Стр

ТаблицаПоТоварам.Номенклатура.Вид

Номенклатуры <> Справочники. Виды

Номенклатуры.Расходный

Материал) И

(Стр

ТаблицаПоТоварам.Номенклатура.Вид

Номенклатуры <> Справочники. Виды

Номенклатуры.Работа) И

(Стр

ТаблицаПоТоварам.Номенклатура.Вид

Номенклатуры <> Справочники. Виды

Номенклатуры.Пустая

Ссылка ())Тогда

Тек

Запись = Движения. Учет

Техники.Добавить ();

Тек

Запись.Состояние = Справочники. Состояния

ТехническихСредств.Новый;

Тек

Запись.Период = Дата;

Тек

Запись.Номенклатура = Стр

ТаблицаПоТоварам.Номенклатура;

Попытка

Тек

Запись.Записать ();

Исключение

Конец

Попытки;

Конец

Если;

Конец

Цикла;

Конец

Процедуры // Товары

ПоРегистру

Сведений ()

// По результату запроса по шапке документа формируем движения по регистрам для целей упр. учета.

// Параметры:

// Режим

Проведения — режим проведения документа (оперативный или неоперативный),

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Таблица

ПоТаре — таблица значений, содержащая данные для проведения и проверки ТЧ «Возвратная тара» ,

// Таблица

ПоУслугам — таблица значений, содержащая данные для проведения и проверки ТЧ «Услуги» ,

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Движения

ПоРегистрам

Упр (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

// ТОВАРЫ ПО РЕГИСТРУ Остатки

Товаров.

Товары

ПоРегистру

Остатков (Режим

Проведения, Таблица

ПоТоварам, Отказ, Заголовок, Структура

ШапкиДокумента);

// ТОВАРЫ ПО РЕГИСТРУ Учет

Техники.

Товары

ПоРегистру

Сведений (Таблица

ПоТоварам);

Конец

Процедуры // Движения

ПоРегистрам

Упр ()

// По результатам запросов формирует движения по регистрам.

// Параметры:

// Режим

Проведения — режим проведения документа (оперативный или неоперативный),

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Таблица

ПоТаре — таблица значений, содержащая данные для проведения и проверки ТЧ «Возвратная тара» ,

// Таблица

ПоУслугам — таблица значений, содержащая данные для проведения и проверки ТЧ «Услуги» ,

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Движения

ПоРегистрам (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

Движения

ПоРегистрам

Упр (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

Конец

Процедуры // Движения

ПоРегистрам ()

Процедура Обработка

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

Проведения)

Перем Заголовок, Структура

ШапкиДокумента;

Перем Таблица

ПоТоварам;

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

// Подготовим структуру шапки документа

Подготовить

СтруктуруШапки

Документа (Заголовок, Структура

ШапкиДокумента, Режим

Проведения);

Подготовить

ТаблицыДокумента (Структура

ШапкиДокумента, Таблица

ПоТоварам);

// Движения по документу

Если Не Отказ Тогда

Движения

ПоРегистрам (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

Конец

Если;

Конец

Процедуры

Процедура Обработка

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

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

Конец

Процедуры

Процедура При

Записи (Отказ)

ЗнЗапрета = Константы. Дата

ЗапретаРедактирования.Получить ();

Если ЗнЗапрета>=Начало

Дня (Дата) Тогда

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

Конец

Если;

СпЗн = Новый Список

Значений;

ТЗ = Товары. Выгрузить ();

Массив

Зн = ТЗ. Выгрузить

Колонку («Номенклатура»);

СпЗн.Загрузить

Значения (Массив

Зн);

Спис

Номенкл = СпЗн;

Конец

Процедуры Процедура Товары

ПоРегистру

Сведений ()

Тек

Запись = Движения. Учет

Техники.Добавить ();

Тек

Запись.Состояние = Справочники. Состояния

ТехническихСредств.Эксплуатация;

Тек

Запись.Номенклатура = Номенклатура;

Тек

Запись.Подразделение = Подразделение;

Тек

Запись.Помещение = Помещение;

Тек

Запись.Ответственный = Ответственный;

Тек

Запись.Период = Дата;

Попытка

Тек

Запись.Записать ();

Исключение

Конец

Попытки;

Конец

Процедуры // Товары

ПоРегистру

Сведений ()

Процедура Движения

ПоРегистрам

Упр ();

// ТОВАРЫ ПО РЕГИСТРУ Учет

Техники.

Товары

ПоРегистру

Сведений ();

Конец

Процедуры // Движения

ПоРегистрам

Упр ()

Процедура Движения

ПоРегистрам ();

Движения

ПоРегистрам

Упр ();

Конец

Процедуры // Движения

ПоРегистрам ()

Процедура Обработка

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

Проведения)

// Движения по документу

Если Не Отказ Тогда

Движения

ПоРегистрам ();

Конец

Если;

Конец

Процедуры

Процедура Обработка

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

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

Конец

Процедуры

Процедура При

Записи (Отказ)

ЗнЗапрета = Константы. Дата

ЗапретаРедактирования.Получить ();

Если ЗнЗапрета>=Начало

Дня (Дата) Тогда

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

Конец

Если;

Инв

Номер = ?(Значение

Заполнено (Номенклатура), Номенклатура. Инвентарный

Номер," «);

Конец

Процедуры Процедура Товары

ПоРегистру

Сведений ()

Тек

Запись = Движения. Учет

Техники.Добавить ();

Если Вид

Операции = Перечисления. Виды

ОперацийЗаявки.Заявка

НаМодернизацию Тогда

Тек

Запись.Состояние = Справочники. Состояния

ТехническихСредств.Модернизация;

Иначе

Если Вид

Операции = Перечисления. Виды

ОперацийЗаявки.Заявка

НаРемонт Тогда

Тек

Запись.Состояние = Справочники. Состояния

ТехническихСредств.Ремонт;

Конец

Если;

Тек

Запись.Номенклатура = Номенклатура;

Тек

Запись.Ответственный = Заявитель;

Тек

Запись.Период = Дата;

Попытка

Тек

Запись.Записать ();

Исключение

Конец

Попытки;

Конец

Процедуры // Товары

ПоРегистру

Сведений ()

Процедура Движения

ПоРегистрам

Упр ();

// ТОВАРЫ ПО РЕГИСТРУ Учет

Техники.

Товары

ПоРегистру

Сведений ();

Конец

Процедуры // Движения

ПоРегистрам

Упр ()

Процедура Движения

ПоРегистрам ();

Движения

ПоРегистрам

Упр ();

Конец

Процедуры // Движения

ПоРегистрам ()

Процедура Обработка

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

Проведения)

// Движения по документу

Если Не Отказ Тогда

Движения

ПоРегистрам ();

Конец

Если;

Конец

Процедуры

Процедура Обработка

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

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

Конец

Процедуры

Процедура При

Записи (Отказ)

ЗнЗапрета = Константы. Дата

ЗапретаРедактирования.Получить ();

Если ЗнЗапрета>=Начало

Дня (Дата) Тогда

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

Конец

Если;

Инв

Номер = ?(Значение

Заполнено (Номенклатура), Номенклатура. Инвентарный

Номер," «);

Конец

Процедуры Функция Получить

УчетнуюИнформацию (Выб

Дата, Тек

Номенклатура) Экспорт

Запрос = Новый Запрос («ВЫБРАТЬ

— Учет

ТехникиСрез

Последних.Подразделение КАК Подразделение,

— Учет

ТехникиСрез

Последних.Помещение КАК Помещение,

— Учет

ТехникиСрез

Последних.Ответственный КАК Ответственный,

— Учет

ТехникиСрез

Последних.Состояние КАК Состояние,

— Учет

ТехникиСрез

Последних.Подрядчик КАК Подрядчик

— ИЗ

— Регистр

Сведений.Учет

Техники.Срез

Последних (&Дата, Номенклатура = &Номенклатура) КАК Учет

ТехникиСрез

Последних");

// Выб

ДатаТек

Время = Дата (Год (Выб

Дата), Месяц (Выб

Дата), День (Выб

Дата), Час (Текущая

Дата ()), Минута (Текущая

Дата ()), Секунда (Текущая

Дата ()));

Выб

ДатаВремя

Минус = Выб

Дата-1;

Запрос.Установить

Параметр («Дата», Выб

ДатаВремя

Минус);

Запрос.Установить

Параметр («Номенклатура», Тек

Номенклатура);

Выборка = Запрос. Выполнить ().Выбрать ();

Возврат Выборка;

Конец

Функции // Получить

УчетнуюИнформацию ()

Процедура Товары

ПоРегистру

Сведений ()

Тек

Выборка = Получить

УчетнуюИнформацию (Дата, Номенклатура);

Исх

ЗнОтветственный = Справочники. Ответственные

Лица.Пустая

Ссылка ();

Исх

ЗнПодразделение = Справочники.Подразделения.Пустая

Ссылка ();

Исх

ЗнПомещение = Справочники.Помещения.Пустая

Ссылка ();

Исх

ЗнСостояние = Справочники. Состояния

ТехническихСредств.Пустая

Ссылка ();

Исх

ЗнПодрядчик = Справочники.Контрагенты.Пустая

Ссылка ();

Пока Тек

Выборка.Следующий () Цикл

Исх

ЗнОтветственный = Тек

Выборка.Ответственный;

Исх

ЗнПодразделение = Тек

Выборка.Подразделение;

Исх

ЗнПомещение = Тек

Выборка.Помещение;

Исх

ЗнСостояние = Тек

Выборка.Состояние;

Исх

ЗнПодрядчик = Тек

Выборка.Подрядчик;

Конец

Цикла;

Если (Исх

ЗнОтветственный <> Ответственный

Приемник) ИЛИ

(Исх

ЗнПодразделение <> Подразделение

Приемник) ИЛИ

(Исх

ЗнПомещение <> Помещение

Приемник) Тогда

Тек

Запись = Движения. Учет

Техники.Добавить ();

Тек

Запись.Состояние = Исх

ЗнСостояние;

Тек

Запись.Номенклатура = Номенклатура;

Тек

Запись.Подразделение = Подразделение

Приемник;

Тек

Запись.Помещение = Помещение

Приемник;

Тек

Запись.Ответственный = Ответственный

Приемник;

Тек

Запись.Подрядчик = Исх

ЗнПодрядчик;

Тек

Запись.Период = Дата;

Попытка

Тек

Запись.Записать ();

Исключение

Конец

Попытки;

Иначе

Сообщить («Ни чего не изменилось, движения не сформированы!!!»);

Конец

Если;

Конец

Процедуры // Товары

ПоРегистру

Сведений ()

Процедура Движения

ПоРегистрам

Упр ();

// ТОВАРЫ ПО РЕГИСТРУ Учет

Техники.

Товары

ПоРегистру

Сведений ();

Конец

Процедуры // Движения

ПоРегистрам

Упр ()

Процедура Движения

ПоРегистрам ();

Движения

ПоРегистрам

Упр ();

Конец

Процедуры // Движения

ПоРегистрам ()

Процедура Обработка

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

Проведения)

// Движения по документу

Если Не Отказ Тогда

Движения

ПоРегистрам ();

Конец

Если;

Конец

Процедуры

Процедура Обработка

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

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

Конец

Процедуры

Процедура При

Записи (Отказ)

ЗнЗапрета = Константы. Дата

ЗапретаРедактирования.Получить ();

Если ЗнЗапрета>=Начало

Дня (Дата) Тогда

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

Конец

Если;

Инв

Номер = ?(Значение

Заполнено (Номенклатура), Номенклатура. Инвентарный

Номер," «);

Конец

Процедуры Функция Получить

УчетнуюИнформацию (Выб

Дата, Тек

Номенклатура) Экспорт

Запрос = Новый Запрос («ВЫБРАТЬ

— Учет

ТехникиСрез

Последних.Подразделение КАК Подразделение,

— Учет

ТехникиСрез

Последних.Помещение КАК Помещение,

— Учет

ТехникиСрез

Последних.Ответственный КАК Ответственный,

— Учет

ТехникиСрез

Последних.Состояние КАК Состояние,

— Учет

ТехникиСрез

Последних.Подрядчик КАК Подрядчик,

— Остатки

ТоваровОстатки.Стоимость

Остаток / Остатки

ТоваровОстатки.Количество

Остаток КАК Стоимость

— ИЗ

— Регистр

Сведений.Учет

Техники.Срез

Последних (&Дата, Номенклатура = &Номенклатура) КАК Учет

ТехникиСрез

Последних

— ЛЕВОЕ СОЕДИНЕНИЕ Регистр

Накопления.Остатки

Товаров.Остатки КАК Остатки

ТоваровОстатки

— ПО Учет

ТехникиСрез

Последних.Номенклатура = Остатки

ТоваровОстатки.Номенклатура");

// Выб

ДатаТек

Время = Дата (Год (Выб

Дата), Месяц (Выб

Дата), День (Выб

Дата), Час (Текущая

Дата ()), Минута (Текущая

Дата ()), Секунда (Текущая

Дата ())-1);

Запрос.Установить

Параметр («Дата», Выб

Дата-1);

Запрос.Установить

Параметр («Номенклатура», Тек

Номенклатура);

Выборка = Запрос. Выполнить ().Выбрать ();

Возврат Выборка;

Конец

Функции // Получить

УчетнуюИнформацию ()

Функция Печать

ОС4() Экспорт

Таб

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

Документ;

Таб

Документ.Имя

ПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_Списание

ОС_ОС4″ ;

Запрос = Новый Запрос ();

Запрос.Установить

Параметр («Ссылка», Ссылка);

Запрос.Текст = «ВЫБРАТЬ

— Списание

ОС.Номер КАК Номер

Док,

— Списание

ОС.Дата КАК Дата

Док,

— Списание

ОС.Причина

Списания КАК Причина

Списания,

— Учет

ТехникиСрез

Последних.Регистратор.Дата КАК Принято

КУчету

— ИЗ

— Регистр

Сведений.Учет

Техники.Срез

Последних (&Момент

Времени, Регистратор ССЫЛКА Документ. Ввод

ВЭксплуатацию) КАК Учет

ТехникиСрез

Последних

— ЛЕВОЕ СОЕДИНЕНИЕ Документ. Списание

Номенклатуры КАК Списание

ОС

— ПО Учет

ТехникиСрез

Последних.Номенклатура = Списание

ОС.Номенклатура

— ГДЕ

— Списание

ОС.Ссылка = &Ссылка" ;

Запрос.Установить

Параметр («Момент

Времени", Момент

Времени ());

Структура

Дока = Запрос. Выполнить ().Выбрать ();

Структура

Дока.Следующий ();

Макет = Получить

Макет («ОС4»);

Область = Макет. Получить

Область («Заголовок»);

Область.Параметры.Заполнить (Структура

Дока);

Область.Параметры.Наименование

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

Область.Параметры.Наим

Организация = «» «СТО» «ТЦ ПРИМОРСКИЙ» ;

Область.Параметры.Инв

Номер = Номенклатура. Инвентарный

Номер;

Область.Параметры.Заводской

Номер = Номенклатура. Серийный

Номер;

Область.Параметры.Год

Выпуска = «» ;

// Область.Параметры.Принято

КУчету = «» ;

Область.Параметры.Срок

Экспл = Номенклатура. Срок

Использования;

Область.Параметры.Нач

Стоимость = Сумма

Учетная;

Область.Параметры.Нач

Амортизация = Сумма

Амортизации;

Область.Параметры.Ост

Стоимость = Сумма

Учетная — Сумма

Амортизации;

Область.Параметры.МОЛ = Мол;

Таб

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

Таб

Документ.Авто

Масштаб = Истина;

Таб

Документ.Ориентация

Страницы = Ориентация

Страницы.Ландшафт;

Таб

Документ.Поле

Сверху = 0;

Таб

Документ.Поле

Снизу = 0;

Таб

Документ.Показать ();

Конец

Функции // Печать

ОС4()

// Процедура формирует структуру шапки документа и дополнительных полей.

Процедура Подготовить

СтруктуруШапки

Документа (Заголовок, Структура

ШапкиДокумента, Режим

Проведения = Неопределено) Экспорт

// Сформируем структуру реквизитов шапки документа

Структура

ШапкиДокумента = Общего

Назначения.Сформировать

СтруктуруШапки

Документа (Этот

Объект);

// Заголовок для сообщений об ошибках проведения.

Заголовок = Общего

Назначения.Представление

ДокументаПри

Проведении (Структура

ШапкиДокумента);

Конец

Процедуры // Подготовить

СтруктуруШапки

Документа ()

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

// Параметры:

// Результат

ЗапросаПоТоварам — результат запроса по табличной части «Товары» ,

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Возвращаемое значение:

// Сформированная таблица значений.

Функция Подготовить

ТаблицуТоваров ()

Таблица

Товаров = Новый Таблица

Значений;

Таблица

Товаров.Колонки.Добавить («Номенклатура»);

Таблица

Товаров.Колонки.Добавить («Количество», Общего

Назначения.Получить

ОписаниеТипов

Числа (15,3));

Таблица

Товаров.Колонки.Добавить («Сумма», Общего

Назначения.Получить

ОписаниеТипов

Числа (15,2));

Стр

ТаблицаТоваров = Таблица

Товаров.Добавить ();

Стр

ТаблицаТоваров.Номенклатура = Номенклатура;

Стр

ТаблицаТоваров.Количество = 1;

Стр

ТаблицаТоваров.Сумма = Сумма

Учетная;

// Создаем колонку «Стоимость» и копируем в нее колонку «Сумма»

Таблица

Товаров.Колонки.Добавить («Стоимость», Общего

Назначения.Получить

ОписаниеТипов

Числа (15,2));

Таблица

Товаров.Загрузить

Колонку (Таблица

Товаров.Выгрузить

Колонку («Сумма»), «Стоимость»);

Таблица

Товаров.Колонки.Добавить («Количество

Минус", Общего

Назначения.Получить

ОписаниеТипов

Числа (15,3));

Возврат Таблица

Товаров;

Конец

Функции // Подготовить

ТаблицуТоваров ()

// Проводит табличну часть «Товары» по регистру

// Параметры:

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Товары

ПоРегистру

Остатков (Режим

Проведения, Таблица

ПоТоварам, Отказ, Заголовок, Структура

ШапкиДокумента)

Структ

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

Структ

ТаблицДокумента.Вставить («Таблица

ПоТоварам", Таблица

ПоТоварам);

Таблицы

ДанныхДокумента = Общего

Назначения.Загрузить

ТаблицыДокумента

ВСтруктуру (Движения.Остатки

Товаров, Структ

ТаблицДокумента);

Общего

Назначения.Записать

ТаблицыДокумента

ВРегистр (Движения.Остатки

Товаров, Вид

ДвиженияНакопления.Расход, Таблицы

ДанныхДокумента, Дата);

Конец

Процедуры // Товары

ПоРегистру

Остатков ()

Процедура Товары

ПоРегистру

Сведений (Таблица

ПоТоварам)

Для каждого Стр

ТаблицаПоТоварам Из Таблица

ПоТоварам Цикл

Если (Стр

ТаблицаПоТоварам.Номенклатура.Вид

Номенклатуры <> Справочники. Виды

Номенклатуры.Расходный

Материал) И

(Стр

ТаблицаПоТоварам.Номенклатура.Вид

Номенклатуры <> Справочники. Виды

Номенклатуры.Работа) И

(Стр

ТаблицаПоТоварам.Номенклатура.Вид

Номенклатуры <> Справочники. Виды

Номенклатуры.Пустая

Ссылка ())Тогда

Тек

Запись = Движения. Учет

Техники.Добавить ();

Тек

Запись.Состояние = Справочники. Состояния

ТехническихСредств.Списан;

Тек

Запись.Период = Дата;

Тек

Запись.Номенклатура = Стр

ТаблицаПоТоварам.Номенклатура;

Попытка

Тек

Запись.Записать ();

Исключение

Конец

Попытки;

Конец

Если;

Конец

Цикла;

Конец

Процедуры // Товары

ПоРегистру

Сведений ()

// По результату запроса по шапке документа формируем движения по регистрам для целей упр. учета.

// Параметры:

// Режим

Проведения — режим проведения документа (оперативный или неоперативный),

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Таблица

ПоТаре — таблица значений, содержащая данные для проведения и проверки ТЧ «Возвратная тара» ,

// Таблица

ПоУслугам — таблица значений, содержащая данные для проведения и проверки ТЧ «Услуги» ,

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Движения

ПоРегистрам

Упр (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

// ТОВАРЫ ПО РЕГИСТРУ Остатки

Товаров.

Товары

ПоРегистру

Остатков (Режим

Проведения, Таблица

ПоТоварам, Отказ, Заголовок, Структура

ШапкиДокумента);

// ТОВАРЫ ПО РЕГИСТРУ Учет

Техники.

Товары

ПоРегистру

Сведений (Таблица

ПоТоварам);

Конец

Процедуры // Движения

ПоРегистрам

Упр ()

// По результатам запросов формирует движения по регистрам.

// Параметры:

// Режим

Проведения — режим проведения документа (оперативный или неоперативный),

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Таблица

ПоТаре — таблица значений, содержащая данные для проведения и проверки ТЧ «Возвратная тара» ,

// Таблица

ПоУслугам — таблица значений, содержащая данные для проведения и проверки ТЧ «Услуги» ,

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Движения

ПоРегистрам (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

Движения

ПоРегистрам

Упр (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

Конец

Процедуры // Движения

ПоРегистрам ()

Процедура Обработка

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

Проведения)

Перем Заголовок, Структура

ШапкиДокумента;

Перем Таблица

ПоТоварам;

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

// Подготовим структуру шапки документа

Подготовить

СтруктуруШапки

Документа (Заголовок, Структура

ШапкиДокумента, Режим

Проведения);

Таблица

ПоТоварам = Подготовить

ТаблицуТоваров ();

// Движения по документу

Если Не Отказ Тогда

Движения

ПоРегистрам (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам, Отказ, Заголовок);

Конец

Если;

Конец

Процедуры

Процедура Обработка

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

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

Конец

Процедуры

Процедура При

Записи (Отказ)

ЗнЗапрета = Константы. Дата

ЗапретаРедактирования.Получить ();

Если ЗнЗапрета>=Начало

Дня (Дата) Тогда

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

Конец

Если;

Инв

Номер = ?(Значение

Заполнено (Номенклатура), Номенклатура. Инвентарный

Номер," «);

Конец

Процедуры

Функция Получить

УчетнуюИнформацию (Выб

Дата, Тек

Номенклатура) Экспорт

Запрос = Новый Запрос («ВЫБРАТЬ

— Учет

ТехникиСрез

Последних.Подразделение КАК Подразделение,

— Учет

ТехникиСрез

Последних.Помещение КАК Помещение,

— Учет

ТехникиСрез

Последних.Ответственный КАК Ответственный,

— Учет

ТехникиСрез

Последних.Состояние КАК Состояние,

— Учет

ТехникиСрез

Последних.Подрядчик КАК Подрядчик

— ИЗ

— Регистр

Сведений.Учет

Техники.Срез

Последних (&Дата, Номенклатура = &Номенклатура) КАК Учет

ТехникиСрез

Последних");

Выб

ДатаТек

Время = Дата (Год (Выб

Дата), Месяц (Выб

Дата), День (Выб

Дата), Час (Текущая

Дата ()), Минута (Текущая

Дата ()), Секунда (Текущая

Дата ())-1);

Запрос.Установить

Параметр («Дата», Выб

ДатаТек

Время);

Запрос.Установить

Параметр («Номенклатура», Тек

Номенклатура);

Выборка = Запрос. Выполнить ().Выбрать ();

Возврат Выборка;

Конец

Функции // Получить

УчетнуюИнформацию ()

Процедура Товары

ПоРегистру

Сведений ()

Тек

Ответственный = «» ;

Тек

Подразделение = «» ;

Тек

Помещение = «» ;

Тек

Выборка = Получить

УчетнуюИнформацию (Дата, Номенклатура);

Пока Тек

Выборка.Следующий () Цикл

Тек

Ответственный = Тек

Выборка.Ответственный;

Тек

Подразделение = Тек

Выборка.Подразделение;

Тек

Помещение = Тек

Выборка.Помещение;

Конец

Цикла;

Тек

Запись = Движения. Учет

Техники.Добавить ();

Если Работоспособность = Истина Тогда

Тек

Запись.Состояние = Справочники. Состояния

ТехническихСредств.Эксплуатация;

Иначе

Тек

Запись.Состояние = Справочники. Состояния

ТехническихСредств.Ремонт;

Конец

Если;

Тек

Запись.Номенклатура = Номенклатура;

Тек

Запись.Ответственный = Тек

Ответственный;

Тек

Запись.Подразделение = Тек

Подразделение;

Тек

Запись.Помещение = Тек

Помещение;

Тек

Запись.Период = Дата;

Попытка

Тек

Запись.Записать ();

Исключение

Конец

Попытки;

Конец

Процедуры // Товары

ПоРегистру

Сведений ()

Процедура Движения

ПоРегистрам

Упр ();

// ТОВАРЫ ПО РЕГИСТРУ Учет

Техники.

Товары

ПоРегистру

Сведений ();

Конец

Процедуры // Движения

ПоРегистрам

Упр ()

Процедура Движения

ПоРегистрам ();

Движения

ПоРегистрам

Упр ();

Конец

Процедуры // Движения

ПоРегистрам ()

Процедура Обработка

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

Проведения)

// Движения по документу

Если Не Отказ Тогда

Движения

ПоРегистрам ();

Конец

Если;

Конец

Процедуры

Процедура Обработка

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

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

Конец

Процедуры

Процедура Обработка

Заполнения (Основание)

Если Тип

Знч (Основание) = Тип («Документ

Ссылка.Заявка

НаРемонт") Тогда

Запрос = Новый Запрос («ВЫБРАТЬ

— Учет

ТехникиСрез

Последних.Регистратор КАК Регистратор

— ИЗ

— Регистр

Сведений.Учет

Техники.Срез

Последних (&Дата, Номенклатура = &Номенклатура) КАК Учет

ТехникиСрез

Последних

— ГДЕ

— Учет

ТехникиСрез

Последних.Регистратор.Документ

Основание = &Документ

Основание

— И Учет

ТехникиСрез

Последних.Состояние = &Состояние");

Запрос.Установить

Параметр («Дата», Момент

Времени ());

Запрос.Установить

Параметр («Номенклатура», Основание. Номенклатура);

Запрос.Установить

Параметр («Документ

Основание", Основание);

Запрос.Установить

Параметр («Состояние», Справочники. Состояния

ТехническихСредств.Эксплуатация);

Таб = Запрос. Выполнить ().Выгрузить ();

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

Сообщить («По заявке „+Основание+“ ремон уже успешно выполнен. Текущий документ ремонта отменен!»);

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

Иначе

Номенклатура = Основание. Номенклатура;

Документ

Основание = Основание. Ссылка;

Конец

Если;

Конец

Если;

Конец

Процедуры

Процедура При

Записи (Отказ)

ЗнЗапрета = Константы. Дата

ЗапретаРедактирования.Получить ();

Если ЗнЗапрета>=Начало

Дня (Дата) Тогда

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

Конец

Если;

Если Документ

Основание.Дата>Дата Тогда

Сообщить («Дата заявки меньше даты ремонта!»);

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

Конец

Если;

Инв

Номер = ?(Значение

Заполнено (Номенклатура), Номенклатура. Инвентарный

Номер," «);

Конец

Процедуры

#Если Клиент Тогда

Функция Печать

ИНВ3() Экспорт

Товар

Код = «Код» ;

Запрос = Новый Запрос;

Запрос.Установить

Параметр («Текущий

Документ", Этот

Объект.Ссылка);

Запрос.Текст =

" ВЫБРАТЬ

— Инвентаризация

РасходныхМатериалов.Номер КАК Номер

Документа,

— Инвентаризация

РасходныхМатериалов.Дата КАК Дата

Документа,

— Инвентаризация

РасходныхМатериалов.Дата КАК Дата

СнятияОстатков,

— Инвентаризация

РасходныхМатериалов.Расходные

Материалы.(

— Номер

Строки КАК Номер,

— Номенклатура КАК Номенклатура,

— Номенклатура. Наименование КАК Товар

Наименование,

— Номенклатура. Код КАК Товар

Код,

— Количество

Факт КАК Факт

Количество,

— Количество

Исх КАК Бух

Количество,

— Стоимость

Исх КАК Бух

Сумма,

— Инвентаризация

РасходныхМатериалов.Расходные

Материалы.Стоимость

Исх / Инвентаризация

РасходныхМатериалов.Расходные

Материалы.Количество

Исх * Инвентаризация

РасходныхМатериалов.Расходные

Материалы.Количество

Факт КАК Факт

Сумма

— )

— ИЗ

— Документ. Инвентаризация

РасходныхМатериалов КАК Инвентаризация

РасходныхМатериалов

— ГДЕ

— Инвентаризация

РасходныхМатериалов.Ссылка = &Текущий

Документ" ;

Шапка = Запрос. Выполнить ().Выбрать ();

Шапка.Следующий ();

Выборка

СтрокТовары = Шапка. Расходные

Материалы.Выбрать ();

Таб

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

Документ;

Таб

Документ.Имя

ПараметровПечати = «ПАРАМЕТРЫ_ПЕЧАТИ_Инвентаризация

ТоваровНаСкладе_ИНВ3″ ;

Макет = Получить

ОбщийМакет («ИНВ3»);

// Выводим шапку накладной

Область

Макета = Макет. Получить

Область («Шапка»);

Область

Макета.Параметры.Заполнить (Шапка);

// Сведения

ОбОрганизации = Управление

КонтактнойИнформацией.Сведения

ОЮрФиз

Лице (Шапка.Организация, Шапка. Дата

Документа);

// Область

Макета.Параметры.Представление

Организации = Формирование

ПечатныхФорм.Описание

Организации (Сведения

ОбОрганизации);

// Область

Макета.Параметры.Организация

ПоОКПО = Сведения

ОбОрганизации.Код

ПоОКПО;

Область

Макета.Параметры.Дата

Документа = Шапка. Дата

Документа;

Область

Макета.Параметры.Дата

СнятияОстатков = Шапка. Дата

СнятияОстатков;

Область

Макета.Параметры.Номер

Документа = Общего

Назначения.Получить

НомерНаПечать (Этот

Объект);

Таб

Документ.Вывести (Область

Макета);

Таб

Документ.Вывести

ГоризонтальныйРазделитель

Страниц ();

Строк

НаСтранице = 19;

Строк

Шапки = 5;

Строк

Подвала = 5;

Номер

Страницы = 2;

Ном = 0;

Итог

ФактКоличество = 0;

Итог

ФактСумма = 0;

Итог

БухКоличество = 0;

Итог

БухСумма = 0;

Колво

СтрокПоСтранице = 0;

Колво

Постранице = 0;

Сумма

Листа = 0;

Итого

Колво = 0;

Итого

Сумма = 0;

// Выводим заголовок таблицы

Заголовок

Таблицы = Макет. Получить

Область («Заголовок

Таблицы");

Заголовок

Таблицы.Параметры.Номер

Страницы = «Страница «+ Номер

Страницы;

Таб

Документ.Вывести (Заголовок

Таблицы);

Количество

Строк = Выборка

СтрокТовары.Количество ();

Если Количество

Строк = 1 Тогда

Переносить

ПоследнююСтроку = 0;

Иначе

Целых

СтраницСПодвалом = Цел ((Строк

Шапки + Количество

Строк + Строк

Подвала) / Строк

НаСтранице);

Целых

СтраницБез

Подвала = Цел ((Строк

Шапки + Количество

Строк — 1) / Строк

НаСтранице);

Переносить

ПоследнююСтроку = Целых

СтраницСПодвалом — Целых

СтраницБез

Подвала;

Конец

Если;

// Выводим многострочную часть докмента

Выборка

СтрокТовары = Шапка. Расходные

Материалы.Выбрать ();

Область

Макета = Макет. Получить

Область («Строка»);

Пока Выборка

СтрокТовары.Следующий () Цикл

Если НЕ Значение

Заполнено (Выборка

СтрокТовары.Номенклатура) Тогда

Сообщить («В одной из строк не заполнено значение номенклатуры — строка при печати пропущена.», Статус

Сообщения.Важное);

Продолжить;

Конец

Если;

Ном = Ном + 1;

//Начинаем новую страницу, если предыдущая строка была последней на странице

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

Целая

Страница = (Строк

Шапки + Ном — 1) / Строк

НаСтранице;

Если (Целая

Страница = Цел (Целая

Страница))

или ((Переносить

ПоследнююСтроку = 1) и (Ном = Количество

Строк)) Тогда

Область

ИтоговПоСтранице = Макет. Получить

Область («Подвал

Страницы");

Область

ИтоговПоСтранице.Параметры.Итого

ФактКоличество = Итог

ФактКоличество;

Область

ИтоговПоСтранице.Параметры.Итого

ФактСумма = Итог

ФактСумма;

Область

ИтоговПоСтранице.Параметры.Итого

БухКоличество = Итог

БухКоличество;

Область

ИтоговПоСтранице.Параметры.Итого

БухСумма = Итог

БухСумма;

Область

ИтоговПоСтранице.Параметры.Количество

ПорядковыхНомеров

НаСтранице

Прописью = Число

Прописью (Колво

СтрокПоСтранице, ,", 0″);

Область

ИтоговПоСтранице.Параметры.Общее

КоличествоЕдиниц

ФактическиНаСтранице

Прописью = Формирование

ПечатныхФорм.Количество

Прописью (Колво

Постранице);

Область

ИтоговПоСтранице.Параметры.Сумма

ФактическиНаСтранице

Прописью = Общего

Назначения.Сформировать

СуммуПрописью (Сумма

Листа, «руб.»);

Таб

Документ.Вывести (Область

ИтоговПоСтранице);

Номер

Страницы = Номер

Страницы + 1;

Таб

Документ.Вывести

ГоризонтальныйРазделитель

Страниц ();

Заголовок

Таблицы.Параметры.Номер

Страницы = «Страница «+ Номер

Страницы;

Таб

Документ.Вывести (Заголовок

Таблицы);

Итог

ФактКоличество = 0;

Итог

ФактСумма = 0;

Итог

БухКоличество = 0;

Итог

БухСумма = 0;

Колво

СтрокПоСтранице = 0;

Колво

Постранице = 0;

Сумма

Листа = 0;

Конец

Если;

Область

Макета.Параметры.Заполнить (Выборка

СтрокТовары);

// Область

Макета.Параметры.Товар

Наименование = Выборка

СтрокТовары.Товар

Наименование + Формирование

ПечатныхФорм.Представление

Серий (Выборка

СтрокТовары);

Область

Макета.Параметры.Номер = Ном;

Таб

Документ.Вывести (Область

Макета);

Итог

ФактКоличество = Итог

ФактКоличество + Выборка

СтрокТовары.Факт

Количество;

Итог

ФактСумма = Итог

ФактСумма + Выборка

СтрокТовары.Факт

Сумма;

Итог

БухКоличество = Итог

БухКоличество + Выборка

СтрокТовары.Бух

Количество;

Итог

БухСумма = Итог

БухСумма + Выборка

СтрокТовары.Бух

Сумма;

Итого

Колво = Итого

Колво + Выборка

СтрокТовары.Факт

Количество;

Итого

Сумма = Итого

Сумма + Выборка

СтрокТовары.Факт

Сумма;

Колво

СтрокПоСтранице = Колво

СтрокПоСтранице + 1;

Колво

Постранице = Колво

Постранице + Выборка

СтрокТовары.Факт

Количество;

Сумма

Листа = Сумма

Листа + Выборка

СтрокТовары.Факт

Сумма;

Конец

Цикла;

// Выводим итоги по последней странице

Область

ИтоговПоСтранице = Макет. Получить

Область («Подвал

Страницы");

Область

ИтоговПоСтранице.Параметры.Итого

ФактКоличество = Итог

ФактКоличество;

Область

ИтоговПоСтранице.Параметры.Итого

ФактСумма = Итог

ФактСумма;

Область

ИтоговПоСтранице.Параметры.Итого

БухКоличество = Итог

БухКоличество;

Область

ИтоговПоСтранице.Параметры.Итого

БухСумма = Итог

БухСумма;

Область

ИтоговПоСтранице.Параметры.Количество

ПорядковыхНомеров

НаСтранице

Прописью = Число

Прописью (Колво

СтрокПоСтранице, ,", 0″);

Область

ИтоговПоСтранице.Параметры.Общее

КоличествоЕдиниц

ФактическиНаСтранице

Прописью = Формирование

ПечатныхФорм.Количество

Прописью (Колво

Постранице);

Область

ИтоговПоСтранице.Параметры.Сумма

ФактическиНаСтранице

Прописью = Общего

Назначения.Сформировать

СуммуПрописью (Сумма

Листа, «руб.»);

Таб

Документ.Вывести (Область

ИтоговПоСтранице);

// Выводим подвал документа

Таб

Документ.Вывести

ГоризонтальныйРазделитель

Страниц ();

Область

Макета = Макет. Получить

Область («Подвал

Описи");

Область

Макета.Параметры.Заполнить (Шапка);

Область

Макета.Параметры.Начальный

НомерПоПорядку = 1;

Область

Макета.Параметры.Номер

Конца = Выборка

СтрокТовары.Количество ();

Область

Макета.Параметры.Количество

ПорядковыхНомеров

НаСтранице

Прописью = Число

Прописью (Выборка

СтрокТовары.Количество (), ,", 0″);

Область

Макета.Параметры.Общее

КоличествоЕдиниц

ФактическиНаСтранице

Прописью = Формирование

ПечатныхФорм.Количество

Прописью (Итого

Колво);

Область

Макета.Параметры.Сумма

ФактическиНаСтранице

Прописью = Общего

Назначения.Сформировать

СуммуПрописью (Итого

Сумма, «руб.»);

Таб

Документ.Вывести (Область

Макета);

// Зададим параметры макета

Таб

Документ.Поле

Сверху = 0;

Таб

Документ.Поле

Слева = 0;

Таб

Документ.Поле

Снизу = 0;

Таб

Документ.Поле

Справа = 0;

Таб

Документ.Ориентация

Страницы = Ориентация

Страницы.Ландшафт;

Возврат Таб

Документ;

Конец

Функции // Печать

ИНВ3()

#Конец

Если

// Процедура формирует структуру шапки документа и дополнительных полей.

Процедура Подготовить

СтруктуруШапки

Документа (Заголовок, Структура

ШапкиДокумента, Режим

Проведения = Неопределено) Экспорт

// Сформируем структуру реквизитов шапки документа

Структура

ШапкиДокумента = Общего

Назначения.Сформировать

СтруктуруШапки

Документа (Этот

Объект);

// Заголовок для сообщений об ошибках проведения.

Заголовок = Общего

Назначения.Представление

ДокументаПри

Проведении (Структура

ШапкиДокумента);

Конец

Процедуры // Подготовить

СтруктуруШапки

Документа ()

// Процедура формирует таблицы документа, вляиющие на состояние расчетов с контрагентами.

Процедура Подготовить

ТаблицыДокумента (Структура

ШапкиДокумента, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход) Экспорт

Структура

Полей = Новый Структура;

Структура

Полей.Вставить («Номенклатура», «Номенклатура»);

Структура

Полей.Вставить («Количество

Исх", «Количество

Исх");

Структура

Полей.Вставить («Количество

Факт", «Количество

Факт");

Структура

Полей.Вставить («Стоимость

Исх", «Стоимость

Исх");

Структура

СложныхПолей = Неопределено;

Результат

ЗапросаПоТоварам = Общего

Назначения.Сформировать

ЗапросПоТабличной

Части (Этот

Объект, «Расходные

Материалы", Структура

Полей, Структура

СложныхПолей);

Таблица

ПоТоварам

Приход = Подготовить

ТаблицуТоваров (Результат

ЗапросаПоТоварам, Структура

ШапкиДокумента);

Таблица

ПоТоварам

Приход.Колонки.Добавить («Количество», Общего

Назначения.Получить

ОписаниеТипов

Числа (12,3));

Таблица

ПоТоварам

Приход.Колонки.Добавить («Стоимость», Общего

Назначения.Получить

ОписаниеТипов

Числа (15,2));

Таблица

ПоТоварам

Расход = Подготовить

ТаблицуТоваров (Результат

ЗапросаПоТоварам, Структура

ШапкиДокумента);

Таблица

ПоТоварам

Расход.Колонки.Добавить («Количество», Общего

Назначения.Получить

ОписаниеТипов

Числа (12,3));

Таблица

ПоТоварам

Расход.Колонки.Добавить («Стоимость», Общего

Назначения.Получить

ОписаниеТипов

Числа (15,2));

Товары

Приход = Таблица

ПоТоварам

Приход.Скопировать ();

Товары

Приход.Очистить ();

Товары

Расход = Таблица

ПоТоварам

Расход.Скопировать ();

Товары

Расход.Очистить ();

// Приход

Для каждого Стр

ТаблицаПоТоварам

Приход Из Таблица

ПоТоварам

Приход Цикл

Если Стр

ТаблицаПоТоварам

Приход.Количество

Факт > Стр

ТаблицаПоТоварам

Приход.Количество

Исх Тогда

Стр

ТаблицаПоТоварам

Приход.Количество = Стр

ТаблицаПоТоварам

Приход.Количество

Факт — Стр

ТаблицаПоТоварам

Приход.Количество

Исх;

Стр

ТаблицаПоТоварам

Приход.Стоимость = Стр

ТаблицаПоТоварам

Приход.Стоимость

Исх*Стр

ТаблицаПоТоварам

Приход.Количество/Стр

ТаблицаПоТоварам

Приход.Количество

Исх;

Нов

СтрТовары

Приход = Товары

Приход.Добавить ();

Заполнить

ЗначенияСвойств (Нов

СтрТовары

Приход, Стр

ТаблицаПоТоварам

Приход);

Иначе

Стр

ТаблицаПоТоварам

Приход.Количество = 0;

Стр

ТаблицаПоТоварам

Приход.Стоимость = 0;

Конец

Если;

Конец

Цикла;

// Расход

Для каждого Стр

ТаблицаПоТоварам

Расход Из Таблица

ПоТоварам

Расход Цикл

Если Стр

ТаблицаПоТоварам

Расход.Количество

Факт < Стр

ТаблицаПоТоварам

Расход.Количество

Исх Тогда

Стр

ТаблицаПоТоварам

Расход.Количество = Стр

ТаблицаПоТоварам

Расход.Количество

Исх — Стр

ТаблицаПоТоварам

Расход.Количество

Факт;

Стр

ТаблицаПоТоварам

Расход.Стоимость = Стр

ТаблицаПоТоварам

Расход.Стоимость

Исх*Стр

ТаблицаПоТоварам

Расход.Количество/Стр

ТаблицаПоТоварам

Расход.Количество

Исх;

Нов

СтрТовары

Расход = Товары

Расход.Добавить ();

Заполнить

ЗначенияСвойств (Нов

СтрТовары

Расход, Стр

ТаблицаПоТоварам

Расход);

Иначе

Стр

ТаблицаПоТоварам

Расход.Количество = 0;

Стр

ТаблицаПоТоварам

Расход.Стоимость = 0;

Конец

Если;

Конец

Цикла;

Таблица

ПоТоварам

Приход.Очистить ();

Таблица

ПоТоварам

Приход = Товары

Приход.Скопировать ();

Таблица

ПоТоварам

Расход.Очистить ();

Таблица

ПоТоварам

Расход = Товары

Расход.Скопировать ();

Конец

Процедуры // Подготовить

ТаблицыДокумента ()

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

// Параметры:

// Результат

ЗапросаПоТоварам — результат запроса по табличной части «Товары» ,

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Возвращаемое значение:

// Сформированная таблица значений.

Функция Подготовить

ТаблицуТоваров (Результат

ЗапросаПоТоварам, Структура

ШапкиДокумента)

Таблица

Товаров = Результат

ЗапросаПоТоварам.Выгрузить ();

Таблица

Товаров.Колонки.Добавить («Количество

Минус", Общего

Назначения.Получить

ОписаниеТипов

Числа (15,3));

Возврат Таблица

Товаров;

Конец

Функции // Подготовить

ТаблицуТоваров ()

// Проводит табличну часть «Товары» по регистру

// Параметры:

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Товары

ПоРегистру

Остатков (Режим

Проведения, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход, Отказ, Заголовок, Структура

ШапкиДокумента)

Структ

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

Структ

ТаблицДокумента.Вставить («Таблица

ПоТоварам", Таблица

ПоТоварам

Приход);

Таблицы

ДанныхДокумента = Общего

Назначения.Загрузить

ТаблицыДокумента

ВСтруктуру (Движения.Остатки

Товаров, Структ

ТаблицДокумента);

Общего

Назначения.Записать

ТаблицыДокумента

ВРегистр (Движения.Остатки

Товаров, Вид

ДвиженияНакопления.Приход, Таблицы

ДанныхДокумента, Дата);

Структ

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

Структ

ТаблицДокумента.Вставить («Таблица

ПоТоварам", Таблица

ПоТоварам

Расход);

Таблицы

ДанныхДокумента = Общего

Назначения.Загрузить

ТаблицыДокумента

ВСтруктуру (Движения.Остатки

Товаров, Структ

ТаблицДокумента);

Общего

Назначения.Записать

ТаблицыДокумента

ВРегистр (Движения.Остатки

Товаров, Вид

ДвиженияНакопления.Расход, Таблицы

ДанныхДокумента, Дата);

Конец

Процедуры // Товары

ПоРегистру

Остатков ()

// По результату запроса по шапке документа формируем движения по регистрам для целей упр. учета.

// Параметры:

// Режим

Проведения — режим проведения документа (оперативный или неоперативный),

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Таблица

ПоТаре — таблица значений, содержащая данные для проведения и проверки ТЧ «Возвратная тара» ,

// Таблица

ПоУслугам — таблица значений, содержащая данные для проведения и проверки ТЧ «Услуги» ,

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Движения

ПоРегистрам

Упр (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход, Отказ, Заголовок);

// ТОВАРЫ ПО РЕГИСТРУ Остатки

Товаров.

Товары

ПоРегистру

Остатков (Режим

Проведения, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход, Отказ, Заголовок, Структура

ШапкиДокумента);

Конец

Процедуры // Движения

ПоРегистрам

Упр ()

// По результатам запросов формирует движения по регистрам.

// Параметры:

// Режим

Проведения — режим проведения документа (оперативный или неоперативный),

// Структура

ШапкиДокумента — структура, содержащая рексвизиты шапки документа и результаты запроса по шапке

// Таблица

ПоТоварам — таблица значений, содержащая данные для проведения и проверки ТЧ Товары

// Таблица

ПоТаре — таблица значений, содержащая данные для проведения и проверки ТЧ «Возвратная тара» ,

// Таблица

ПоУслугам — таблица значений, содержащая данные для проведения и проверки ТЧ «Услуги» ,

// Отказ — флаг отказа в проведении,

// Заголовок — строка, заголовок сообщения об ошибке проведения.

Процедура Движения

ПоРегистрам (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход, Отказ, Заголовок);

Движения

ПоРегистрам

Упр (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход, Отказ, Заголовок);

Конец

Процедуры // Движения

ПоРегистрам ()

Процедура Обработка

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

Проведения)

Перем Заголовок, Структура

ШапкиДокумента;

Перем Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход;

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

// Подготовим структуру шапки документа

Подготовить

СтруктуруШапки

Документа (Заголовок, Структура

ШапкиДокумента, Режим

Проведения);

Подготовить

ТаблицыДокумента (Структура

ШапкиДокумента, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход);

// Движения по документу

Если Не Отказ Тогда

Движения

ПоРегистрам (Режим

Проведения, Структура

ШапкиДокумента, Таблица

ПоТоварам

Приход, Таблица

ПоТоварам

Расход, Отказ, Заголовок);

Конец

Если;

Конец

Процедуры

Процедура Обработка

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

Общего

Назначения.Удалить

ДвиженияРегистратора (Этот

Объект, Отказ);

Конец

Процедуры Процедура При

Записи (Отказ)

ЗнЗапрета = Константы. Дата

ЗапретаРедактирования.Получить ();

Если ЗнЗапрета>=Начало

Дня (Дата) Тогда

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

Конец

Если;

Конец

Процедуры

Приложение 2.

Ниже представлены формы справочной информации.

Форма справочника «Виды номенклатуры»

Форма справочника «Должность»

Форма справочника «Контрагенты»

Форма справочника «Модели номенклатуры»

Форма справочника «Номенклатура»

Форма справочника «Номера местных телефонов»

Форма справочника «Ответственные лица»

Форма справочника «Подразделения»

Форма справочника «Форма списка»

Форма справочника «Производители»

Форма справочника «Состояния тех. средств»

Приложение 3.

Ниже представлены формы результатных документов

Форма документа «Поступление номенклатуры»

Форма документа «Ввод в эксплуатацию»

Форма документа «Заявка на ремонт»

Форма документа «Перемещение номенклатуры»

Форма документа «Списание номенлатуры»

Форма документа «Проведение ремонта»

Форма документа «Инвентаризация расходных материалов»

Показать весь текст

Список литературы

  1. Т. П. и др. Информационные системы и технологии в экономике: Учебник. — 2-е изд., доп. и перераб. — М.: Финансы и статистика, 2005 — 416 с.
  2. В. А. и др. Стандартизация разработки программных средств: Учеб. пособие. — М.: Финансы и статистика, 2005. — 288 с.
  3. Г. А., Сахарова Е. В., Королькова Л. Н., Информатика. Ставрополь, СТИС, 2006
  4. А. М. Проектирование программного обеспечения экономических информационных систем: Учебник. — 2-е изд., перераб. и доп. — М.: Финансы и статистика, 2005. — 544 с.
  5. А. П., Гончаров Д. И. : Предприятие 8.0. Простые примеры разработки. — М.: ООО «-Паблишинг», 2005. — 420 с.: ил.
  6. И. Г. Безопасность при работе на ПЭВМ. — М.: НПЦ Профессионал-Ф, 2001. — 140 с.
  7. В.А. Информатика: Учебник. — 5-ое издание — М.: ИНФРА-М, 2007 — 244 с.
  8. С. М. :Предприятие 8. Учимся программировать на примерах — СПб.: БХВ-Петербург, 2008. — 336 с.: ил.
  9. И. Информационная безопасность предприятия. — СПб.: БХВ-Петербург, 2003. — 733 с.
  10. М. И. и др. Экономическая информатика: введение в экономический анализ. — М.: Инфра-М, 2005. —569 с.
  11. С. В. ВРWin и ERWin. САSЕ-средства разработки информационных систем — М.: Диалог-МИФИ, 1999 — 455 с.: ил.
  12. В. В. Безопасность информации в автоматизированных системах. — М.: Финансы и статистика, 2003. — 368 с.
  13. А. В. :Предприятие 7.7/8.0: системное программирование. — СПб.: БХВ-Петербург, 2005. — 336 с.: ил.
  14. А. И. Теория экономических информационных систем. — М.: Финансы и статистика, 2000. — 240 с.
  15. И. П. Основы автоматизированного проектирования: Учебник для вузов. — М.: МГТУ им. Н. Э. Баумана, 2002. — 336 с.
  16. С. Технологии разработки программного обеспечения. Учебное пособие. 2-е изд. — СПб.: Питер, 2003. — 480 с.
  17. Т. Л. Информационная безопасность. — М. ИНФРА-М, 2002. — 367 с.
  18. , В. Н. Информационные системы: учеб. пособие для вузов — СПб.: Питер, 2002. — 688 с.
  19. М. Г. : Предприятие 8.0. Практическое пособие разработчика. Примеры и типовые приемы. — М.: ООО «-Паблишинг», 2006. — 656 с.: ил.
  20. Г. В. Анализ хозяйственной деятельности предприятия: Учебник. — М.: Инфра-М, 2003. — 400 с.
  21. Н. И. Экономическая информатика. — М.: Экономистъ, 2004. — 429 с.
  22. С.В. Информатика: учебник для ВУЗов — СПб.: Питер, 2004 -639 с.:ил
  23. Г. Н. и др. Проектирование экономических информационных систем: Учебник / Под ред. Ю. Ф. Тельнова. — М.: Финансы и статистика, 2002. — 512 с.
  24. .Я. Информационные технологии — М.: Высш. школа, 2006 — 263 с.:ил.
  25. А.Н. Информатика: учебник для ВУЗов — СПб.: Питер, 2002 — 608 с.:ил
  26. Ю. Самоучитель Office XP — СПб.: Питер, 2002 — 576 с.:ил
  27. С.Ф. Принципы проектирования и разработки программного обеспечения — М.: РУС. РЕД., 2002. — 736 с.: ил.
  28. Д., Введение в системы баз данных — М.: «Лори». 2000. — 375 с.: ил.
  29. Т. Н. :Предприятие. Эффективное программирование / Т. Н. Усиков. — М.: Новое знание, 2004. — 446 с.
  30. А.П. Информационные системы для экономистов — М.:Экзамен, 2004. — 191 с.: ил.
Заполнить форму текущей работой
Купить готовую работу

ИЛИ