Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 23:55

Проблема с конфигурацией

Автор Shestakov_86, 19 апр 2011, 15:06

0 Пользователей и 1 гость просматривают эту тему.

Shestakov_86

выкладываю всю обработку, может кто то что нибудь поймет

Процедура ДействияФормыНачисление(Кнопка)
   Если НЕ Этаформа.Модифицированность тогда
   Эта_ГБУ = ЭтаФорма.ЭлементыФормы.Ссылка.Значение;
   ФормаНачисления = Документы.СГНачислить.ПолучитьФорму("ФормаДокумента");
   ФормаНачисления.ГБУ = Эта_ГБУ;
   ФормаНачисления.Открыть();
   ФормаНачисления.Активизировать();
   иначе
   Сообщить ("Для выполнения этого действия нужно сохранить данные",СтатусСообщения.ОченьВажное);
   конецесли;
КонецПроцедуры

Процедура ДействияФормыОплата(Кнопка)
   Если НЕ Этаформа.Модифицированность тогда
   Эта_ГБУ = ЭтаФорма.ЭлементыФормы.Ссылка.Значение;
   // Вставить содержимое обработчика.
   ФормаОплаты = Документы.СГОплата.ПолучитьФорму("ФормаДокумента");
   ФормаОплаты.ГБУ = Эта_ГБУ;
   ФормаОплаты.Открыть();
   ФормаОплаты.Активизировать();
      иначе
   Сообщить ("Для выполнения этого действия нужно сохранить данные",СтатусСообщения.ОченьВажное);
   конецесли;

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

Процедура ПриОткрытии()
   Начисления.Отбор.ГБУ.Использование = Истина;
   Начисления.Отбор.ГБУ.Значение = Ссылка;
   Начисления.Отбор.ГБУ.ВидСравнения = ВидСравнения.Равно;
   
   СГОплата.Отбор.ГБУ.Использование = Истина;
   СГОплата.Отбор.ГБУ.Значение = Ссылка;
   СГОплата.Отбор.ГБУ.ВидСравнения = ВидСравнения.Равно;
   
   ДокОбслуживание.Отбор.СГГБУ.Использование = Истина;
   ДокОбслуживание.Отбор.СГГБУ.Значение = Ссылка;
   ДокОбслуживание.Отбор.СГГБУ.ВидСравнения = ВидСравнения.Равно;
   
   Договор.Отбор.СГГБУ.Использование = Истина;
   Договор.Отбор.СГГБУ.Значение = Ссылка;
   Договор.Отбор.СГГБУ.ВидСравнения = ВидСравнения.Равно;

   Услуги.Отбор.СГГБУ.Использование = Истина;
   Услуги.Отбор.СГГБУ.Значение = Ссылка;
   Услуги.Отбор.СГГБУ.ВидСравнения = ВидСравнения.Равно;

   Характеристики.Отбор.Контрагент.Использование = Истина;
   Характеристики.Отбор.Контрагент.Значение = Ссылка;
   Характеристики.Отбор.Контрагент.ВидСравнения = ВидСравнения.Равно;
   
   РасчетДолгов();
КонецПроцедуры

