1. 1C / Говнокод #2411

    −134

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    Процедура СправочникСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    	
    ТекКвота = ДанныеСтроки.Ссылка;
    мЗапросДок = Новый Запрос;
    мЗапросДок.Текст = 
    "ВЫБРАТЬ
    |	ЕСТЬNULL(СУММА(СДотчетТовары.Количество), 0) КАК Количество
    |ИЗ
    |	Документ.СДотчет.Товары КАК СДотчетТовары
    |ГДЕ
    |	СДотчетТовары.Ссылка.Проведен = ИСТИНА
    |	И СДотчетТовары.КвотаОтчета = &Квота";			
    мЗапросДок.УстановитьПараметр("Квота",ТекКвота);
    			
    Выборка = мЗапросДок.Выполнить().Выбрать();
    Выборка.Следующий();
    ВДоке = Выборка.Количество;
    ОформлениеСтроки.Ячейки.СогласноСД.Значение = ?(ВДоке=0,"",ВДоке);
    мЗапросПОС = Новый Запрос;
    мЗапросПОС.Текст = 
    "ВЫБРАТЬ
    |	ЕСТЬNULL(СписаноПоПОСОбороты.КоличествоОборот, 0) КАК Количество
    |ИЗ
    |	РегистрНакопления.СписаноПоПОС.Обороты(, , , Квота = &Квота) КАК СписаноПоПОСОбороты";
    
    мЗапросПОС.УстановитьПараметр("Квота",ТекКвота);
    Выборка = мЗапросПОС.Выполнить().Выбрать();
    Выборка.Следующий();
    ВПОС = Выборка.Количество;
    ОформлениеСтроки.Ячейки.СогласноПОС.Значение = ?(ВПОС=0,"",ВПОС);
    			
    мЗапросРег = Новый Запрос;
    
    мЗапросРег.Текст = 
    "ВЫБРАТЬ
    |	ЕСТЬNULL(Квоты.КолВЗаказахПокупателя, 0) КАК КолВЗаказахПокупателя,
    |	ЕСТЬNULL(ЗаказПоставщику.КолВЗаказахПоставщику, 0) КАК КолВЗаказахПоставщику
    |ИЗ
    |	(ВЫБРАТЬ
    |		СУММА(ЕСТЬNULL(ЗаказПоставщикуТовары.Количество, 0)) КАК КолВЗаказахПоставщику
    |	ИЗ
    |		Документ.ЗаказПоставщику.Товары КАК ЗаказПоставщикуТовары
    |	ГДЕ
    |		ЗаказПоставщикуТовары.КвотаЗаказа = &Квота) КАК ЗаказПоставщику,
    |	(ВЫБРАТЬ
    |		СУММА(ЕСТЬNULL(КвотыЗаказовПокупателейОстаткиИОбороты.КоличествоПриход, 0)) КАК КолВЗаказахПокупателя
    |	ИЗ
    |		РегистрНакопления.КвотыЗаказовПокупателей.ОстаткиИОбороты(
    |				,
    |				,
    |				,
    |				,
    |				Квота = &Квота
    |					И ВидКвоты = ЗНАЧЕНИЕ(Перечисление.ВидыКвот.ОтчетнаяКвота)) КАК КвотыЗаказовПокупателейОстаткиИОбороты) КАК Квоты";
    
    			
    мЗапросРег.УстановитьПараметр("Квота",ТекКвота);
    Выборка = мЗапросРег.Выполнить().Выбрать();
    ЕстьВыборка = Выборка.Следующий();
    КолВЗаказахПокупателя = ?(не ЕстьВыборка,0,Выборка.КолВЗаказахПокупателя);
    КолВЗаказахПоставщику = ?(не ЕстьВыборка,0,Выборка.КолВЗаказахПоставщику);
    
    ОформлениеСтроки.Ячейки.ВЗаказахПокупателя.Значение = КолВЗаказахПокупателя;
    ОформлениеСтроки.Ячейки.ВЗаказахПоставщику.Значение = КолВЗаказахПоставщику;
    
    КонецПроцедуры

    Чудный справочник, очень быстро открывается и прокручивается. Приходится ждать по 20 секунд)))

    KingOfShit, 14 Января 2010

    Комментарии (44)
  2. 1C / Говнокод #2409

    −213

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Если Пользователь.Родитель.КонтрольРазмещения = Истина Тогда
    	Возврат Истина;
    Иначе
    	Возврат Ложь;
    КонецЕсли;

    Лёгких путей не бывает :)

    KingOfShit, 14 Января 2010

    Комментарии (23)
  3. 1C / Говнокод #2289

    −122

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Функция ВыделитьНалог(СуммаСНалогом,Ставка)
            Если Ставка<>-100 Тогда
                    Возврат(Ставка*СуммаСНалогом/(100+Ставка));
            Иначе
                    Сообщить("Налог не рассчитан");
                    Возврат(0);
            КонецЕcли;
    КонецФункции

    В одном продукте, имеющем сертификат 1с Совместимо!

    Нет, с программерской точки зрения верно. Только как ставка налога может быть минус сто процентов? O.o

    nslz, 16 Декабря 2009

    Комментарии (15)
  4. 1C / Говнокод #2264

    −110

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    Процедура ТабличноеПоле1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
        // при выводе строки в ТабличноеПоле1, перебор ячеек строки
     
        Для Каждого Ячейка Из ОформлениеСтроки.Ячейки Цикл
            // если имя текущей ячейки "НормаВремени"
     
            Если Ячейка.Имя = "НормаВремениТекст" Тогда     
                // получить норму времени текущего поста охраны на текущую дату и вывести в соотв. ячейку Тч
     
                Запрос = Новый Запрос;
                Запрос.Текст =
                    "ВЫБРАТЬ
                    |    НормыВремениПоПостамСрезПоследних.Период,
                    |    НормыВремениПоПостамСрезПоследних.ПостОхраны,
                    |    НормыВремениПоПостамСрезПоследних.НормаВремени
                    |ИЗ
                    |    РегистрСведений.НормыВремениПоПостам.СрезПоследних(&ВыбДата) КАК НормыВремениПоПостамСрезПоследних
                    |ГДЕ
                    |    НормыВремениПоПостамСрезПоследних.ПостОхраны = &Пост";
                Запрос.УстановитьПараметр("ВыбДата",ТекущаяДата());
                Запрос.УстановитьПараметр("Пост",   ДанныеСтроки.Ссылка);
                ТекНормаВремени = Запрос.Выполнить().Выгрузить();    
                //ЭлементыФормы.ТабличноеПоле1.ТекущаяСтрока[Ячейка.Имя].Значение = ТекНормаВремени[0].НормаВремени;
     
                ОформлениеСтроки.Ячейки["НормаВремениТекст"].ОтображатьТекст = Истина;
                //ОформлениеСтроки.Ячейки["НормаВремениТекст"].Значение        = ТекНормаВремени[0].НормаВремени;
     
                ОформлениеСтроки.Ячейки["НормаВремениТекст"].Текст           = ТекНормаВремени[0].НормаВремени;
            КонецЕсли;
        КонецЦикла;
    КонецПроцедуры

    веселый цикл

    Vezunchik, 11 Декабря 2009

    Комментарии (19)
  5. 1C / Говнокод #2160

    −118.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    Модуль  объекта: Документ.ЗаявкаНаРасходованиеСредств
    
    ////////////////////////////////////////////////////////////////////////////////
    // ПРОЦЕДУРЫ И ФУНКЦИИ ДОКУМЕНТА
    
    //++Говнокодер
    #Если Клиент Тогда
    //--Говнокодер
    
    Процедура ОбработкаПроведения(Отказ, Режим)
    ...
    КонецПроцедуры
    
    //++Говнокодер
    #КонецЕсли
    //--Говнокодер

    - Документ проведен?
    База: Проведен
    Журнал регистрации: Проведен!
    - А где движения?!
    - А их нету, ибо документ проводился на сервере.

    Плакали всем отделом, всплыло случайно, когда перенесли проведение в привилегированный режим. А говнокодер уже год как с нами не работает, привет ему :)

    tr0y, 19 Ноября 2009

    Комментарии (8)
  6. 1C / Говнокод #1965

    −109.8

    1. 1
    2. 2
    3. 3
    4. 4
    Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    	ДанныеСтроки.Осталось = ДанныеСтроки.Поступление - СуммаСтроки;
    	Элемент.Колонки.Объем.ТекстПодвала = Товары.Итог("Объем");
    КонецПроцедуры

    Всё тот же Самоделкин. Обработка события при выводе строки.
    Догодайтесь, в чём изюминка этой процедуры?

    Kopchuga, 12 Октября 2009

    Комментарии (12)
  7. 1C / Говнокод #1963

    −156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    Дораспределить = Новый ТаблицаЗначений();
    Дораспределить.Колонки.Добавить("Строка");
    Дораспределить.Колонки.Добавить("Количество");
    .....
    Дораспределить.Очистить();
    НовДораспределить = Дораспределить.Добавить();
    НовДораспределить.Строка = Дораспределить[0].Строка;
    НовДораспределить.Количество = Дораспределить[0].Количество - ОсталосьРаспределить;

    Новые приключения Самоделкина. На этот раз у него не прокатило, в последней строке валится с ошибкой.

    Kopchuga, 12 Октября 2009

    Комментарии (4)
  8. 1C / Говнокод #1962

    −159.9

    1. 1
    2. 2
    3. 3
    Если Не Запрос.Выполнить().Пустой() Тогда
    	Рез = Запрос.Выполнить().Выбрать();
    КонецЕсли;

    Пишу со слов друга, а он копает базу после местного самоделкина.
    Такая конструкция там везде, а запросы часто сделаны к физическим таблицам с минимумом условий.

    Kopchuga, 12 Октября 2009

    Комментарии (10)
  9. 1C / Говнокод #1922

    −264.8

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    Функция Таймер() Экспорт
        Скрипт= новый ComОбъект("MSScriptControl.ScriptControl");
        Скрипт.Language="javascript";
        ТекущееВремя = Скрипт.eval("new Date().getTime()");
        Возврат ТекущееВремя;
    КонецФункции
    
    
    
    ...
    Начало = Таймер();
    ...
    начатьтранзакцию
    ...
    
    
    зафиксироватьтранзакцию
    ...
    Конец = Таймер();
    ВремяРаботы = ФорматироватьВремя(Конец-Начало);
    ...

    сообщить("--->"+ТекущаяДата());
    вот что бывает, когда с явы пересаживаются в мэрс

    sergecar, 30 Сентября 2009

    Комментарии (23)
  10. 1C / Говнокод #1883

    −179

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    Выборка=Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    	ФизЛицо=Выборка.Физлицо;
    	Состояние("Обробатывается - "+ФизЛицо.Ссылка);
    ...
    КонецЦикла;

    Если новичок порой может забыть указать реквизит ".Ссылка", где это требуется. То тут всё наоборот. Видать, чел настолько поднаторел, что только он знает, нахера тут ссылка. (про грамматику молчу)

    Kopchuga, 22 Сентября 2009

    Комментарии (5)