Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
диплом / 3.rtf
Скачиваний:
191
Добавлен:
05.06.2015
Размер:
32.13 Mб
Скачать

6. Проектирование информационных систем. Грекул в.И., Денищенко г.Н., Коровкина н.Л. - учебное пособие: Москва, 2005 - 303 с.

7. BPWin и ERWin. CASE-средства разработки информационных систем. Маклаков С.В. - М.: ДИАЛОГ-МИФИ, 2000 - 267 с.

8. Журнал "Маркетинг и маркетинговые исследования", N 03 (69) 2007. Сравнительный анализ информационно-аналитических систем для обработки открытых источников информации. Вороной А., Манько П. С 5-8.

9. Журнал “Управление персоналом” №3 2005 год. Управление имиджем вуза. Е. Дагаева С. 26-28.

10. Приказ Минфина РФ от 9 декабря 1998 г. N 60н "Об утверждении Положения по бухгалтерскому учету "Учетная политика организации" ПБУ 1/98" (с изменениями от 30 декабря 1999 г.)

Источники Интернет

1. www.tradegroup.ru <http://www.tradegroup.ru/> - сайт компании ООО “Альянс-Трейд”.

2. www.suninterbrew.ru - сайт компании ОАО “СанИнБев”.

3. www.wbd.ru/about - сайт компании “Вимм-Билль-Данн”.

4. www.rusalco.com/company/about - сайт компании ЗАО “Русский Алкоголь”.

5. www.prodo.ru - сайт компании группа “Продо”.

. www.hr-portal.ru/pages/Di/796.php <http://www.hr-portal.ru/pages/Di/796.php> - обязанности фин. директора.

. www.aup.ru/docs/di/064.htm <http://www.aup.ru/docs/di/064.htm> - обязанности отдела кадров.

. www.hr-bo.ru/page_pid_205.htm <http://www.hr-bo.ru/page_pid_205.htm> - обязанности кладовщика.

. www.management-portal.ru/?set=content&mc=27 <http://www.management-portal.ru/?set=content&mc=27> - обязанности зав. складом.

. www.nutakvot.ru/dolin/razdel/G/g17.php <http://www.nutakvot.ru/dolin/razdel/G/g17.php> - обязанности грузчика.

. www.1c.ru <http://www.1c.ru> - сайт компании “1С”.

12. www.cde.osu.ru/demoversion/course157/text/1.8.html - жизненный цикл информационной системы.

13. www.tm.ifmo.ru/tm2005/src/118b.pdf - стандарт ISO/IEC 15288.

14. www.ooad.asf.ru/standarts/Library/ReviewPO/List11.aspx - стандарт RUP.

15. www.osp.ru/cio/2003/09/172862/_p2.html - стандар COBIT.

16. www.iiinero.narod.ru/keis/21_-_Metodika_Oracle_CDM.html - стандарт Orecle CDM.

17. www.ru.wikipedia.org/wiki/FreeBSD - операционная система <http://ru.wikipedia.org/wiki/UNIX-%D0%BF%D0%BE%D0%B4%D0%BE%D0%B1%D0%BD%D0%B0%D1%8F_%D0%BE%D0%BF%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0> FreeBSD.

. www.parus.ru <http://www.parus.ru> - сайт компании ООО “Парус”.

. www.galaktika.ru <http://www.galaktika.ru> - сайт компании ООО “Галактика”.

20. www.rugost.com, ГОСТ 34 - “Единая автоматизированная система учета кадров всех государственных предприятий”.

21. www.ru.wikipedia.org/wiki/Microsoft_Solutions_Framework - стандарт MSF.

22. http://www.asntl.ru/page.aspx?id_page=7458 - стандарт ISO/IEC 12207.

. <http://www.rao-ees.ru/ru/info/show.cgi?content.htm> - компания РАО “ЕЭС”

ПРИЛОЖЕНИЕ 1

Моделирование бизнес-процессов предприятия ООО “Альянс-Трейд”

Рис. 16. Структура деятельности предприятия “как есть” (AS-IS)

Рис. 17. Декомпозиция структуры организации “как есть” (AS-IS)

Рис. 18. Работа основного комплексного склада “как должно быть” (TO-BE)