Процедура РасчетДолгов()
  Запрос = Новый Запрос("ВЫБРАТЬ
   |   СГРасчеты_услугиОстатки.Вид_услуги КАК Вид_услуги,
   |   СГРасчеты_услугиОстатки.Сумма_НДСОстаток,
   |   СГРасчеты_услугиОстатки.СуммаОстаток,
   |   СГРасчеты_услугиОстатки.Сумма_с_НДСОстаток
   |ИЗ
   |   РегистрНакопления.СГРасчеты_услуги.Остатки КАК СГРасчеты_услугиОстатки
   |ГДЕ
   |   СГРасчеты_услугиОстатки.ГБУ = &ГБУ
   |
   |УПОРЯДОЧИТЬ ПО
   |   Вид_услуги");
В_ГБУ = элементыФормы.Ссылка.Значение;
запрос.УстановитьПараметр("ГБУ", В_ГБУ);
результат = запрос.Выполнить();
Если не результат.Пустой() тогда;
    //Сообщить ("Результат не пустой");
    итог = результат.Выбрать();
    строка = 1;
  Пока итог.Следующий() цикл
   новаястрока = Долги.Вставить(строка);
   новаястрока.вид_услуги = итог.вид_услуги;
   новаястрока.Сумма_НДСОстаток = итог.Сумма_НДСОстаток;
   новаястрока.СуммаОстаток = итог.СуммаОстаток;
   новаястрока.Сумма_с_НДСОстаток = итог.Сумма_с_НДСОстаток;
  конеццикла;
конецесли;

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

Процедура ПередЗаписью(Отказ)
этоткод=элементыформы.НадписьНаименование1.значение;   
Запрос = Новый Запрос("ВЫБРАТЬ
|   ГБУ.Код,
|   ГБУ.Наименование
|ИЗ
|   Справочник.ГБУ КАК ГБУ
|ГДЕ
|   ГБУ.Пункт.Ссылка = &СсылкаПункт
|   И ГБУ.Нас_пункт.Ссылка = &СсылкаНП
|   И ГБУ.Улица.Ссылка = &СсылкаУл
|   И ГБУ.Дом = &Дом
|   И ГБУ.Корпус = &Корпус
|   И ГБУ.Квартира = &Квартира
|   И ГБУ.Код <> код");

Запрос.УстановитьПараметр("Код", этоткод);
Запрос.УстановитьПараметр("СсылкаПункт", элементыФормы.Пункт.Значение);
Запрос.УстановитьПараметр("СсылкаНП", элементыФормы.Нас_пункт.Значение);
Запрос.УстановитьПараметр("СсылкаУл", элементыФормы.Улица.Значение);
Запрос.УстановитьПараметр("Дом", элементыФормы.Дом.Значение);
Запрос.УстановитьПараметр("Корпус", элементыФормы.Корпус.Значение);
Запрос.УстановитьПараметр("Квартира", элементыФормы.Квартира.Значение);
рез = Запрос.Выполнить();
Если не рез.Пустой()  тогда
   итог = рез.Выбрать();
   Сообщить("Сообщить с таким адресом абонент № "+ итог.код + Итог.Наименование);
   Отказ = Истина;
конецесли;


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

Процедура КодНачалоВыбора(Элемент, СтандартнаяОбработка)
   Если Не Категория_потребителя.Пустая() тогда
    Префикс = СокрЛП(ЭлементыФормы.Категория_потребителя.Значение.ПрефиксНомера);
    Счетчик =  СокрЛП(ЭлементыФормы.Категория_потребителя.Значение.СГЗначениеНомера);
    Элемент.Значение = Префикс+Счетчик;
    ЭлементСправочника = Справочники.Категории_потребителей.НайтиПоКоду(ЭлементыФормы.Категория_потребителя.Значение.Код).ПолучитьОбъект();
    ЭлементСправочника.ЗначениеНомера =  ЭлементСправочника.ЗначениеНомера + 1;
    ЭлементСправочника.Записать();
   иначе
    Режим = РежимДиалогаВопрос.Ок;
    Ответ = Вопрос("Необходимо выбрать категорию потребителя", Режим, 0);
   конецесли;
КонецПроцедуры

Процедура ПечатьСправки(Элемент)
   //{{_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ(ПечатьСправки)
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   ТабДок = Новый ТабличныйДокумент;
   Макет = Справочники.СГГБУ.ПолучитьМакет("ПечатьСправки");
   // Заголовок
   Область = Макет.ПолучитьОбласть("Заголовок");
   ТабДок.Вывести(Область);
   // Шапка
   Шапка = Макет.ПолучитьОбласть("Шапка");
   Шапка.Параметры.Заполнить(ЭтотОбъект);
   ТабДок.Вывести(Шапка);
   // Оборудование
   Область = Макет.ПолучитьОбласть("ОборудованиеШапка");
   ТабДок.Вывести(Область);
   ОбластьОборудование = Макет.ПолучитьОбласть("Оборудование");
   Для Каждого ТекСтрокаОборудование Из Оборудование Цикл
      ОбластьОборудование.Параметры.Заполнить(ТекСтрокаОборудование);
      ТабДок.Вывести(ОбластьОборудование);
   КонецЦикла;
   // Обслуживание
   Область = Макет.ПолучитьОбласть("ОбслуживаниеШапка");
   ТабДок.Вывести(Область);
   ОбластьОбслуживание = Макет.ПолучитьОбласть("Обслуживание");
   Для Каждого ТекСтрокаОбслуживание Из Обслуживание Цикл
      ОбластьОбслуживание.Параметры.Заполнить(ТекСтрокаОбслуживание);
      ТабДок.Вывести(ОбластьОбслуживание);
   КонецЦикла;
   // Примечания
   Область = Макет.ПолучитьОбласть("ПримечанияШапка");
   ТабДок.Вывести(Область);
   ОбластьПримечания = Макет.ПолучитьОбласть("Примечания");
   Для Каждого ТекСтрокаПримечания Из Примечания Цикл
      ОбластьПримечания.Параметры.Заполнить(ТекСтрокаПримечания);
      ТабДок.Вывести(ОбластьПримечания);
   КонецЦикла;

   ТабДок.ОтображатьСетку = Ложь;
   ТабДок.Защита = Ложь;
   ТабДок.ТолькоПросмотр = Ложь;
   ТабДок.ОтображатьЗаголовки = Ложь;
   ТабДок.Показать();
   //}}_КОНСТРУКТОР_ПЕЧАТИ_ЭЛЕМЕНТ
КонецПроцедуры

Процедура ДобавитьНажатие1(Элемент)
   Если НЕ Этаформа.Модифицированность тогда
      ФормаДоговора = Документы.СГ_Услуги.ПолучитьФорму("ФормаДокумента");
   ФормаДоговора.СГГБУ = ЭтаФорма.ЭлементыФормы.Ссылка.Значение;
   ФормаДоговора.Открыть();
   ФормаДоговора.Активизировать();
    иначе
    Сообщить ("Для выполнения этого действия нужно сохранить данные",СтатусСообщения.ОченьВажное);
   конецесли;

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

Процедура СГОплатаПередНачаломДобавления(Элемент, Отказ, Копирование)
   Отказ=Истина;
   НовДок = Документы.СГОплата.СоздатьДокумент();
   НовДок.ГБУ = Ссылка;
   НовДок.ПолучитьФорму("ФормаДокумента").Открыть();
   
КонецПроцедуры

Процедура НачисленияПередНачаломДобавления(Элемент, Отказ, Копирование)
   Отказ=Истина;
   НовДок = Документы.СГНачислить.СоздатьДокумент();
   НовДок.ГБУ = Ссылка;
   НовДок.ПолучитьФорму("ФормаДокумента").Открыть();

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

Процедура ДоговорПередНачаломДобавления(Элемент, Отказ, Копирование)
   Отказ=Истина;
   НовДок = Документы.СГДоговор.СоздатьДокумент();
   НовДок.СГГБУ = Ссылка;
   НовДок.ПолучитьФорму("ФормаДокумента").Открыть();

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

Процедура УслугиПередНачаломДобавления(Элемент, Отказ, Копирование)
   Отказ=Истина;
   НовДок = Документы.СГ_Услуги.СоздатьДокумент();
   НовДок.СГГБУ = Ссылка;
   НовДок.ПолучитьФорму("ФормаДокумента").Открыть();

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

Процедура ДокОбслуживаниеПередНачаломДобавления(Элемент, Отказ, Копирование)
   Отказ=Истина;
   НовДок = Документы.СГ_ТО.СоздатьДокумент();
   НовДок.СГГБУ = Ссылка;
   НовДок.ПолучитьФорму("ФормаДокумента").Открыть();

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

Процедура ОборудованиеПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
   РедПриб = СправочникОбъект.ПолучитьФорму("РедактированиеПриборов",ЭтаФорма);
   РедПриб.Марка = Элемент.ТекущаяСтрока.Марка;         
   РедПриб.Количество = Элемент.ТекущаяСтрока.Количество;
   РедПриб.Дата_Установки = Элемент.ТекущаяСтрока.Дата_установки;
   РедПриб.Дата_Ликвидации = Элемент.ТекущаяСтрока.Дата_ликвидации;
   РедПриб.Дата_поверки = Элемент.ТекущаяСтрока.Дата_поверки;
   РедПриб.Обслуживающие = Элемент.ТекущаяСтрока.Обслуживающие;
   РедПриб.Учет_в_начислении = Элемент.ТекущаяСтрока.Учет_в_начислении;
   РедПриб.СрокСлужбы = Элемент.ТекущаяСтрока.СрокСлужбы;
   РедПриб.ОткрытьМодально();

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

Процедура ХарактеристикиПередНачаломДобавления(Элемент, Отказ, Копирование)
   Отказ=Истина;
   НовЗап = РегистрыСведений.ЗначенияСвойств.СоздатьМенеджерЗаписи();
   НовЗап.Контрагент = Ссылка;
   НовЗап.ПолучитьФорму("ФормаЗаписи").ОткрытьМодально();
   
КонецПроцедуры

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск