Приложение а
Модуль приложения
Процедура ПриНачалеРаботыСистемы()
ОткрытьФорму=Обработки.Меню.ПолучитьФорму();
ОткрытьФорму.Открыть();
КонецПроцедуры
Общий модуль РаботаСоСправочниками
Процедура РассчитатьСумму(СтрокаТЧ) Экспорт
СтрокаТЧ.Сумма = СтрокаТЧ.Количество * СтрокаТЧ.Цена;
КонецПроцедуры
Модуль формы элемента справочника «ВыполненныеРаботы»
Процедура ВывестиФото(ВыбСтрока)
Если ВыбСтрока <> Неопределено Тогда
Картинка = ВыбСтрока.Фото.Получить();
Если ТипЗнч(Картинка) = Тип("Картинка") тогда
ЭлементыФормы.ПолеКартинки.Картинка = Картинка;
Иначе
ЭлементыФормы.ПолеКартинки.Картинка = Новый Картинка;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура ФотографииПриАктивизацииСтроки(Элемент)
ВыбСтрока = ЭлементыФормы.Фотографии.ТекущаяСтрока;
ВывестиФото(ВыбСтрока);
КонецПроцедуры
Процедура ФотографииНаименованиеПриИзменении(Элемент)
ВыбСтрока = ЭлементыФормы.Фотографии.ТекущаяСтрока;
ВывестиФото(ВыбСтрока);
КонецПроцедуры
Модуль формы документа «ВыполнениеРабот»
Процедура РассчитатьИтоговуюСумму()
СуммаДокумента = ПереченьУслуг.Итог("Сумма")+Материалы.Итог("Сумма");
КонецПроцедуры
Процедура УслугиНаименованиеПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.ПереченьУслуг.ТекущиеДанные;
СтрокаТЧ.Цена = СтрокаТЧ.Наименование.ЦенаЗаЕдиницу;
СтрокаТЧ.ЕдиницаИзмерения = СтрокаТЧ.Наименование.ЕдиницаИзмерения;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура УслугиКоличествоПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.ПереченьУслуг.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура УслугиЦенаПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.ПереченьУслуг.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура МатериалыНаименованиеПриИзменении(Элемент)
СтрокаТЧ=ЭлементыФормы.Материалы.ТекущиеДанные;
СтрокаТЧ.Цена=СтрокаТЧ.Наименование.ЦенаЗаЕдиницу;
СтрокаТЧ.ЕдиницаИзмерения=СтрокаТЧ.Наименование.ЕдиницаИзмерения;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура МатериалыКоличествоПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура МатериалыЦенаПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура ОсновныеДействияФормыПечать(Кнопка)
//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.ВыполнениеРабот.ПолучитьМакет("Печать");
// Заголовок
Область = Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(Область);
// Шапка
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Шапка);
// ПереченьУслуг
Область = Макет.ПолучитьОбласть("ПереченьУслугШапка");
ТабДок.Вывести(Область);
ОбластьПереченьУслуг = Макет.ПолучитьОбласть("ПереченьУслуг");
Для Каждого ТекСтрокаПереченьУслуг Из ПереченьУслуг Цикл
ОбластьПереченьУслуг.Параметры.Заполнить(ТекСтрокаПереченьУслуг);
ТабДок.Вывести(ОбластьПереченьУслуг);
КонецЦикла;
// Материалы
Область = Макет.ПолучитьОбласть("МатериалыШапка");
ТабДок.Вывести(Область);
ОбластьМатериалы = Макет.ПолучитьОбласть("Материалы");
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
ОбластьМатериалы.Параметры.Заполнить(ТекСтрокаМатериалы);
ТабДок.Вывести(ОбластьМатериалы);
КонецЦикла;
// Подвал
Подвал = Макет.ПолучитьОбласть("Подвал");
Подвал.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Подвал);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
КонецПроцедуры
Процедура МатериалыПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
СуммаДокумента = ПереченьУслуг.Итог("Сумма")+Материалы.Итог("Сумма");
КонецПроцедуры
Процедура ПереченьУслугПередОкончаниемРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования, Отказ)
СуммаДокумента = ПереченьУслуг.Итог("Сумма")+Материалы.Итог("Сумма");
КонецПроцедуры
Модуль объекта документа «ВыполнениеРабот»
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Наименование;
Движение.Количество = ТекСтрокаМатериалы.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Процедура Печать() Экспорт
//{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(Печать)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = Новый ТабличныйДокумент;
Макет = Документы.ВыполнениеРабот.ПолучитьМакет("Печать");
// Заголовок
Область = Макет.ПолучитьОбласть("Заголовок");
ТабДок.Вывести(Область);
// Шапка
Шапка = Макет.ПолучитьОбласть("Шапка");
Шапка.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Шапка);
// ПереченьУслуг
Область = Макет.ПолучитьОбласть("ПереченьУслугШапка");
ТабДок.Вывести(Область);
ОбластьПереченьУслуг = Макет.ПолучитьОбласть("ПереченьУслуг");
Для Каждого ТекСтрокаПереченьУслуг Из ПереченьУслуг Цикл
ОбластьПереченьУслуг.Параметры.Заполнить(ТекСтрокаПереченьУслуг);
ТабДок.Вывести(ОбластьПереченьУслуг);
КонецЦикла;
// Материалы
Область = Макет.ПолучитьОбласть("МатериалыШапка");
ТабДок.Вывести(Область);
ОбластьМатериалы = Макет.ПолучитьОбласть("Материалы");
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
ОбластьМатериалы.Параметры.Заполнить(ТекСтрокаМатериалы);
ТабДок.Вывести(ОбластьМатериалы);
КонецЦикла;
// Подвал
Подвал = Макет.ПолучитьОбласть("Подвал");
Подвал.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Подвал);
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();
//}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
КонецПроцедуры
Модуль основной формы объекта документа «ПриходМатериалов»
Процедура МатериалыКоличествоПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура МатериалыЦенаПриИзменении(Элемент)
СтрокаТЧ = ЭлементыФормы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Процедура МатериалыНаименованиеПриИзменении(Элемент)
СтрокаТЧ=ЭлементыФормы.Материалы.ТекущиеДанные;
СтрокаТЧ.Цена=СтрокаТЧ.Наименование.ЦенаПриобретения;
СтрокаТЧ.ЕдиницаИзмерения=СтрокаТЧ.Наименование.ЕдиницаИзмерения;
РаботаСДокументами.РассчитатьСумму(СтрокаТЧ);
КонецПроцедуры
Модуль объекта для документа «ПриходМатериалов»
Процедура ОбработкаПроведения(Отказ, Режим)
//{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Для Каждого ТекСтрокаМатериалы Из Материалы Цикл
// регистр ОстаткиМатериалов Приход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаМатериалы.Наименование;
Движение.Остаток = ТекСтрокаМатериалы.Количество;
КонецЦикла;
//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры
Модуль основной формы отчета «ПрайсЛист»
Процедура ДействияФормыПрайсЛистСформировать(Кнопка)
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА(ПрайсЛист)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
ТабДок = ЭлементыФормы.ПолеТабличногоДокумента;
ПрайсЛист(ТабДок);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПРОЦЕДУРА_ВЫЗОВА
КонецПроцедуры
Процедура ПрайсЛист(ТабДок) Экспорт
//{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(ПрайсЛист)
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
Макет = ОтчетОбъект.ПолучитьМакет("ПрайсЛист");
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Наименование,
| Номенклатура.ЦенаЗаЕдиницу,
| Номенклатура.ВидНоменклатуры КАК ВидНоменклатуры
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ЭтоГруппа = ЛОЖЬ
|ИТОГИ ПО
| ВидНоменклатуры";
Результат = Запрос.Выполнить();
ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
ОбластьВидНоменклатуры = Макет.ПолучитьОбласть("ВидНоменклатуры");
ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
ТабДок.Очистить();
ТабДок.Вывести(ОбластьЗаголовок);
ТабДок.Вывести(ОбластьШапкаТаблицы);
ТабДок.НачатьАвтогруппировкуСтрок();
ВыборкаВидНоменклатуры = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаВидНоменклатуры.Следующий() Цикл
ОбластьВидНоменклатуры.Параметры.Заполнить(ВыборкаВидНоменклатуры);
ТабДок.Вывести(ОбластьВидНоменклатуры, ВыборкаВидНоменклатуры.Уровень());
ВыборкаДетали = ВыборкаВидНоменклатуры.Выбрать();
Пока ВыборкаДетали.Следующий() Цикл
ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетали);
ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетали.Уровень());
КонецЦикла;
КонецЦикла;
ТабДок.ЗакончитьАвтогруппировкуСтрок();
ТабДок.Вывести(ОбластьПодвалТаблицы);
ТабДок.Вывести(ОбластьПодвал);
//}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры
Обработка «Меню» - основная форма
Процедура НоменклатураНажатие(Элемент)
Справочники.Номенклатура.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура КлиентыНажатие(Элемент)
Справочники.Клиенты.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура ПоставщикиНажатие(Элемент)
Справочники.Поставщики.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура ЕдиницыИзмеренияНажатие(Элемент)
Справочники.ЕдиницыИзмерения.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура ВыполненныеРаботыНажатие(Элемент)
Справочники.ВыполненныеРаботы.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура ФотоальбомНажатие(Элемент)
Справочники.Фотоальбом.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура ВыполнениеРаботНажатие(Элемент)
Документы.ВыполнениеРабот.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура ПриходМатериаловНажатие(Элемент)
Документы.ПриходМатериалов.ПолучитьФормуСписка().Открыть();
КонецПроцедуры
Процедура ПрайсЛистНажатие(Элемент)
Отчеты.ПрайсЛист.ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура ОстаткиМатериаловНажатие(Элемент)
Отчеты.ОстаткиМатериалов.ПолучитьФорму().Открыть();
КонецПроцедуры
Процедура УчетЗатратНажатие(Элемент)
Отчеты.УчетЗатрат.ПолучитьФорму().Открыть();
КонецПроцедуры