Разработка информационно-аналитической системы проведения маркетинговых исследований для функционирования на предприятии ТОО "Десятка"

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 20.05.2013
Размер файла 258,8 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Процедура ПроцентПриИзменении(Элемент)

РознЦена = Цена*(Процент/100+1);

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

Процедура Печать1(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК(Печать1)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

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

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

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

Выборка = Справочники.Номенклатура.ВыбратьИерархически();

Пока Выборка.Следующий() = Истина Цикл

Объект = Выборка.ПолучитьОбъект();

Если Объект.ЭтоГруппа = Истина Тогда

Область = Макет.ПолучитьОбласть("Группа");

Область.Параметры.Код = Объект.Код;

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

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

Иначе

Область = Макет.ПолучитьОбласть("Элемент");

Область.Параметры.Код = Объект.Код;

Область.Параметры.Шифр = Объект.Шифр;

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

Область.Параметры.ЕдИзм = Объект.ЕдИзм;

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

Область.Параметры.Процент = Объект.Процент;

Область.Параметры.Цена = Объект.Цена;

Область.Параметры.РознЦена = Объект.РознЦена;

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

КонецЕсли;

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_СПИСОК

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

Процедура СправочникСписокПриАктивизацииСтроки(Элемент)

ЭлементыФормы.СправочникДерево.ТекущаяСтрока = ЭлементыФормы.СправочникСписок.ТекущийРодитель;

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

Процедура СписокПриАктивизацииСтроки(Элемент)

ЭлементыФормы.СправочникДерево.ТекущаяСтрока = ЭлементыФормы.СправочникСписок.ТекущийРодитель;

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

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

// ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ УПРАВЛЕНИЯ ВНЕШНИМ ВИДОМ ФОРМЫ

// Процедура управляет доступностью/видимостью элементов формы

//

Процедура ДоступностьЭлементовФормы(СтрокаТЧ, ФормаТЧ)

Если СтрокаТЧ = Неопределено Тогда

Возврат;

КонецЕсли;

//Если НЕ ЗначениеНеЗаполнено(СтрокаТЧ.Номенклатура) Тогда

// //КолонкаХарактеристикаНоменклатуры = ФормаТЧ.Колонки.ХарактеристикаНоменклатуры;

// Если ТипЗнч(СтрокаТЧ.Номенклатура) = Тип("СправочникСсылка.Номенклатура") Тогда

// Если СтрокаТЧ.Номенклатура.ВестиУчетПоХарактеристикам

// ИЛИ НЕ ЗначениеНеЗаполнено(СтрокаТЧ.ХарактеристикаНоменклатуры) Тогда

// КолонкаХарактеристикаНоменклатуры.Доступность = Истина;

// Иначе

// КолонкаХарактеристикаНоменклатуры.Доступность = Ложь;

// КонецЕсли;

// Иначе

// КолонкаХарактеристикаНоменклатуры.Доступность = Ложь;

// КонецЕсли;

//КонецЕсли;

КонецПроцедуры // ДоступностьЭлементовФормы()

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

ЭлементыФормы.ДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

ЭлементыФормы.НадписьДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

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

Процедура СостояниеПриИзменении(Элемент)

Если Состояние = Перечисления.СостоянияОбъектов.Утвержден Тогда

ДатаУтверждения = РабочаяДата;

Иначе

ДатаУтверждения = Неопределено;

КонецЕсли;

ЭлементыФормы.ДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

ЭлементыФормы.НадписьДатаУтверждения.Видимость = (Состояние = Перечисления.СостоянияОбъектов.Утвержден);

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

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

// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ТЧ ИСХОДНЫЕ КОМПЛЕКТУЮЩИЕ

// Процедура - обработчик события "ПриАктивизацииСтроки" табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеПриАктивизацииСтроки(Элемент)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ИсходныеКомплектующие);

КонецПроцедуры // ИсходныеКомплектующиеПриАктивизацииСтроки()

// Процедура - обработчик события "ПриНачалеРедактирования" табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеПриНачалеРедактирования(Элемент, НоваяСтрока)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ИсходныеКомплектующие);

КонецПроцедуры // ИсходныеКомплектующиеПриНачалеРедактирования()

// Процедура - обработчик события "ПриИзменении" вида норматива табличной части "Исходные комплектующие".

//

//Процедура ИсходныеКомплектующиеВидНормативаПриИзменении(Элемент)

//

// Если Элемент.Значение = Перечисления.ВидыНормативовНоменклатуры.Комплектующая Тогда

// ПустаяНоменклатура = Справочники.Номенклатура.ПустаяСсылка();

// Иначе

// ПустаяНоменклатура = Справочники.НоменклатурныеУзлы.ПустаяСсылка();

// КонецЕсли;

//

// Если ТипЗнч(ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.Номенклатура) <> ТипЗнч(ПустаяНоменклатура) Тогда

// ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.Номенклатура = ПустаяНоменклатура;

// ИсходныеКомплектующиеНоменклатураПриИзменении(Элемент);

// КонецЕсли;

//

//КонецПроцедуры // ИсходныеКомплектующиеВидНормативаПриИзменении()

// Процедура - обработчик события "ПриИзменении" номенклатуры табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные;

Если СтрокаТабличнойЧасти.Номенклатура <> СтрокаТабличнойЧасти.ЕдиницаИзмерения.Владелец Тогда

СтрокаТабличнойЧасти.ЕдиницаИзмерения = Неопределено;

КонецЕсли;

//Если ТипЗнч(СтрокаТабличнойЧасти.Номенклатура) = Тип("СправочникСсылка.Номенклатура")

// И НЕ ЗначениеНеЗаполнено(СтрокаТабличнойЧасти.Номенклатура) Тогда

// СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.ЕдиницаХраненияОстатков;

// //СтрокаТабличнойЧасти.СтатьяЗатрат = СтрокаТабличнойЧасти.Номенклатура.СтатьяЗатрат;

//КонецЕсли;

ДоступностьЭлементовФормы(СтрокаТабличнойЧасти, ЭлементыФормы.ИсходныеКомплектующие);

КонецПроцедуры // ИсходныеКомплектующиеНоменклатураПриИзменении()

// Процедура - обработчик события "Очистка" номенклатуры табличной части "Исходные комплектующие".

//

//Процедура ИсходныеКомплектующиеНоменклатураОчистка(Элемент, СтандартнаяОбработка)

//

// Если ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.ВидНорматива = Перечисления.ВидыНормативовНоменклатуры.Комплектующая Тогда

// Элемент.Значение = Справочники.Номенклатура.ПустаяСсылка();

// Иначе

// Элемент.Значение = Справочники.НоменклатурныеУзлы.ПустаяСсылка();

// КонецЕсли;

//

// ИсходныеКомплектующиеНоменклатураПриИзменении(Элемент);

//

// СтандартнаяОбработка = ЛОЖЬ;

//

//КонецПроцедуры // ИсходныеКомплектующиеНоменклатураОчистка()

// Процедура - обработчик события "НачалоВыбора" единицы измерения табличной части "Исходные комплектующие".

//

Процедура ИсходныеКомплектующиеЕдиницаИзмеренияНачалоВыбора(Элемент, СтандартнаяОбработка)

Если ЗначениеНеЗаполнено(ЭлементыФормы.ИсходныеКомплектующие.ТекущиеДанные.Номенклатура) Тогда

СтандартнаяОбработка = Ложь;

Возврат;

КонецЕсли;

КонецПроцедуры // ИсходныеКомплектующиеЕдиницаИзмеренияНачалоВыбора()

// Процедура - обработчик события "НачалоВыбораИзСписка" номера операции маршрута табличной части "Исходные комплектующие".

//

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

// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ РЕКВИЗИТОВ ТЧ ВЫХОДНЫЕ ИЗДЕЛИЯ

// Процедура - обработчик события "ПриАктивизацииСтроки" табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияПриАктивизацииСтроки(Элемент)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ВыходныеИзделия);

КонецПроцедуры // ВыходныеИзделияПриАктивизацииСтроки()

// Процедура - обработчик события "ПриНачалеРедактирования" табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияПриНачалеРедактирования(Элемент, НоваяСтрока)

ДоступностьЭлементовФормы(Элемент.ТекущиеДанные, ЭлементыФормы.ВыходныеИзделия);

КонецПроцедуры // ВыходныеИзделияПриНачалеРедактирования()

// Процедура - обработчик события "ПриИзменении" номенклатуры табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ВыходныеИзделия.ТекущиеДанные;

//Если СтрокаТабличнойЧасти.Номенклатура <> СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры.Владелец Тогда

// СтрокаТабличнойЧасти.ХарактеристикаНоменклатуры = Неопределено;

//КонецЕсли;

Если СтрокаТабличнойЧасти.Номенклатура <> СтрокаТабличнойЧасти.ЕдиницаИзмерения.Владелец Тогда

СтрокаТабличнойЧасти.ЕдиницаИзмерения = Неопределено;

КонецЕсли;

//Если НЕ ЗначениеНеЗаполнено(СтрокаТабличнойЧасти.Номенклатура) Тогда

// СтрокаТабличнойЧасти.ЕдиницаИзмерения = СтрокаТабличнойЧасти.Номенклатура.ЕдиницаХраненияОстатков;

//КонецЕсли;

ДоступностьЭлементовФормы(СтрокаТабличнойЧасти, ЭлементыФормы.ВыходныеИзделия);

КонецПроцедуры // ВыходныеИзделияНоменклатураПриИзменении()

// Процедура - обработчик события "Очистка" номенклатуры табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияНоменклатураОчистка(Элемент, СтандартнаяОбработка)

ВыходныеИзделияНоменклатураПриИзменении(Элемент);

КонецПроцедуры // ВыходныеИзделияНоменклатураОчистка()

// Процедура - обработчик события "НачалоВыбора" единицы измерения табличной части "Выходные изделия".

//

Процедура ВыходныеИзделияЕдиницаИзмеренияНачалоВыбора(Элемент, СтандартнаяОбработка)

Если ЗначениеНеЗаполнено(ЭлементыФормы.ВыходныеИзделия.ТекущиеДанные.Номенклатура) Тогда

СтандартнаяОбработка = Ложь;

Возврат;

КонецЕсли;

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

// Процедура - обработчик события ПриЗакрытии

//

Процедура ПриЗакрытии()

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

Параметры.Вставить("ЗапрашиватьКоличество", ЗапрашиватьКоличество);

СохранитьЗначение("СпецификацииНоменклатуры_ФормаПодбора_Параметры", Параметры);

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

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

//

Процедура ПриОткрытии()

Параметры = ВосстановитьЗначение("СпецификацииНоменклатуры_ФормаПодбора_Параметры");

Если Не Параметры = Неопределено Тогда

Если Параметры.Свойство("ЗапрашиватьКоличество") Тогда

ЗапрашиватьКоличество = Параметры.ЗапрашиватьКоличество;

Иначе

ЗапрашиватьКоличество = Истина;

КонецЕсли;

Иначе

ЗапрашиватьКоличество = Истина;

КонецЕсли;

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

// Процедура - обработчик события ВыборЗначения

//

Процедура СправочникСписокВыборЗначения(Элемент, СтандартнаяОбработка, Значение)

СтандартнаяОбработка = ЛОжь;

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

Параметры.Вставить("Спецификация", Значение[0]);

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

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

Если Не ВвестиЧисло(Количество, "Укажите количество", 15, 3) Тогда

Возврат;

КонецЕсли;

КонецЕсли;

Параметры.Вставить("Количество", Количество);

ОповеститьОВыборе(Параметры);

КонецПроцедуры // СправочникСписокВыборЗначения()

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.Цена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

МатериалыКоличествоПриИзменении(Элемент);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "КС-";

УстановитьНовыйНомер(ПрефиксНомера);

ЭлементыФормы.НаимПрих.Значение="ПН-"+1+"/"+ЭлементыФормы.Номер.Значение;

КонецЕсли;

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

Процедура ОсновныеДействияФормыПечать(Кнопка)

Печать();

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

Процедура Кнопка1Нажатие(Элемент)

ФормаДокумента = Документы.ПриходнаяНакладная.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

Процедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналПриходная.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура Кнопка1Нажатие(Элемент)

ФормаДокумента = Документы.РасходнаяНакладная.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

Процедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналРасходная.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.МатериалыТТН.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.РознЦена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

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

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловПТООбороты.Материал,

| ОстаткиМатериаловПТООбороты.КоличествоПриход,

| ОстаткиМатериаловПТООбороты.КоличествоРасход

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.Обороты КАК ОстаткиМатериаловПТООбороты";

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

Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

Если ВыборкаРезультатаЗапроса.Материал = СтрокаТабличнойЧасти.Номенклатура Тогда

СтрокаТабличнойЧасти.КоличествоОст = ВыборкаРезультатаЗапроса.КоличествоПриход-

ВыборкаРезультатаЗапроса.КоличествоРасход;

КонецЕсли;

КонецЦикла;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.МатериалыТТН.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

ТТН();

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

Процедура ОсновныеДействияФормыЗаявкаВМагазин(Кнопка)

Документы.ЗаявкаВМагазин.ПолучитьФормуНовогоДокумента().Открыть();

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

Процедура ОсновныеДействияФормыОстатки(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "РСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

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

Функция ПроверитьТЧ ()

СтрокаТабЧасти = ЭлементыФормы.МатериалыТТН.ТекущиеДанные;

флагЗаписи = Истина;

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

Запрос.Текст =

"ВЫБРАТЬ РАЗЛИЧНЫЕ

| ОстаткиМатериаловПТООстаткиИОбороты.Материал КАК Материал,

| ОстаткиМатериаловПТООстаткиИОбороты.КоличествоКонечныйОстаток КАК Остаток

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.ОстаткиИОбороты КАК ОстаткиМатериаловПТООстаткиИОбороты

|ИТОГИ

| СУММА(Остаток)

|ПО

| Материал";

Результат = Запрос.Выполнить();

ТЗ = Результат.Выгрузить();

Для каждого СтрокаТЗ Из ТЗ Цикл

Если СтрокаТабЧасти.Номенклатура = СтрокаТЗ.Материал Тогда

Если СтрокаТабЧасти.Количество < СтрокаТЗ.Остаток Тогда

Продолжить;

Иначе

флагЗаписи = Ложь;

Сообщить("На складе " + СтрокаТЗ.Материал+ "осталось: "+СтрокаТЗ.Остаток);

Прервать;

КонецЕсли;

КонецЕсли;

КонецЦикла;

Возврат флагЗаписи

КонецФункции

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

ВсеВпорядке = ПроверитьТЧ ();

Если ДопСоглашение.Пустая() или Объект.Пустая() Тогда

Предупреждение("Не заполненны значения дополнительного соглашения и наименование объекта");

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

РежимЗаписи=РежимЗаписиДокумента.ОтменаПроведения;

Иначе

//Отказ=Ложь;

РежимЗаписи=РежимЗаписиДокумента.Проведение;

КонецЕсли;

Если ВсеВпорядке = Ложь тогда

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

РежимЗаписи=РежимЗаписиДокумента.ОтменаПроведения;

иначе

Отказ =Ложь;

КонецЕсли;

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

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

Макет = Документы.РасходнаяНакладная.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

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

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

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.Объект = Объект;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Подрядчик = Подрядчик;

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

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

// МатериалыТТН

Область = Макет.ПолучитьОбласть("МатериалыТТНШапка");

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

Для Каждого ТекСтрокаМатериалыТТН Из МатериалыТТН Цикл

Область = Макет.ПолучитьОбласть("МатериалыТТН");

Область.Параметры.Номенклатура = ТекСтрокаМатериалыТТН.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалыТТН.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаМатериалыТТН.Количество;

Область.Параметры.Цена = ТекСтрокаМатериалыТТН.Цена;

Область.Параметры.Сумма = ТекСтрокаМатериалыТТН.Сумма;

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

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

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

Процедура ОсновныеДействияФормыПечатьРасх(Кнопка)

МакетРасх = Документы.РасходнаяНакладная.ПолучитьМакет("Печать");

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

Макет = Документы.РасходнаяНакладная.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

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

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

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.Объект = Объект;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Подрядчик = Подрядчик;

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

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

// МатериалыТТН

Область = Макет.ПолучитьОбласть("МатериалыТТНШапка");

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

Для Каждого ТекСтрокаМатериалыТТН Из МатериалыТТН Цикл

Область = Макет.ПолучитьОбласть("МатериалыТТН");

Область.Параметры.Номенклатура = ТекСтрокаМатериалыТТН.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалыТТН.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаМатериалыТТН.Количество;

Область.Параметры.Цена = ТекСтрокаМатериалыТТН.Цена;

Область.Параметры.Сумма = ТекСтрокаМатериалыТТН.Сумма;

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

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура Заявка(Элемент)

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

Макет = Документы.ЗаявкаВМагазин.ПолучитьМакет("Заявка");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

Область.Параметры.Заявка = Заявка;

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

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

Область.Параметры.Организация = Организация;

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

// Материалы

Область = Макет.ПолучитьОбласть("МатериалыШапка");

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

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

Область = Макет.ПолучитьОбласть("Материалы");

Область.Параметры.Номенклатура = ТекСтрокаМатериалы.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалы.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаМатериалы.Количество;

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

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "СКСЗ-";

УстановитьНовыйНомер(ПрефиксНомера);

ЭлементыФормы.Заявка.Значение = "ЗМ-"+дата;

КонецЕсли;

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

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

Запрос.Текст =

"ВЫБРАТЬ

| ОстаткиМатериаловПТООбороты.Материал,

| ОстаткиМатериаловПТООбороты.КоличествоПриход,

| ОстаткиМатериаловПТООбороты.КоличествоРасход

|ИЗ

| РегистрНакопления.ОстаткиМатериаловПТО.Обороты КАК ОстаткиМатериаловПТООбороты";

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

Пока ВыборкаРезультатаЗапроса.Следующий() Цикл

Если ВыборкаРезультатаЗапроса.Материал = СтрокаТабличнойЧасти.Номенклатура Тогда

СтрокаТабличнойЧасти.Остаток = ВыборкаРезультатаЗапроса.КоличествоПриход-

ВыборкаРезультатаЗапроса.КоличествоРасход;

КонецЕсли;

КонецЦикла;

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ПлановыеМатериалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.РознЦена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

ПлановыеМатериалыЦенаПриИзменении(Элемент);

//СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

//Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

// СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

//КонецЕсли;

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

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

Подрядчик = Справочники.Контрагенты.НайтиПоКоду(4);

//СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если ДопСоглашение.Пустая() или Объект.Пустая() Тогда

Предупреждение("Не заполненны значения дополнительного соглашения и наименование объекта");

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

РежимЗаписи=РежимЗаписиДокумента.ОтменаПроведения;

Иначе

//Отказ=Ложь;

РежимЗаписи=РежимЗаписиДокумента.Проведение;

КонецЕсли;

//Договор = НомерДоговора;

//ДопСогл = ДопСоглашение;

//Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

//НаклРасх = СтрокаТаблицыЗатраты.Всего * ПолеВводаПроцентНакл/100;

//СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход;

//КонецЕсли;

//СуммаПрописью = ЧислоПрописью(СуммаДок,,"тенге, тенге,тенге, м,тиин, тиин, тиин,м, 2");

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

Процедура ПлановыеМатериалыЦенаПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.ПлановыеМатериалы.ТекущиеДанные;

//СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

//Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

// СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

//КонецЕсли;

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "ПСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

//СтрокаЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Договор = НомерДоговора;

ДопСогл = ДопСоглашение;

//СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

//ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

Подрядчик = Справочники.Контрагенты.НайтиПоКоду(4);

ПолеВводаМашин = Машины.Итог("ВсегоМаш");

СуммаРабот = ДопРаботы.Итог("Стоимость");

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

Процедура ЗатратыСметПотребностьПриИзменении(Элемент)

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

СтрокаТаблицыЗатраты.Всего = СтрокаТаблицыЗатраты.СметПотребность*СтрокаТаблицыЗатраты.ТекущУровень;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

НаклРасх = СтрокаТаблицыЗатраты.Всего * ПолеВводаПроцентНакл/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура ПолеВводаПроцентНаклПриИзменении(Элемент)

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

НаклРасх = СтрокаТаблицыЗатраты.Всего * ПолеВводаПроцентНакл/100;

//СметнаяПрибль = (СтрокаТаблицыЗатраты.Всего + НаклРасх + ПолеВводаМашин)*ПолеВводаПроцентСметн/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

НорматТруд = НаклРасх * ПолеВводаПроцентНорм/100;

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

Процедура ПолеВводаПроцент2ПриИзменении(Элемент)

НорматТруд = НаклРасх * ПолеВводаПроцентНорм/100;

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

Процедура ПолеВводаПроцент3ПриИзменении(Элемент)

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СметнаяПрибль = (СтрокаТаблицыЗатраты.Всего + НаклРасх + ПолеВводаМашин)*ПолеВводаПроцентСметн/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура МашиныСметПотрМашПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Машины.ТекущиеДанные;

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

СтрокаТабличнойЧасти.ВсегоМаш = СтрокаТабличнойЧасти.СметПотрМаш*СтрокаТабличнойЧасти.ТекущУрМаш;

ПолеВводаМашин = Машины.Итог("ВсегоМаш");

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СметнаяПрибль = (СтрокаТаблицыЗатраты.Всего + НаклРасх + ПолеВводаМашин)*ПолеВводаПроцентСметн/100;

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура МатериалыТТНПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)

СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

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

Процедура Панель1ПриСменеСтраницы(Элемент, ТекущаяСтраница)

СуммаМатериалов = ПлановыеМатериалы.Итог("Сумма");

ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

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

Процедура ПолеВводаПроцентПриИзменении(Элемент)

ТрансРасход = СуммаМатериалов * ПолеВводаПроцент/100;

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура ПлановоеКолвоМатер(Элемент)

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

Макет = Документы.Плановые.ПолучитьМакет("ПлановоеКолвоМатер");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

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

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

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Объект = Объект;

Область.Параметры.Подрядчик = Подрядчик;

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.ДопСоглашение = ДопСоглашение;

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

// ПлановыеМатериалы

Область = Макет.ПолучитьОбласть("ПлановыеМатериалыШапка");

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

Для Каждого ТекСтрокаПлановыеМатериалы Из ПлановыеМатериалы Цикл

Область = Макет.ПолучитьОбласть("ПлановыеМатериалы");

Область.Параметры.Номенклатура = ТекСтрокаПлановыеМатериалы.Номенклатура;

Область.Параметры.ЕдИзм = ТекСтрокаПлановыеМатериалы.ЕдИзм;

Область.Параметры.Количество = ТекСтрокаПлановыеМатериалы.Количество;

Область.Параметры.Цена = ТекСтрокаПлановыеМатериалы.Цена;

Область.Параметры.Сумма = ТекСтрокаПлановыеМатериалы.Сумма;

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

КонецЦикла;

// Подвал

Область = Макет.ПолучитьОбласть("Подвал");

Область.Параметры.ТрансРасход = ТрансРасход;

Область.Параметры.СуммаМатериалов = СуммаМатериалов;

Область.Параметры.Заказчик1 = Заказчик;

Область.Параметры.Подрядчик1 = Подрядчик;

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

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ДЦ(Элемент)

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

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

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Подрядчик = Подрядчик;

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

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

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

Область.Параметры.Объект = Объект;

Область.Параметры.НомерДоговора = НомерДоговора;

Область.Параметры.ДопСоглашение = ДопСоглашение;

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

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

// ШапкаДЦ

Область = Макет.ПолучитьОбласть("ШапкаДЦ");

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

//ДЦ

Область = Макет.ПолучитьОбласть("ДЦ");

СтрокаЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

Область.Параметры.Затратыраб = СтрокаЗатраты.Всего;

Область.Параметры.НаклРасх = СтрокаЗатраты.Всего * ПолеВводаПроцентНакл/100;

КонецЕсли;

Область.Параметры.Затратымашин = Машины.Итог("ВсегоМаш");

Область.Параметры.СуммаЗатрат = Область.Параметры.Затратыраб+Область.Параметры.НаклРасх+ Область.Параметры.Затратымашин;

Область.Параметры.процент = ПолеВводаПроцентСметн;

Область.Параметры.СметнаяПрибль = Область.Параметры.СуммаЗатрат*ПолеВводаПроцентСметн/100;

Область.Параметры.СуммаДЗ = Область.Параметры.СуммаЗатрат+ Область.Параметры.СметнаяПрибль;

Область.Параметры.СуммаМТР = ПлановыеМатериалы.Итог("Сумма")*(ПолеВводаПроцент/100+1);

//Область.Параметры.СуммаДок = Область.Параметры.СуммаМТР+Область.Параметры.СуммаДЗ;

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

//Дополнительные работы

Для Каждого ТекСтрокаДопРаботы Из ДопРаботы Цикл

Область = Макет.ПолучитьОбласть("ДопРаботы");

Область.Параметры.НаимДопРабот = ТекСтрокаДопРаботы.Наименование;

Область.Параметры.СуммаДопРабот = ТекСтрокаДопРаботы.Стоимость;

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

КонецЦикла;

//Всего

Область = Макет.ПолучитьОбласть("Всего");

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

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

// Подвал

Область = Макет.ПолучитьОбласть("Подвал");

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

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ДопРаботыНаименованиеПриИзменении(Элемент)

СуммаРабот = ДопРаботы.Итог("Стоимость");

СтрокаТаблицыЗатраты = ЭлементыФормы.Затраты.ТекущиеДанные;

Если СтрокаТаблицыЗатраты.Услуга = Перечисления.Затраты.ЗатратыРабочих Тогда

СуммаДок = СтрокаТаблицыЗатраты.Всего + НаклРасх+ПолеВводаМашин+СметнаяПрибль+СуммаМатериалов+ТрансРасход+СуммаРабот;

КонецЕсли;

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

Процедура ОсновныеДействияФормыДействие2(Кнопка)

ДоговорМ = ПолучитьМакет("Макет");

MSWord = ДоговорМ.Получить();

НаимЗаказ = Заказчик;

НаимПодр = Подрядчик;

НомерДог = Договор;

НаимРабот = НаименованиеРабот;

Попытка

Документ = MSWord.Application.Documents(1);

Документ.Activate();

Замена = Документ.Content.Find;

Замена.Execute("<НомерДог>",

Ложь,Истина,Ложь,,,Истина,,Ложь,НомерДог);

//Замена = Документ.Content.Find;

//Замена.Execute("<НаимЗаказ>",

//Ложь,Истина,Ложь,,,Истина,,Ложь,НаимЗаказ);

//Замена.Execute("<НаимПодр>",

//Ложь,Истина,Ложь,,,Истина,,Ложь,НаимПодр);

//Замена.Execute("<НаимРабот>",

//Ложь,Истина,Ложь,,,Истина,,Ложь,НаимРабот);

MSWord.Application.Visible = Истина;

MSWord.Activate();

Исключение

Сообщить(ОписаниеОшибки());

MSWord.Application.Quit();

КонецПопытки;

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

Процедура ОсновныеДействияФормыВыгрузка(Кнопка)

Режим = РежимДиалогаВыбораФайла.Сохранение;

ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);

//ДиалогВыбораФайла.ПроверятьСуществованиеФайла = Истина;

ДиалогВыбораФайла.МножественныйВыбор = Ложь;

ДиалогВыбораФайла.Заголовок = "Укажите путь к каталогу ";

ДиалогВыбораФайла.Каталог = "С:\";

Если ДиалогВыбораФайла.Выбрать() Тогда

Путь = ДиалогВыбораФайла.Каталог;

КонецЕсли;

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

Запрос.Текст=

"ВЫБРАТЬ

| ПлановыеПлановыеМатериалы.Номенклатура,

| ПлановыеПлановыеМатериалы.ЕдИзм,

| ПлановыеПлановыеМатериалы.Количество,

| ПлановыеПлановыеМатериалы.Номенклатура.Шифр Как Шифр,

| Плановые.Номер

|ИЗ

| Документ.Плановые.ПлановыеМатериалы КАК ПлановыеПлановыеМатериалы

| ЛЕВОЕ СОЕДИНЕНИЕ Документ.Плановые КАК Плановые

| ПО ПлановыеПлановыеМатериалы.Ссылка = Плановые.Ссылка

|ГДЕ

| Плановые.Номер = &НомерДок";

Запрос.УстановитьПараметр("НомерДок", Номер);

Результат = Запрос.Выполнить();

Текст = Новый ТекстовыйДокумент;

ВыборкаЗапроса = Результат.Выбрать();

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

Стр=СтрЗаменить(ВыборкаЗапроса.Номенклатура,Символ(100),"%квч%");

Шифр=Строка(ВыборкаЗапроса.Шифр);

//ЕдИзмер=СтрЗаменить(ВыборкаЗапроса.ЕдИзм,Символ(100),"%квч%");

//Колво=СтрЗаменить(ВыборкаЗапроса.Количество,Символ(100),"%квч%");

ЕдИзмер=Строка(ВыборкаЗапроса.ЕдИзм);

Колво=Строка(ВыборкаЗапроса.Количество);

Текст.ДобавитьСтроку(Шифр+"'"+Колво+"'"+"'"+Стр+"'"+ЕдИзмер+"*");

КонецЦикла;

//Текст.Записать ("c:\plan.txt");

Текст.Записать (ДиалогВыбораФайла.ПолноеИмяФайла+".txt");

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

Процедура СчитываниеНажатие(Элемент)

СтрокаТЧ = ЭлементыФормы.ПлановыеМатериалы.ТекущиеДанные;

Док = ПолучитьCOMОбъект("C:\OlyaTsoy\Diplom\mater.xls");

КоличествоСтраниц = 1;

Для ТекНомер = 1 По КоличествоСтраниц Цикл

Заказчик=Док.Sheets(ТекНомер).Cells(1,1).Value;

Номенклатура = Док.Sheets(ТекНомер).Cells(2,2).Value;

Цена = Док.Sheets(ТекНомер).Cells(2,3).Value;

счСтроки = 3;

Сообщить(Строка(Номенклатура) + "-" + Строка(Цена));

Пока СокрЛП(Номенклатура) <> "" Цикл // можно использовать другой признак окончания данных на листе

Номенклатура = Док.Sheets(ТекНомер).Cells(СчСтроки,2).Value;

Цена = Док.Sheets(ТекНомер).Cells(СчСтроки,3).Value;

Сообщить(Строка(Номенклатура) + "-" + Строка(Цена));

счСтроки = счСтроки + 1;

КонецЦикла;

//СтрокаТЧ.Номенклатура = Номенклатура;

//СтрокаТЧ.Цена = Цена;

КонецЦикла;

Док.Application.Quit();

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

Процедура МашиныПослеУдаления(Элемент)

ПолеВводаМашин = Машины.Итог("ВсегоМаш");

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

Процедура НовГрафРабКнопкаНажатие(Элемент)

ФормаДокумента = Документы.ГрафикРабот.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

роцедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналГрафикРабот.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура ОсновныеДействияФормыДиаграмма(Кнопка)

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

Запрос.Текст =

"ВЫБРАТЬ

| ГрафикРабот.Дата,

| ГрафикРабот.Организация,

| ГрафикРабот.Заказчик,

| ГрафикРаботГрафик.ВидРабот,

| ГрафикРаботГрафик.Длительность,

| ГрафикРаботГрафик.ДатаНачала,

| ГрафикРаботГрафик.ДатаОкончания

|ИЗ

| Документ.ГрафикРабот.График КАК ГрафикРаботГрафик

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ГрафикРабот КАК ГрафикРабот

| ПО ГрафикРаботГрафик.Ссылка = ГрафикРабот.Ссылка

|ГДЕ

| ГрафикРабот.Номер = &Номер";

Запрос.УстановитьПараметр("Номер",Номер);

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

Диаграмма = ЭлементыФормы.ДиаграммаГанта;

Диаграмма.Обновление = Ложь;

Диаграмма.Очистить();

Диаграмма.ОтображатьЗаголовок = Ложь;

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

ТекущаяСерия = Диаграмма.УстановитьСерию("Планы работ", "Планы работ");

ТекущаяТочка = Диаграмма.УстановитьТочку(ВыборкаРезультата.ВидРабот,ВыборкаРезультата.ВидРабот);