Рис. 19. Формирование заявки “как должно быть” (TO-BE)

Рис. 20. Обработка поступающего товара “как должно быть” (TO-BE)

ПРИЛОЖЕНИЕ 2

Формы документов используемые в ООО “Альянс-Трейд”

Рис. 21. Счет-фактура

Рис. 22. Поступление товара

Рис. 23. Товарная накладная

Рис. 24. Книга покупок

Рис. 25. Книга продаж

ПРИЛОЖЕНИЕ 3

Окна разработанного модуля “Формирования заказа на поставку”

// ОПИСАНИЕ ПЕРЕМЕННЫХ

Перем СписокДействий;

Перем СтарыйКлиент;

Перем СтараяДата;

Перем НачальнаяДатаДокумента; // Для контроля даты документа

//************************************************************

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

//************************************************************

// НАЗНАЧЕНИЕ: формирует заголовок окна и заголовок формы

Функция ЗаголовокФормы()

Перем Заголовок, Название;

Заголовок= "Заказ на поставку";

Название= "Заказ №";

Если Выбран() = 1 Тогда

Если Проведен() = 1 Тогда

Заголовок= Заголовок + ".Проведен";

Иначе

Заголовок= Заголовок + ".Не проведен";

КонецЕсли;

Иначе

Заголовок= Заголовок + ".Новый";

КонецЕсли;

Форма.Заголовок(Заголовок);

Возврат Название;

КонецФункции //ЗаголовокФормы

//************************************************************

// НАЗНАЧЕНИЕ: заполняет спецификацию товарами, которых не хватает

Процедура ОбработчикПоКнопкеЗаполнить()

Перем КонтекстДокумента;

КонтекстДокумента=глВзятьКонтекст(Контекст);

ОткрытьФормуМодально("Обработка.ЗаполнениеЗаказа",КонтекстДокумента);

КонецПроцедуры// ОбработчикПоКнопкеЗаполнить

//************************************************************

// НАЗНАЧЕНИЕ: обновлят информационные надписи

Процедура ОбновитьНадписи()

Форма.ТекстОплаты.Заголовок(глСтрокаОплаты(Контекст));

Форма.ТекстФирмы.Заголовок(глСтрокаФирмы(Контекст));

Форма.ТекстОснования.Заголовок(СокрП(Основание));

КонецПроцедуры// ОбновитьНадписи

//************************************************************

Процедура ИспользоватьИнформациюОцене()

Перем ВидимостьКолонкиНДС, ВидимостьКолонкиНП;

ВидимостьКолонкиНДС = 1;

Если ВариантРасчетаНалогов.СтавкаНДСизНоменклатуры = 0 Тогда

Если глПроцентНДС(ВариантРасчетаНалогов.СтавкаНДС) = 0 Тогда

ВидимостьКолонкиНДС= 0;

КонецЕсли;

КонецЕсли;

Форма.СтавкаНДС.Видимость(ВидимостьКолонкиНДС);

ВидимостьКолонкиНП = 1;

Если ВариантРасчетаНалогов.СтавкаНПизНоменклатуры = 0 Тогда

Если глПроцентНП(ВариантРасчетаНалогов.СтавкаНП) = 0 Тогда

ВидимостьКолонкиНП= 0;

КонецЕсли;

КонецЕсли;

Форма.СтавкаНП.Видимость(ВидимостьКолонкиНП);

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

//************************************************************

// НАЗНАЧЕНИЕ: возвращает строку, содержащую инфориацию об итогах по колонкам

Функция Итого()

Перем Результат, Всего, СуммаНДС, СуммаНП;

Всего = Итог("Всего");

СуммаНДС = Итог("НДС");

СуммаНП = Итог("СуммаНП");

Результат = ?(Всего= 0, "", " Всего=" + глФРМ(Всего,Валюта, 1))+

?(СуммаНДС= 0, "", " НДС=" + глФРМ(СуммаНДС, Валюта, 1))+

?(СуммаНП= 0, "", " НП=" + глФРМ(СуммаНП,Валюта, 1));

Возврат Результат;

КонецФункции// Итого

//************************************************************

Процедура Пересчет(ИмяРеквизита)

