Этот сайт сделан для настоящих падонков.
Те, кому не нравяцца слова ХУЙ и ПИЗДА, могут идти нахуй.
Остальные пруцца!

Нэкосан :: 1С: Навагодний Отжыг 7.70.2005
// Нэкосан 30.12.04 старт
// глобальная функция для проведения новогоднего отжыга:
// комплектует команду для отжыга, устанавливает ответственных,
// обеспечивает необходимые ресурсы и проводит анализ
// отжыга методом устного опроса участникофф


Функция НавагоднийОтжыг() Экспорт;
    
    Перем Запрос, ТекстЗапроса;
    Перем Касса;
    Перем Хата, Жратва, Трава, Бухло;

    Запрос = СоздатьОбъект("Запрос");
    КомандаДляОтжыга= СоздатьОбъект("СписокЗначений");
    Пелотки= СоздатьОбъект("СписокЗначений");
    Падонки= СоздатьОбъект("СписокЗначений");
    
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать)
    |фл =     Справочник.ФизЛица.ТекущийЭлемент;
    |сост = Справочник.ФизЛица.СостояниеФизЛица;
    |Условие (сост = Перечисление.СостоянияФизЛица.Готофф);
    |ОбщаяКасса= Сумма(Окр(фл.Заначка, 2));
    |Группировка фл упорядочить по фл.ФИО без групп;
    |"//}}ЗАПРОС
    ;
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Сообщить("Запрос по отжыгу не выполнен!");
        Возврат;
    КонецЕсли;

    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("КомандаДляОтжыга");
    Таб.ВывестиСекцию("Заголовок");
    Состояние("Заполнение выходной таблицы...");
    
    
    // обнуление исходных значений
    Касса= 0;
    Хата=     ПустоеЗначение("Справочник.ФизЛица");
    Жратва= ПустоеЗначение("Справочник.ФизЛица");
    Трава= ПустоеЗначение("Справочник.ФизЛица");
    Бухло= ПустоеЗначение("Справочник.ФизЛица");
    
    
    Пока Запрос.Группировка(1) = 1 Цикл
        Если Запрос.фл.ЭтоОн()= 1 Тогда
            КомандаДляОтжыга.ДобавитьЗначение(Запрос.фл);
            Падонки.ДобавитьЗначение(Запрос.фл);
            Таб.ВывестиСекцию("падонак");
            
        ИначеЕсли Запрос.фл.ЭтоОна()= 1 Тогда
            КомандаДляОтжыга.ДобавитьЗначение(Запрос.фл);
            Пелотки.ДобавитьЗначение(Запрос.фл);
            Таб.ВывестиСекцию("пелотка");
            
        Иначе
            Если СпрКЛ.НайтиЭлемент(Запрос.фл)= 1 Тогда
                Пидор= СпрКЛ.ТекущийЭлемент();
                // непосредственное удаление
                Пидор.Удалить(1);
            Иначе
                Предупреждение("АХТУНГ! Найден пидор:"+ Запрос.кл);
            КонецЕсли;
            Продолжить;
        
        КонецЕсли;
    КонецЦикла;
    
    // печать списка участников
    Таб.ТолькоПросмотр(1);
    Таб.Показать();
    Таб.Напечатать(0);
    
    // распределение центров    ответственности
    Касса= Запрос.ОбщаяКасса;
    Хата=     УстановитьОтветствЗаХату(КомандаДляОтжыга);
    Жратва= УстановитьОтветствЗаЖратву(КомандаДляОтжыга);
    Трава= УстановитьОтветствЗаТраву(КомандаДляОтжыга);
    Бухло= УстановитьОтветствЗаБухло(КомандаДляОтжыга);
    
    Если ((ПустоеЗначение(Хата)= 1) или
          (ПустоеЗначение(Жратва)= 1) или
          (ПустоеЗначение(Бухло)= 1)) Тогда
    НазначитьОтветственных(Хата, Жратва, Трава, Бухло, КомандаДляОтжыга);
    КонецЕсли;
    
    Для к= 1 По СписокТочек.РазмерСписка() Цикл
        ВернутьНеобходимыйРесурс(Хата, Итого);
        ВернутьНеобходимыйРесурс(Жратва, Итого);
        ВернутьНеобходимыйРесурс(Трава, Итого);
        ВернутьНеобходимыйРесурс(Бухло, Итого);
        
        Если Касса <= 0 Тогда
            Предупреждение("Бабло на исходе!!!");
            Прервать;
        КонецЕсли;
    КонецЦикла;
    
    
    
    
    
    
    Попытка
        // начинаем...
        Отжыг= СоздатьОбъект("Справочник.Отжыги");
        Отжыг.Новый();
        Отжыг.Код= 2005;
        Отжыг.Наименование= "Новый год нах!";
        Отжыг.Записать();
        Сообщить("ОТЖЫГ НАЧАЛСЯ", "i");
        
        ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Хата);
        ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Жратва);
        ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Трава);
        ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Бухло);
        Ебстись(Пелотки, Падонки);
        
        ХорошоЛи= 0;
        Для к= 1 по КомандаДляОтжыга.РазмерСписка() Цикл
            УчастникОтжыга= КомандаДляОтжыга.ПолучитьЗначение(к);
            Если УчастникОтжыга.Выбран()= 1 Тогда
                ХорошоЛи= ХорошоЛи + ПокаЗаебись(УчастникОтжыга);
            КонецЕсли;
        КонецЦикла;

        
        Пока ХорошоЛи < КомандаДляОтжыга.РазмерСписка() Цикл
        
            Если Касса= 0 Тогда
                Касса= НайтиБабло(КомандаДляОтжыга);
            КонецЕсли;
            
            Для к= 1 По СписокТочек.РазмерСписка() Цикл
                ВернутьНеобходимыйРесурс(Хата, Итого);
                ВернутьНеобходимыйРесурс(Жратва, Итого);
                ВернутьНеобходимыйРесурс(Трава, Итого);
                ВернутьНеобходимыйРесурс(Бухло, Итого);
                Если Касса <= 0 Тогда
                    Предупреждение("Бабло на исходе!!!");
                    Прервать;
                КонецЕсли;
            КонецЦикла;
            
            Сообщить("ОТЖЫГ ПРАДАЛЖАЕЦЦА!!!", "i");
            ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Хата);
            ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Жратва);
            ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Трава);
            ИспользоватьРесурс(Отжыг, КомандаДляОтжыга, Бухло);
            Ебстись(Пелотки, Падонки);
            
        КонецЦикла;
        
    Исключение
        // нихуя не может быть исключений!

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

    
    
    

    
    АктивацыяУчастников(КомандаДляОтжыга);
    Подсчёт_и_ИдентификацыяУчастников(КомандаДляОтжыга);
    ОпохмелУчастников(КомандаДляОтжыга);
    ПовторнаяАктивацыяУчастников(КомандаДляОтжыга);
    
    // падводим итоги
    Результат= 0;
    Для к= 1 по КомандаДляОтжыга.РазмерСписка() Цикл
        УчастникОтжыга= КомандаДляОтжыга.ПолучитьЗначение(к);
        Если УчастникОтжыга.Выбран()= 1 Тогда
            Результат= Результат + БылоЗаебись(УчастникОтжыга);
        КонецЕсли;
    КонецЦикла;
    
    Возврат Результат;

КонецФункции
// Нэкосан 30.12.04 финиш
(c) udaff.com    источник: http://udaff.com/read/creo/40086.html