ТекущееЗначение = Диаграмма.ПолучитьЗначение(ТекущаяТочка,ТекущаяСерия);

ТекущийИнтервал = ТекущееЗначение.Добавить();

ТекущийИнтервал.Начало = ВыборкаРезультата.ДатаНачала;

ТекущийИнтервал.Конец = ВыборкаРезультата.ДатаОкончания;

Неделя = 3600*24*7;

Выходные = 3600*48;

МаксимальнаяДата = ТекущийИнтервал.Начало+Неделя*4;

ТекДата = ТекущийИнтервал.Начало;

Пока ТекДата<=МаксимальнаяДата Цикл

Конец = НачалоНедели(ТекДата);

Начало=Конец-Выходные;

Диаграмма.ИнтервалыФона.Добавить(Начало,Конец);

ТекДата = ТекДата+Неделя;

КонецЦикла;

ТекущийИнтервал.Текст = ВыборкаРезультата.Организация;

КонецЦикла;

Диаграмма.Обновление = Истина;

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

Процедура ГрафикТрудоёмкостьПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.График.ТекущиеДанные;

СтрокаТабличнойЧасти.Длительность = СтрокаТабличнойЧасти.Трудоёмкость/КоличествоЧеловек/8;

СтрокаТабличнойЧасти.ДатаОкончания = КонецДня(Дата(СтрокаТабличнойЧасти.ДатаНачала + (СтрокаТабличнойЧасти.Длительность*86400)));

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

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

Организация = Справочники.Контрагенты.НайтиПоКоду(4);

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "ГрСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

ОбщаяДлит = График.Итог("Длительность");

СуммаПрописью = ЧислоПрописью(ОбщаяДлит,,"день, дня, дней, 2");

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

Процедура СформироватьОтчет(ДиаграммаГанта) Экспорт

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

Запрос.Текст =

"ВЫБРАТЬ

| ГрафикРабот.Дата,

| ГрафикРабот.Организация,

| ГрафикРабот.Заказчик,

| ГрафикРаботГрафик.ВидРабот,

| ГрафикРаботГрафик.Длительность,

| ГрафикРаботГрафик.ДатаНачала,

| ГрафикРаботГрафик.ДатаОкончания

|ИЗ

| Документ.ГрафикРабот.График КАК ГрафикРаботГрафик

| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ГрафикРабот КАК ГрафикРабот

| ПО ГрафикРаботГрафик.Ссылка = ГрафикРабот.Ссылка";

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

//Диаграмма = ЭлементыФормы.ДиаграммаГанта1;

ДиаграммаГанта.Обновление = Ложь;

ДиаграммаГанта.Очистить();

ДиаграммаГанта.ОтображатьЗаголовок = Ложь;

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

ТекущаяСерия = ДиаграммаГанта.УстановитьСерию("Планы работ", "Планы работ");

ТекущаяТочка = ДиаграммаГанта.УстановитьТочку(ВыборкаРезультата.ВидРабот,ВыборкаРезультата.ВидРабот);

ТекущееЗначение = ДиаграммаГанта.ПолучитьЗначение(ТекущаяТочка,ТекущаяСерия);

ТекущийИнтервал = ТекущееЗначение.Добавить();

ТекущийИнтервал.Начало = ВыборкаРезультата.ДатаНачала;

ТекущийИнтервал.Конец = ВыборкаРезультата.ДатаОкончания;

ТекущийИнтервал.Текст = ВыборкаРезультата.Организация;

КонецЦикла;

ДиаграммаГанта.Обновление = Истина;

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

Процедура Печать(Элемент)

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

Макет = Документы.ГрафикРабот.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

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

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

Область.Параметры.Организация = Организация;

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.КоличествоЧеловек = КоличествоЧеловек;

Область.Параметры.ОбщаяДлит = ОбщаяДлит;

Область.Параметры.Договор = Договор;

Область.Параметры.Соглашение = Соглашение;

Область.Параметры.Объект = Объект;

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

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

// График

Область = Макет.ПолучитьОбласть("ГрафикШапка");

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

Для Каждого ТекСтрокаГрафик Из График Цикл

Область = Макет.ПолучитьОбласть("График");

Область.Параметры.ВидРабот = ТекСтрокаГрафик.ВидРабот;

Область.Параметры.Длительность = ТекСтрокаГрафик.Длительность;

Область.Параметры.ДатаНачала = ТекСтрокаГрафик.ДатаНачала;

Область.Параметры.ДатаОкончания = ТекСтрокаГрафик.ДатаОкончания;

Область.Параметры.Трудоёмкость = ТекСтрокаГрафик.Трудоёмкость;

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

КонецЦикла;

// Подвал

Область = Макет.ПолучитьОбласть("Подвал");

Область.Параметры.Заказчик1 = Заказчик;

Область.Параметры.Организация1 = Организация;

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

//Область = Макет.ПолучитьОбласть("ДиаграммаГанта1");

//ТабДок.Вывести(Область);

//СформироватьОтчет(ТабДок.Рисунки.ДиаграммаГанта.Объект);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "КС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

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

Процедура МатериалыНоменклатураПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Номенклатура.РознЦена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Номенклатура.ЕдИзм;