Перем ВремКоэфф, ВремЦена, НовыйТовар;

Если ИмяРеквизита = "Товар" Тогда

Если ПустоеЗначение(Товар) = 1 Тогда

// Удалили товар.

Единица = 0;

Коэффициент = 0;

Цена = 0;

Количество = 0;

Сумма = 0;

СтавкаНДС = 0;

СтавкаНП = 0;

глРассчитатьНалогиПриходногоДокумента(Контекст);

Возврат;

КонецЕсли;

// Определем поменяли ли товар?

НовыйТовар = Нет;

Если ПустоеЗначение(Единица) = 1 Тогда

НовыйТовар = Да;

ИначеЕсли Товар <> Единица.Владелец Тогда

НовыйТовар = Да;

КонецЕсли;

Если НовыйТовар = Нет Тогда

Возврат;

КонецЕсли;

// нужно проверить, чтобы выбранный товар не был набором

Если Товар.ВидТовара = Перечисление.ВидыТоваров.Набор Тогда

Предупреждение("Наборы в документ не добавляются.");

// очистим реквизиты

Товар = ПолучитьПустоеЗначение("Справочник.Номенклатура");

Единица = 0;

Коэффициент = 0;

Цена = 0;

Количество = 0;

Сумма = 0;

СтавкаНДС = 0;

СтавкаНП = 0;

глРассчитатьНалогиПриходногоДокумента(Контекст);

Возврат;

КонецЕсли;

// заполняем единицу

Единица = Товар.ЕдиницаПоУмолчанию;

Коэффициент = Единица.Коэффициент;

// Заполним ставки налогов

Если ВариантРасчетаНалогов.СтавкаНДСизНоменклатуры = 1 Тогда

СтавкаНДС = Товар.СтавкаНДС.Получить(ДатаДок);

Иначе

СтавкаНДС = ВариантРасчетаНалогов.СтавкаНДС;

КонецЕсли;

Если ВариантРасчетаНалогов.СтавкаНПизНоменклатуры = 1 Тогда

СтавкаНП = Товар.СтавкаНП.Получить(ДатаДок);

Иначе

СтавкаНП = ВариантРасчетаНалогов.СтавкаНП;

КонецЕсли;

Если ПустоеЗначение(КатегорияЦен) = 1 Тогда

// нет категории, нет и цены

Возврат;

КонецЕсли;

// вычисляем цену

ЦенаТовара = глВернутьЦену(Товар, КатегорияЦен);

Если ПустоеЗначение(ЦенаТовара) = 1 Тогда

// для товара в категории цены нет

Возврат;

КонецЕсли;

// получим параметры цены

ЦенаЦены= ЦенаТовара.Цена.Получить(ДатаДок);

ВалютаЦены= ЦенаТовара.Валюта.Получить(ДатаДок);

ЕдЦены= ЦенаТовара.Единица.Получить(ДатаДок);

ЦенаЦены = ?(ПустоеЗначение(ЕдЦены.Коэффициент)= 0,ЦенаЦены * Коэффициент / ЕдЦены.Коэффициент,0);

ЦенаЦены = глПересчетДляПодбора(ЦенаЦены,ВалютаЦены,Дата_Курса,Валюта,Курс);

Если Валюта = Рубли Тогда

ЦенаЦены = Окр(ЦенаЦены,Константа.КоэффОкрРублЦены,1);

КонецЕсли;

// Получили цену в нужной валюте с НДС, но без НП (так цены задаются в справочнике)

// Приведем к нужному варианту

Цена = глСуммаПриходногоДокумента(ВариантРасчетаНалогов,

ЦенаЦены,

,

Товар.СтавкаНДС.Получить(ДатаДок),

Товар, ДатаДок);

ИначеЕсли ИмяРеквизита = "Количество" Тогда

Если Сумма = 0 Тогда

Сумма = Количество*Цена;

глРассчитатьНалогиПриходногоДокумента(Контекст);

Иначе

Если Константа.ПриИзмененииКоличестваВПриходныхДокументах = 1 Тогда // пересчитывать сумму

Сумма = Цена*Количество;

глРассчитатьНалогиПриходногоДокумента(Контекст);

Иначе // пересчитывать цену

