7.7 Рарус Автосалон+автосервис

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем k.max1976, 21 июл 2008.

  1. TopicStarter Overlay
    k.max1976
    Offline

    k.max1976

    Регистрация:
    21 июл 2008
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    У меня естьсправочник по моделям авто., мне надо добавит еще одну группу???
    Как прописать это в модуле????
    Код:
    Перем Таб;        
    Перем Обновить;
    Перем Расшифровка;     
    Процедура Печать() Далее
    //***********************************************Андрей*************************
    //Процедура Моя()
    //    Спр = СоздатьОбъект("Справочник.Автомобили.Модель.Комплектация");
    //Пока Спр =1 Цикл ЦП = Спр.ПолучитьАтрибут("ЦенаПродажи");
    //    Сообщить(ЦП);
    //    КонецЦикла;
    // КонецПроцедуры
    //***********************************************Андрей*************************
    // РасшифровкаОбновить(Обновить)
    Функция РасшифровкаОбновить(Обновить)  
    
    Расшифровка.Установить("Обновить", Обновить);
    Расшифровка.Установить("Автомо", ""); 
    глФлагРасшифровки = 1;   
    глОбновить = 1;
    
    Возврат Расшифровка;                       
    
    КонецФункции //РасшифровкаОбновить()                                            
    
    //******************************************************************************
    Процедура Сформировать()  
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса = 
    "//{{ЗАПРОС(Сформировать)
    |Автомобиль = Регистр.ОстаткиАвтомобилей.Автомобиль;
    |Количество = Регистр.ОстаткиАвтомобилей.Количество;
    |Функция Ост = КонОст(Количество);
    |Группировка Автомобиль без групп;
    |"//}}ЗАПРОС;
    // Если ошибка в запросе, то выход из процедуры
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
    Возврат;
    КонецЕсли;
    
    Т.УдалитьСтроки();
    Пока Запрос.Группировка(1) = 1 Цикл  
    Если  ГрупАвто.ЭтоГруппа() = 1 Тогда 
    Если Запрос.Автомобиль.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли;
    Т.НоваяСтрока();
    Т.Авто = Запрос.Автомобиль;
    Т.МодельГр = Запрос.Автомобиль.Модель.Родитель; 
    Если Т.МодельГр = ГрупАвто Тогда 
    Т.Авто.Комплектация = Запрос.Автомобиль.ПолучитьАтрибут("Комплектация");//****Андрей*******  
    Т.Комплектац = Т.Авто.Комплектация;
    //Т.Место = Запрос.Автомобиль.ПолучитьАтрибут("Склад1");//***********Андрей****************
    //ЦП = Запрос.Автомобиль.Модель.Комплектация.ПолучитьАтрибут("ЦенаПродажи");
    //Моя();
    //Сообщить(ЦП);
    //Т.Двиг = Лев(Запрос.Автомобиль.НомерДвигателя, 4); //*****************Андрей***************
    Т.Цвет = Запрос.Автомобиль.Цвет;
    Т.VIN = Запрос.Автомобиль.Код;
    Т.Цена = Запрос.Автомобиль.Цена; 
    Т.Печать = 2;
    КонецЕсли; 
    Иначе 
    Если Запрос.Автомобиль.ПометкаУдаления() = 1 Тогда Продолжить; КонецЕсли;
    Т.НоваяСтрока();
    Т.Авто = Запрос.Автомобиль;
    Т.МодельГр = Запрос.Автомобиль.Модель.Родитель; 
    Т.Авто.Комплектация = Запрос.Автомобиль.ПолучитьАтрибут("Комплектация");//****Андрей*******  
    Т.Комплектац = Т.Авто.Комплектация;
    //Т.Место = Запрос.Автомобиль.ПолучитьАтрибут("Склад1");//***********Андрей****************
    //ЦП = Запрос.Автомобиль.Модель.Комплектация.ПолучитьАтрибут("ЦенаПродажи");
    //Моя();
    //Сообщить(ЦП);
    //Т.Двиг = Лев(Запрос.Автомобиль.НомерДвигателя, 4); //*****************Андрей***************
    Т.Цвет = Запрос.Автомобиль.Цвет;
    Т.VIN = Запрос.Автомобиль.Код;
    Т.Цена = Запрос.Автомобиль.Цена; 
    Т.Печать = 2;
    КонецЕсли;
    КонецЦикла;   
    //Т.Сортировать("МодельГр, Авто, Двиг, Цвет",);//***********************Андрей********************
    Т.Сортировать("МодельГр, Авто, Комплектац, Цвет",);//***********************Андрей********************
    КонецПроцедуры        
    //*************************************************************
    
    Процедура ПриОткрытии();
    Т.НоваяКолонка("МодельГр","Справочник.АвтоМодели",,,"Группа",5,,);
    Т.НоваяКолонка("Авто","Справочник.Автомобили",,,"Модель",5,,);
    Т.НоваяКолонка("Комплектац","Справочник.АвтоМодели.ВариантыКомплектации",,,"Комплектация",,,1);
    //Т.НоваяКолонка("Двиг","Строка",4,,"Двиг",4,,); //***********************Андрей********************
    Т.НоваяКолонка("Цвет","Справочник.Цвета",,,"Цвет",5,,);
    Т.НоваяКолонка("VIN","Строка",24,,"VIN",15,,);
    Т.НоваяКолонка("Цена","Число",18,2,"Цена",8,"Ч18.2.'",2);
    Т.НоваяКолонка("Печать","Число",1,0,"Печ.",4,,);   
    Т.ВыводитьПиктограммы("Печать",1);
    
    
    Если глФлагРасшифровки = 1 Тогда 
    Обновить = глОбновить;   
    
    Таб = глТаблица;
    
    Печать();
    СтатусВозврата(0);
    Возврат;       
    Иначе
    Обновить = 0;
    КонецЕсли;            
    
    
    КонецПроцедуры
    //*************************************************************
    Функция ВернутьЦену(Объект)
    НайденнаяЦена = 0;
    СпрКомплект = СоздатьОбъект("Справочник.ВариантыКомплектации");
    Если СпрКомплект.НайтиЭлемент(Объект) = 1 Тогда
    НайденнаяЦена = СпрКомплект.ЦенаПродажи.Получить(ТекущаяДата()); 
    КонецЕсли;
    Возврат НайденнаяЦена;
    КонецФункции
    
    //*************************************************************
    
    Процедура Печать()
    Если Т.КоличествоСтрок() = 0 Тогда
    Сформировать();
    КонецЕсли;
    
    
    Расшифровка = СоздатьОбъект("СписокЗначений");
    Расшифровка.Установить("Отчет", "ПрайсАвтоГАЗ");
    
    // все настройки помещаем в список
    
    Если (Обновить = 0) Тогда
    Таб = СоздатьОбъект("Таблица");  
    глТаблица = Таб;
    //Предупреждение("Создадим таблицу...");
    Иначе
    Таб.Очистить();
    //Предупреждение("Очистим таблицу...");
    КонецЕсли;      
    
    
    Таб.ИсходнаяТаблица("Сформировать");
    // Заполнение полей "Заголовок"
    Состояние("Заполнение выходной таблицы...");
    Таб.Опции(0, 0, 2, 0);
    //Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0);
    Таб.ВывестиСекцию("Кнопки");
    Т.ВыбратьСтроки();      
    НН = 0;          
    СтарГруп = "";
    СтарКомплект = "";
    //СтарДвиг = "";// ***************Андрей****************
    СтарАвто = "";
    //Т.ЦенаПродажи("Справочник.АвтоМодели.Комплектация.ЦенаПродажи");
    Пока Т.ПолучитьСтроку()=1 Цикл     
    Если Т.Печать = 0 Тогда Продолжить; КонецЕсли;
    //Печать названия группы
    Если СтарГруп <> Т.МодельГр Тогда
    Если НН <> 0 Тогда 
    Таб.НоваяСтраница();
    КонецЕсли;
    ПечГруппа = Т.МодельГр; 
    Таб.ВывестиСекцию("Шапка");
    Таб.ВывестиСекцию("Заказ");
    Таб.ВывестиСекцию("Группа");
    Таб.ВывестиСекцию("Группа1");
    СтарГруп = Т.МодельГр; 
    //СтарДвиг = "";//*********************Андрей*********************
    //СтарДвиг = "";//*********************Андрей*********************
    КонецЕсли;
    
    // Если (СтарДвиг  Т.Двиг) или (СтарАвто  Т.Авто.Модель) Тогда
    Если (СокрЛП(СтарКомплект) <> СокрЛП(Т.Авто.Комплектация)) или (СтарАвто <> Т.Авто.Модель) Тогда
    //ПечМодель = ""+Т.Авто+ " (двиг. "+Т.Двиг+")   "+СокрЛП(Т.Авто.Комплектация)+ " ";
    ПечМодель = ""+Т.Авто+ " (Комплектация: "+СокрЛП(Т.Авто.Комплектация)+ " ) "+
    ?(ВернутьЦену(Т.Комплектац)>0,"Базовая цена: "+ВернутьЦену(Т.Комплектац)+" руб","");
    Таб.ВывестиСекцию("Модель");
    СтарКомплект = Т.Авто.Комплектация;//***********Андрей*********************
    //СтарДвиг = Т.Двиг;  //***********************Андрей*******************
    СтарАвто = Т.Авто.Модель; 
    КонецЕсли;
    
    
    // Заполнение полей Автомобиль  
    НН = НН + 1;          
    ПечМодель = Т.Авто.Модель;
    ПечЦвет = Т.Цвет;
    ДВыпуска = Т.Авто.ГодВыпуска;
    ПечVIN = Прав(СокрЛП(Т.Авто.Код), 8);
    ПечДопоборудование = ""+СокрЛП(Т.Авто.ДопОборуд); 
    ПечЦена = Т.Цена; 
    //ПечМесто = "";
    ПечМесто = СокрЛП(Т.Авто.МестоХранения.Наименование); //**********Андрей*********************Саша
    
    
    
    Расш = СоздатьОбъект("СписокЗначений");
    Расш.Установить("Автомо", Т.Авто);
    //глРасшифровка = Расш;
    
    
    Таб.ВывестиСекцию("Строка");
    КонецЦикла;
    // Заполнение полей "Итого"
    //Таб.ВывестиСекцию("Итого");
    // Вывод заполненной формы   
    Таб.ПараметрыСтраницы(1,,,,,,,,,1,,);
    Таб.ТолькоПросмотр(1);    
    //Таб.Защита(1);
    Таб.Показать("Прайс-лист", "");
    КонецПроцедуры
    
    //*************************************************************  
    Процедура Клик()         
    Если Т.ТекущаяСтрока() = 0 Тогда Возврат; КонецЕсли;
    
    Кол = Т.ТекущаяКолонка();
    Стр = Т.ТекущаяСтрока();
    Авто = Т.Авто;
    
    Если (Кол = "Авто") ИЛИ (Кол = "VIN") Тогда
    ОткрытьФорму(Авто,,);
    ИначеЕсли (Кол = "Цена") Тогда
    Цена = Т.Цена;   
    
    Если ВвестиЧисло(Цена,"Введите новую цену...",18,2,)=1 Тогда
    Т.Цена = Цена;
    
    Ав = СоздатьОбъект("Справочник.Автомобили");
    Ав.НайтиЭлемент(Авто);
    Ав.Цена = Цена;
    Ав.Валюта = Константа.БазоваяВалюта;
    Ав.Записать();
    КонецЕсли;
    ИначеЕсли (Кол = "Печать") Тогда
    Если Т.Печать = 0 Тогда
    Т.Печать = 2;
    Иначе
    Т.Печать = 0;
    КонецЕсли;
    КонецЕсли;
    
    
    КонецПроцедуры
    //*************************************************************  
    Процедура ВыделитьВсе()
    Т.ВыбратьСтроки();
    Пока Т.ПолучитьСтроку()=1 Цикл
    Т.Печать = 2;
    КонецЦикла;
    КонецПроцедуры
    //*************************************************************  
    Процедура УбратьВыделение()
    Т.ВыбратьСтроки();
    Пока Т.ПолучитьСтроку()=1 Цикл
    Т.Печать = 0;
    КонецЦикла;
    КонецПроцедуры 
    
    //*************************************************************
    //*************************************************************
    
    
  2. Stado_adama
    Offline

    Stado_adama Модераторы Модератор

    Регистрация:
    27 ноя 2007
    Сообщения:
    1.086
    Симпатии:
    0
    Баллы:
    26
    мне надо добавит еще одну группу??? &copy;
    я думаю что на форуме никто не знает надо тебе добавлять группу или нет... и смотреть кусок кода этот не маленький никто не будет... по крайней мере я... так что больше так не делай... а если и делаешь, то тэг CODE используй... ибо лично у меня вообще появилось огромное желание снести эту тему на хрен...
  3. bob
    Offline

    bob Опытный в 1С

    Регистрация:
    7 май 2008
    Сообщения:
    386
    Симпатии:
    0
    Баллы:
    26
    а в чем прикол создавать 1 (одну!) группу программно....

Поделиться этой страницей