МатериалыКоличествоПриИзменении(Элемент);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ВыходныеФормы.ПолучитьФорму().Открыть();

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

Процедура ПриОткрытии()

Если ЭтоНовый()Тогда

ПрефиксНомера = "ВСКС-";

УстановитьНовыйНомер(ПрефиксНомера);

КонецЕсли;

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

Процедура АктВыпРабКнопкаНажатие(Элемент)

ФормаДокумента = Документы.АктВыполненныхРабот.ПолучитьФормуНовогоДокумента();

ФормаДокумента.Открыть();

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

Процедура Кнопка2Нажатие(Элемент)

ФормаЖурнала = ЖурналыДокументов.ЖурналАктВыпРаб.ПолучитьФорму();

ФормаЖурнала.Открыть();

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

Процедура МатериалыНаименованиеПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

СтрокаТабличнойЧасти.Цена = СтрокаТабличнойЧасти.Наименование.Цена;

СтрокаТабличнойЧасти.ЕдИзм = СтрокаТабличнойЧасти.Наименование.ЕдИзм;

МатериалыКоличествоПриИзменении(Элемент);

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

Процедура МатериалыКоличествоПриИзменении(Элемент)

СтрокаТабличнойЧасти = ЭлементыФормы.Материалы.ТекущиеДанные;

РассчитатьСумму(СтрокаТабличнойЧасти);

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

Процедура ОсновныеДействияФормыДействие(Кнопка)

Отчеты.ОтстаткиМатериалов.ПолучитьФорму().Открыть();

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

Процедура Печать(Элемент)

//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)

// Данный фрагмент построен конструктором.

// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

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

Макет = Документы.АктВыполненныхРабот.ПолучитьМакет("Печать");

// Заголовок

Область = Макет.ПолучитьОбласть("Заголовок");

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

// Шапка

Область = Макет.ПолучитьОбласть("Шапка");

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

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

Область.Параметры.Заказчик = Заказчик;

Область.Параметры.Склад = Склад;

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

// Материалы

Область = Макет.ПолучитьОбласть("МатериалыШапка");

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

Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

Область = Макет.ПолучитьОбласть("Материалы");

Область.Параметры.Наименование = ТекСтрокаМатериалы.Наименование;

Область.Параметры.Количество = ТекСтрокаМатериалы.Количество;

Область.Параметры.Сумма = ТекСтрокаМатериалы.Сумма;

Область.Параметры.ЕдИзм = ТекСтрокаМатериалы.ЕдИзм;

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

КонецЦикла;

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ

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

Процедура ФлажокЗаказчикПриИзменении(Элемент)

Если ФлажокЗаказчик=Истина Тогда

ЭлементыФормы.ПолеЗаказчик.Видимость = 1;

ЭлементыФормы.ПолеОбъект.Видимость = 1;

ФлажокДоговор = Ложь;

ФлажокСоглашение = Ложь;

ЭлементыФормы.ПолеДоговор.Видимость = 0;

ЭлементыФормы.ПолеСоглашение.Видимость = 0;

Иначе

ЭлементыФормы.ПолеЗаказчик.Видимость = 0;

ЭлементыФормы.ПолеОбъект.Видимость = 0;

КонецЕсли;

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

Процедура ФлажокДоговорПриИзменении(Элемент)

Если ФлажокДоговор=Истина Тогда

ЭлементыФормы.ПолеДоговор.Видимость = 1;

ФлажокЗаказчик = Ложь;

ФлажокСоглашение = Ложь;

ЭлементыФормы.ПолеЗаказчик.Видимость = 0;

ЭлементыФормы.ПолеОбъект.Видимость = 0;

ЭлементыФормы.ПолеСоглашение.Видимость = 0;

Иначе

ЭлементыФормы.ПолеДоговор.Видимость = 0;

КонецЕсли;

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

Процедура ФлажокСоглашениеПриИзменении(Элемент)

Если ФлажокСоглашение=Истина Тогда

ЭлементыФормы.ПолеСоглашение.Видимость = 1;

ФлажокЗаказчик = Ложь;

ФлажокДоговор = Ложь;

ЭлементыФормы.ПолеЗаказчик.Видимость = 0;

ЭлементыФормы.ПолеОбъект.Видимость = 0;

ЭлементыФормы.ПолеДоговор.Видимость = 0;

Иначе

ЭлементыФормы.ПолеСоглашение.Видимость = 0;

КонецЕсли;

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

Процедура ВыбПериодНажатие(Элемент)

НастройкаПериода = Новый НастройкаПериода;

НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));

НастройкаПериода.РедактироватьКакИнтервал = Истина;

НастройкаПериода.РедактироватьКакПериод = Истина;

НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;

НастройкаПериода.Редактировать();

НачПериода = НастройкаПериода.ПолучитьДатуНачала();

КонПериода = НастройкаПериода.ПолучитьДатуОкончания();

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

Процедура ДействияФормыпечать(Кнопка)

Если ФлажокЗаказчик=Истина Тогда

Заказчик();

КонецЕсли;

Если ФлажокСоглашение=Истина Тогда

ДопСогл();

КонецЕсли;

Если ФлажокДоговор=Истина Тогда

Договор();

КонецЕсли;

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

Процедура Заказчик()Экспорт

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

Макет = ОтчетОбъект.ПолучитьМакет("Объект");

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

Запрос.Текст =

"ВЫБРАТЬ РАЗЛИЧНЫЕ

| ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл КАК ДопСогл,

| ОстаткиМатериаловОбъектОстаткиИОбороты.Материал КАК Материал,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Материал),

| РасходнаяНакладнаяМатериалыТТН.Цена,

| ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,

| РасходнаяНакладнаяМатериалыТТН.Цена * (ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход) КАК Сумма

|ИЗ

| РегистрНакопления.ОстаткиМатериаловОбъект.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, , , ) КАК ОстаткиМатериаловОбъектОстаткиИОбороты

| ПОЛНОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.МатериалыТТН КАК РасходнаяНакладнаяМатериалыТТН

| ПО ОстаткиМатериаловОбъектОстаткиИОбороты.Материал = РасходнаяНакладнаяМатериалыТТН.Номенклатура

|ГДЕ

| ОстаткиМатериаловОбъектОстаткиИОбороты.Заказчик = &ПолеЗаказчик

| И ОстаткиМатериаловОбъектОстаткиИОбороты.Объект = &ПолеОбъект