Цена = ?(Количество = 0, 0, Сумма/Количество);

КонецЕсли;

КонецЕсли;

ИначеЕсли ИмяРеквизита = "Единица" Тогда

// сохраним старый коэффициент

ВремКоэфф = Коэффициент;

// заполним коэффициент в документе из единицы

Коэффициент = Единица.Коэффициент;

Если ВремКоэфф <> 0 Тогда

// цена была за другой коэффициент. Пересчетываем

ВремЦена = Цена * Коэффициент / ВремКоэфф;

КонецЕсли;

// если валюта рубли, то нужно округлить цену по коэффициенту

// округления рублевых цен

Если Валюта = Рубли Тогда

ВремЦена = Окр(ВремЦена,Константа.КоэффОкрРублЦены,1);

КонецЕсли;

Цена = ВремЦена;

Сумма = Цена*Количество;

глРассчитатьНалогиПриходногоДокумента(Контекст);

ИначеЕсли ИмяРеквизита = "Цена" Тогда

Сумма = Цена*Количество;

глРассчитатьНалогиПриходногоДокумента(Контекст);

ИначеЕсли ИмяРеквизита = "Сумма" Тогда

глРассчитатьНалогиПриходногоДокумента(Контекст);

Цена = ?(Количество = 0, 0, Сумма/Количество);

ИначеЕсли (ИмяРеквизита = "СтавкаНДС") или (ИмяРеквизита = "СтавкаНП") Тогда

глРассчитатьНалогиПриходногоДокумента(Контекст);

ИначеЕсли (ИмяРеквизита = "НДС") или (ИмяРеквизита = "СуммаНП") Тогда

Всего = глПоказательПриходногоДокумента(Контекст, "СуммаСНалогами");

КонецЕсли;

КонецПроцедуры // Пересчет

//************************************************************

// НАЗНАЧЕНИЕ: возвращает строку, содержащую инфориацию об итогах по колонкам

Процедура Взаиморасчеты()

глПоказатьДолг(Контекст, Клиент, "Закупка");

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

//************************************************************

// НАЗНАЧЕНИЕ: выполняет дествия при изменении даты

Процедура ВыборДаты()

глПриИзмененииДатыДокумента(Контекст, СтараяДата);

ОбновитьНадписи();

КонецПроцедуры// ВыборДаты

//************************************************************

// НАЗНАЧЕНИЕ: выполняет дествия при изменении фирмы

Процедура ВыборФирмы()

Перем КонтекстДокумента;

КонтекстДокумента = глВзятьКонтекст(Контекст);

ОткрытьФормуМодально("Обработка.ИнформацияОфирме", КонтекстДокумента);

ОбновитьНадписи();

КонецПроцедуры// ВыборФирмы

//************************************************************

// НАЗНАЧЕНИЕ: вызывается по кнопке кнОплата.

Процедура ВыборОплаты()

Перем КонтекстДокумента;

Перем СтараяКатегорияЦен;

СтараяКатегорияЦен = КатегорияЦен;

КонтекстДокумента = глВзятьКонтекст(Контекст);

ОткрытьФормуМодально("Обработка.ИнформацияОценах", КонтекстДокумента);

Если СтараяКатегорияЦен <> КатегорияЦен Тогда

// изменилась категория цен

// перерисуем

Если ПустоеЗначение(КонтекстПодбора) = 0 Тогда

КонтекстПодбора.Форма.Обновить();

КонецЕсли;

КонецЕсли;

ОбновитьНадписи();

ИспользоватьИнформациюОцене();

КонецПроцедуры// ВыборОплаты

//************************************************************// НАЗНАЧЕНИЕ: вызывается после выбора значения в реквизите Клиент

Процедура ВыборКлиента()

Перем ВремКатегорияЦен;

Если Клиент.Выбран() = 1 Тогда

Если СтарыйКлиент <> Клиент Тогда

Если Константа.ПодставлятьОсновнойДоговор = Да Тогда

// подставим договор по умолчанию

Договор = Клиент.ОсновнойДоговорТорг;

Иначе

// очистим договор

Договор = ПолучитьПустоеЗначение("Справочник.Договора");

КонецЕсли;

ВремКатегорияЦен = Клиент.КатегорияЦенПоставщика;

Если ПустоеЗначение(ВремКатегорияЦен) = 1 Тогда

ВремКатегорияЦен = глПользователь.КатегорияЦен;

КонецЕсли;

Если ПустоеЗначение(ВремКатегорияЦен) = 0 Тогда

КатегорияЦен = ВремКатегорияЦен;

КонецЕсли;

КонецЕсли;

Иначе

Договор = ПолучитьПустоеЗначение("Справочник.Договора");

КонецЕсли;

СтарыйКлиент = Клиент;

ОбновитьНадписи();

КонецПроцедуры// ВыборКлиента

//************************************************************

// НАЗНАЧЕНИЕ: вызывается по кнопке кнОснование.

Процедура ВыборОснования()

КонтекстДокумента = глВзятьКонтекст(Контекст);

ОткрытьФормуМодально("Обработка.ОснованиеДокумента", КонтекстДокумента);

ОбновитьНадписи();

ИспользоватьИнформациюОцене();

КонецПроцедуры// ВыборОснования

//************************************************************

// НАЗНАЧЕНИЕ: формирует таблицу для печати документа

Процедура Печать()

Перем ПорядокСекций;

Фирма.ИспользоватьДату(ДатаДок);

Таб= СоздатьОбъект("Таблица");

Если (ВариантРасчетаНалогов.СтавкаНПизНоменклатуры = 0) И

(глПроцентНП(ВариантРасчетаНалогов.СтавкаНП) = 0)

Тогда

ПечататьНП = Нет;

Иначе

ПечататьНП = Да;

КонецЕсли;

Если ПечататьНП =Да Тогда

ВертикальнаяСекция="С_НП";

Иначе

ВертикальнаяСекция="Без_НП";

КонецЕсли;

Таб.ВывестиСекцию("Шапка|"+ВертикальнаяСекция);

Ном= 1;

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

Таб.ВывестиСекцию("Строка|"+ВертикальнаяСекция);

Ном= Ном + 1;

КонецЦикла;

Таб.ВывестиСекцию("Сумма_Итого|"+ВертикальнаяСекция);

Таб.ВывестиСекцию("В_том_числе|"+ВертикальнаяСекция);

Таб.ВывестиСекцию("Сумма_НДС|"+ВертикальнаяСекция);

Таб.ВывестиСекцию("Подвал|"+ВертикальнаяСекция);

Таб.Опции(0, 0, 0, 0, ПарСтрДок);

Таб.Защита(Константа.ФлагЗащитыТаблиц);

Таб.ТолькоПросмотр(1);

Таб.Показать("Печать заказа","");

КонецПроцедуры// Печать

//************************************************************

// Предопределенные процедуры

//************************************************************

Процедура ВводНового(Скопирован)// Предопределенная процедура

Перем ВремКатегорияЦен;

глЗаполнитьШапку(Контекст, Скопирован);

Если Скопирован = 1 Тогда// копирование документа

Возврат;

КонецЕсли;

ДатаДок= РабочаяДата();

Склад= Константа.ОсновнойСклад;

Если ПустоеЗначение(глАктивныйДоговор) = 0 Тогда

Клиент= глАктивныйДоговор.Владелец;

Договор = глАктивныйДоговор;

СтарыйКлиент= Клиент;

КонецЕсли;

Если ПустоеЗначение(Клиент) = 1 Тогда

Клиент= Константа.ОсновнойПоставщик;

КонецЕсли;

Если ПустоеЗначение(Клиент) = 0 Тогда

КатегорияЦен = Клиент.КатегорияЦенПоставщика;

КонецЕсли;

Если ПустоеЗначение(КатегорияЦен) = 1 Тогда

КатегорияЦен= Автор.КатегорияЦен;

КонецЕсли;

Валюта= Константа.ОсновнаяВалютаЗакупки;

Если ПустоеЗначение(Валюта) = 1 Тогда

Валюта= Рубли;

КонецЕсли;

Дата_Курса= ДатаДок;

Курс= глКурсДляВалюты(Валюта, Дата_Курса);

ВыборКлиента();

Если ПустоеЗначение(ВариантРасчетаНалогов) = 1 Тогда