|

|УПОРЯДОЧИТЬ ПО

| Материал

|ИТОГИ

| СУММА(Сумма)

|ПО

| ОБЩИЕ,

| ДопСогл

|АВТОУПОРЯДОЧИВАНИЕ";

Запрос.УстановитьПараметр("ДатаНачала", НачПериода);

Запрос.УстановитьПараметр("ДатаОкончания", КонецДня(КонПериода));

Запрос.УстановитьПараметр("ПолеЗаказчик", ПолеЗаказчик);

Запрос.УстановитьПараметр("ПолеОбъект", ПолеОбъект);

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

//ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");

ОбластьДопСогл = Макет.ПолучитьОбласть("ДопСогл");

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

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

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

//ОбластьЗаголовок.Параметры.Номер = ;

ОбластьЗаголовок.Параметры.РабДата = ТекущаяДата();

ТабДок.Вывести(ОбластьЗаголовок);

ОбластьДопСогл.Параметры.Заказчик = ПолеЗаказчик;

ОбластьДопСогл.Параметры.Объект = ПолеОбъект;

ТабДок.Вывести(ОбластьДопСогл);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий(); // Общий итог

ТабДок.Вывести(ОбластьШапкаТаблицы);

ВыборкаДопСоглУровень = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

Пока ВыборкаДопСоглУровень.Следующий() Цикл

ОбластьДопСоглУровень.Параметры.Заполнить(ВыборкаДопСоглУровень);

ТабДок.Вывести(ОбластьДопСоглУровень, ВыборкаДопСоглУровень.Уровень());

ОбластьДопСоглУровеньСумма.Параметры.Заполнить(ВыборкаДопСоглУровень);

ВыборкаДетали = ВыборкаДопСоглУровень.Выбрать();

НомСтроки =1;

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

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ОбластьДетальныхЗаписей.Параметры.НомСтроки = НомСтроки;

НомСтроки = НомСтроки + 1;

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

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

КонецЦикла;

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

//ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

ТабДок.ОтображатьСетку = Ложь;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура ДопСогл()Экспорт

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

Макет = ОтчетОбъект.ПолучитьМакет("Допик");

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

Запрос.Текст =

"ВЫБРАТЬ РАЗЛИЧНЫЕ

| ОстаткиМатериаловОбъектОстаткиИОбороты.Материал КАК Материал,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Материал),

| ОстаткиМатериаловОбъектОстаткиИОбороты.Объект КАК Объект,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Объект),

| ОстаткиМатериаловОбъектОстаткиИОбороты.Материал.ЕдИзм КАК ЕдИзм,

| РасходнаяНакладнаяМатериалыТТН.Цена,

| ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,

| РасходнаяНакладнаяМатериалыТТН.Цена * (ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход) КАК Сумма

|ИЗ

| РегистрНакопления.ОстаткиМатериаловОбъект.ОстаткиИОбороты(&НачПериода, &КонПериода, , , ) КАК ОстаткиМатериаловОбъектОстаткиИОбороты

| ПОЛНОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.МатериалыТТН КАК РасходнаяНакладнаяМатериалыТТН

| ПО ОстаткиМатериаловОбъектОстаткиИОбороты.Материал = РасходнаяНакладнаяМатериалыТТН.Номенклатура

|ГДЕ

| ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл = &ДопСогл

|

|УПОРЯДОЧИТЬ ПО

| Материал

|ИТОГИ

| СУММА(Сумма)

|ПО

| ОБЩИЕ,

| Объект

|АВТОУПОРЯДОЧИВАНИЕ";

Запрос.УстановитьПараметр("ДопСогл", ПолеСоглашение);

Запрос.УстановитьПараметр("КонПериода", КонецДня(КонПериода));

Запрос.УстановитьПараметр("НачПериода", НачПериода);

Результат = Запрос.Выполнить();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");

ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");

// ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");

ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");

ОбластьОбъект = Макет.ПолучитьОбласть("Объект");

ОбластьОбъектСумма = Макет.ПолучитьОбласть("ОбъектСумма");

ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");

ТабДок.Очистить();

ТабДок.Вывести(ОбластьЗаголовок);

ТабДок.Вывести(ОбластьШапкаТаблицы);

ТабДок.НачатьАвтогруппировкуСтрок();

ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

ВыборкаОбщийИтог.Следующий(); // Общий итог

//ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

//ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ВыборкаОбъект = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);

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

ОбластьОбъект.Параметры.Заполнить(ВыборкаОбъект);

ТабДок.Вывести(ОбластьОбъект, ВыборкаОбъект.Уровень());

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

ВыборкаДетали = ВыборкаОбъект.Выбрать();

НомСтроки = 1;

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

ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);

ОбластьДетальныхЗаписей.Параметры.НомСтроки = НомСтроки;

НомСтроки = НомСтроки + 1;

ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());

КонецЦикла;

ТабДок.Вывести(ОбластьОбъектСумма, ВыборкаОбъект.Уровень());

КонецЦикла;

ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);

ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());

ТабДок.ЗакончитьАвтогруппировкуСтрок();

//ТабДок.Вывести(ОбластьПодвалТаблицы);

ТабДок.Вывести(ОбластьПодвал);

ТабДок.ОтображатьСетку = Истина;

ТабДок.Защита = Ложь;

ТабДок.ТолькоПросмотр = Ложь;

ТабДок.ОтображатьЗаголовки = Ложь;

ТабДок.Показать();

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

Процедура Договор()Экспорт

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

Макет = ОтчетОбъект.ПолучитьМакет("Договор");

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

Запрос.Текст =

"ВЫБРАТЬ РАЗЛИЧНЫЕ

| ОстаткиМатериаловОбъектОстаткиИОбороты.Материал КАК Материал,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Материал),

| ОстаткиМатериаловОбъектОстаткиИОбороты.Объект КАК Объект,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.Объект),

| ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл КАК ДопСогл,

| ПРЕДСТАВЛЕНИЕ(ОстаткиМатериаловОбъектОстаткиИОбороты.ДопСогл),

| ОстаткиМатериаловОбъектОстаткиИОбороты.Материал.ЕдИзм КАК ЕдИзм,

| РасходнаяНакладнаяМатериалыТТН.Цена,

| ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоПриход - ОстаткиМатериаловОбъектОстаткиИОбороты.КоличествоРасход КАК КоличествоРасход,


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.