ВариантРасчетаНалогов= Константа.ОсновнойВариантРасчетаНалогов;

КонецЕсли;

ГлУстановкаНомера(Контекст);

КонецПроцедуры// ВводНового

//************************************************************

Процедура ВводНаОсновании(ДокОснование) //Предопределенная процедура

Предупреждение("Документ """ + ПредставлениеВида() + """ не вводят на основании других документов!");

СтатусВозврата(0);

КонецПроцедуры// ВводНаОсновании

//************************************************************

Процедура ПриОткрытии() // Предопределенная процедура

Парам = Форма.Параметр;

Если Лев(Парам, 13) = "ПЕЧАТЬСПРОСМ_" Тогда

Печать();

СтатусВозврата(0);

Возврат;

КонецЕсли;

НачальнаяДатаДокумента = ДатаДок;

Форма.Товар.ВыполнятьФормулуТолькоПриИзменении(1);

Форма.Количество.ВыполнятьФормулуТолькоПриИзменении(1);

Форма.Цена.ВыполнятьФормулуТолькоПриИзменении(1);

Форма.Сумма.ВыполнятьФормулуТолькоПриИзменении(1);

Форма.НДС.ВыполнятьФормулуТолькоПриИзменении(1);

Форма.СтавкаНДС.ВыполнятьФормулуТолькоПриИзменении(1);

Форма.СуммаНП.ВыполнятьФормулуТолькоПриИзменении(1);

Форма.СтавкаНП.ВыполнятьФормулуТолькоПриИзменении(1);

глПроверкаРазрешенияРедактирования(Контекст);

// Если открыли только на просмотр, то надо кнопки сделать недоступными

Если Форма.ТолькоПросмотр() = 1 Тогда

Форма.КнФирма.Доступность(0);

Форма.КнОснование.Доступность(0);

Форма.КнОплата.Доступность(0);

Форма.кнПодборПоКаталогу.Доступность(0);

Форма.кнПодборПоПрайсу.Доступность(0);

Форма.кнИзменить.Доступность(0);

Форма.кнЗаполнить.Доступность(0);

Форма.КнЗаписать.Доступность(0);

Форма.КнПровести.Доступность(0);

Форма.ОК.Доступность(0);

Форма.КнопкаПоУмолчанию("Закрыть");

Иначе

Форма.КнопкаПоУмолчанию("ОК");

КонецЕсли;

ОбновитьНадписи();

ИспользоватьИнформациюОцене();

СтараяДата= ДатаДок;

СтарыйКлиент= Клиент;

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

//************************************************************

Процедура ОбработкаПодбора(Выб, гКонтекстФормыПодбора)

ЗаголовокФормыПодбора = гКонтекстФормыПодбора.Форма.Заголовок();

Если Найти(ЗаголовокФормыПодбора, " (владелец - ") = 0 Тогда

глПриОбработкеПодбора(Выб, Контекст);

Иначе

СписокПараметровЦены=ПолучитьЗначениеИзПодбора("ОписаниеЦены()");

_цена=СписокПараметровЦены.Получить("Цена");

_валюта=СписокПараметровЦены.Получить("Валюта");

_единица=СписокПараметровЦены.Получить("Единица");

// пересчитаем цену в валюту документа

_цена = глПересчет(_цена, _валюта, Дата_Курса, Валюта, Курс);

Колво=1;

Если Константа.ЗапрашиватьКоличество = Да Тогда

Если ВвестиЧисло(Колво, "Количество товара """ + Выб + """", 10, 3) = 0 Тогда Возврат КонецЕсли;

КонецЕсли;

ВыбратьСтроки();

Пока ПолучитьСтроку() = 1 Цикл

Если Товар = Выб Тогда

Количество=Количество + Колво;

Цена = глСуммаПриходногоДокумента(ВариантРасчетаНалогов, Цена, 1, Товар.СтавкаНДС.Получить(ДатаДок), Товар, ДатаДок);

Сумма = Цена * Количество;

глРассчитатьНалогиПриходногоДокумента(Контекст);

Возврат;

КонецЕсли;

КонецЦикла;

НоваяСтрока();

Товар=Выб;

Количество=Колво;

Единица=_единица;

Цена=_цена;

Коэффициент=_единица.Коэффициент;

Если ВариантРасчетаНалогов.СтавкаНДСизНоменклатуры = 1 Тогда

СтавкаНДС = Товар.СтавкаНДС.Получить(ДатаДок);

Иначе

СтавкаНДС = ВариантРасчетаНалогов.СтавкаНДС;

КонецЕсли;

Если ВариантРасчетаНалогов.СтавкаНПизНоменклатуры = 1 Тогда

СтавкаНП = Товар.СтавкаНП.Получить(ДатаДок);

Иначе

СтавкаНП = ВариантРасчетаНалогов.СтавкаНП;

КонецЕсли;

Цена = глСуммаПриходногоДокумента(ВариантРасчетаНалогов, Цена, 1, Товар.СтавкаНДС.Получить(ДатаДок), Товар, ДатаДок);

Сумма = Цена * Количество;

глРассчитатьНалогиПриходногоДокумента(Контекст);

КонецЕсли;

КонецПроцедуры //Обработка подбора

//************************************************************

Процедура ПодборПоПрайсЛисту(ФлВыбиратьПрайсЛист=0)

ПрайсЛист=ВосстановитьЗначение("ПрайсЛист");

Если (ФлВыбиратьПрайсЛист = 1) Или (ПустоеЗначение(ПрайсЛист) = 1) Тогда

СписокКаталоговДляВыбора=СоздатьОбъект("СписокЗначений");

СписокКаталоговДляВыбора.ДобавитьЗначение("По справочнику 'Прайс-лист'");

СпрКаталогов=СоздатьОбъект("Справочник.Каталоги");

СпрКаталогов.ВыбратьЭлементы();

Пока СпрКаталогов.ПолучитьЭлемент() = 1 Цикл

Если СпрКаталогов.ЭтоГруппа() = 1 Тогда Продолжить КонецЕсли;

СписокКаталоговДляВыбора.ДобавитьЗначение(СпрКаталогов.ТекущийЭлемент());

КонецЦикла;

Зн = ""; Поз = "";

Если СписокКаталоговДляВыбора.ВыбратьЗначение(Зн, "", Поз,,1) = 0 Тогда

Возврат КонецЕсли;

ПрайсЛист=СписокКаталоговДляВыбора.ПолучитьЗначение(Поз);

СохранитьЗначение("ПрайсЛист", ПрайсЛист);

КонецЕсли;

Если ПрайсЛист = "По справочнику 'Прайс-лист'" Тогда

глПодбор(Контекст, "прайс_лист", "ДляПодбора");

Иначе

СписокПараметров=СоздатьОбъект("СписокЗначений");

СписокПараметров.ДобавитьЗначение(ПрайсЛист, "Каталог");

ОткрытьПодбор("Обработка.РаботаСКаталогомXML",,СписокПараметров, 1);

КонецЕсли;

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

//*************************************************************Процедура ПриЗаписи() //Предопределенная процедура

Если глМожноЗаписатьДокумент(Контекст)=0 Тогда

СтатусВозврата(0);

ИначеЕсли глКонтрольДатыДокумента(Контекст, НачальнаяДатаДокумента)=1 Тогда

СтатусВозврата(0);

КонецЕсли;

КонецПроцедуры// ПриЗаписи

//************************************************************

Процедура ПриЗакрытии() //Предопределенная процедура

КонецПроцедуры// ПриЗакрытии

//************************************************************

//Инициализирум список действий по кнопке "Действия"

СписокДействий = СоздатьОбъект("СписокЗначений");

СписокДействий.ДобавитьЗначение("Структура подчиненности");

СписокДействий.ДобавитьЗначение("Отчет о движениях документа");

//СписокДействий.ДобавитьЗначение("Отчет о бухгалтерских проводках");

СписокДействий.ДобавитьЗначение("Обновление цен в справочнике");

СписокДействий.ДобавитьЗначение("Ввести на основании");

СписокДействий.ДобавитьЗначение("Открыть в журнале");

СписокДействий.ДобавитьЗначение("Выгрузить (отправить по эл.почте)").

Соседние файлы в папке диплом