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

    +2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    	
    	ОтраженоВОперУчете           = Истина;
    	ОтражатьВБухгалтерскомУчете  = Истина;
    	ОтражатьВНалоговомУчете      = Истина;
    	
    	Если НЕ ДокументОснование = Неопределено Тогда
    		ЭлементыФормы.Проект.Значение = ДокументОснование.Проект;
    	КонецЕсли;	
    		
    КонецПроцедуры // ПередОткрытием()

    Автор хотел что бы все документы обязательно проводились по БУ УУ и НУ... И хотел что бы при вводе на основании заполнялось поле проект. Ну почти получилось:))))

    Запостил: acckiy_koder, 05 Марта 2010

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

    +11.1

    1. 1
    2. 2
    3. 3
    4. 4
    ТаблПоле.Очистить();
    Если (ТаблПоле.Количество() > 0) Тогда
    	Возврат;
    КонецЕсли;

    А вдруг после очистки таблицы значений там всё-таки остались строки?

    Запостил: polestnize, 27 Февраля 2010

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

    +5.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    ТекВрем = Час(ТекущаяДата())*60+Минута(ТекущаяДата());
    ВремКурсов = 60;
    Если ТекВрем >= ВремКурсов Тогда
    	ВремКурсов = ВремКурсов + 24*60 - ТекВрем;
    Иначе
    	ВремКурсов = ВремКурсов - ТекВрем;
    КонецЕсли;
    ВремКурсов = 1;
    ПодключитьОбработчикОжидания("ЗагрузкаВалютИПересчетУЕ", ВремКурсов*60);

    Вычисляем ВремКурсов, а затем присваиваем этой переменной единицу и умножаем на 60. Рациональность, чорт побери! :-D

    Запостил: KingOfShit, 11 Февраля 2010

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

    +7

    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
    запрос = новый запрос("ВЫБРАТЬ
    |	ЗаказыПокупателейОбороты.ЗаказПокупателя,
    |	ЗаказыПокупателейОбороты.Номенклатура,
    |	СУММА(ЗаказыПокупателейОбороты.КоличествоПриход) КАК КоличествоВЗаказе,
    |	СУММА(ВложенныйЗапрос.ОстатокПоЗаказу) КАК ОстатокПоЗаказу,
    |	СУММА(ВложенныйЗапрос.ОстатокВРезерве) КАК ОстатокВРезерве
    |ИЗ
    |	РегистрНакопления.ЗаказыПокупателей.Обороты(, , , ) КАК ЗаказыПокупателейОбороты
    |		ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
    |			ЗаказыПокупателейОстатки.ЗаказПокупателя КАК ЗаказПокупателя,
    |			ЗаказыПокупателейОстатки.Номенклатура КАК Номенклатура,
    |			СУММА(ЗаказыПокупателейОстатки.КоличествоОстаток) КАК ОстатокПоЗаказу,
    |			СУММА(0) КАК ОстатокВРезерве
    |		ИЗ
    |			РегистрНакопления.ЗаказыПокупателей.Остатки КАК ЗаказыПокупателейОстатки
    |		ГДЕ
    |			ЗаказыПокупателейОстатки.ЗаказПокупателя = &Заказ
    |		
    |		СГРУППИРОВАТЬ ПО
    |			ЗаказыПокупателейОстатки.ЗаказПокупателя,
    |			ЗаказыПокупателейОстатки.Номенклатура
    |		
    |		ОБЪЕДИНИТЬ ВСЕ
    |		
    |		ВЫБРАТЬ
    |			ТоварыВРезервеНаСкладахОстатки.ДокументРезерва,
    |			ТоварыВРезервеНаСкладахОстатки.Номенклатура,
    |			СУММА(0),
    |			СУММА(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток)
    |		ИЗ
    |			РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки КАК ТоварыВРезервеНаСкладахОстатки
    |		ГДЕ
    |			ТоварыВРезервеНаСкладахОстатки.ДокументРезерва = &Заказ
    |		
    |		СГРУППИРОВАТЬ ПО
    |			ТоварыВРезервеНаСкладахОстатки.Номенклатура,
    |			ТоварыВРезервеНаСкладахОстатки.ДокументРезерва) КАК ВложенныйЗапрос
    |		ПО ЗаказыПокупателейОбороты.ЗаказПокупателя = ВложенныйЗапрос.ЗаказПокупателя
    |			И ЗаказыПокупателейОбороты.Номенклатура = ВложенныйЗапрос.Номенклатура
    |ГДЕ
    |	ЗаказыПокупателейОбороты.ЗаказПокупателя = &Заказ
    |
    |СГРУППИРОВАТЬ ПО
    |	ЗаказыПокупателейОбороты.ЗаказПокупателя,
    |	ЗаказыПокупателейОбороты.Номенклатура");
    
    запрос.УстановитьПараметр("Заказ",заказ);					  
    
    Результат = Запрос.Выполнить();
    тРезервы.Очистить();
    	
    Если Не Результат.Пустой() Тогда
    	Выборка = Результат.Выбрать();
    	Пока Выборка.Следующий() Цикл
    		НоваяСтрока 		= тРезервы.Добавить();
    		НоваяСтрока.Номенклатура 	= Выборка.Номенклатура;
    		НоваяСтрока.КоличествоВЗаказе = Выборка.КоличествоВЗаказе;
    		НоваяСтрока.ОстатокВРезерве 	= Выборка.ОстатокВРезерве;
    		НоваяСтрока.ОстатокКОтгрузке 	= Выборка.ОстатокПоЗаказу;
    	КонецЦикла; 
    КонецЕсли;

    Заполнение таблицы значений, очень быстро работает)))
    КоличествоВЗаказе в 2 раза больше получается

    Запостил: SrK, 04 Февраля 2010

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

    +5.2

    1. 1
    Выбрать * из РегистрСведений.Таблица Где Таблица.ДатаПодтверждения >= ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0))

    Это вот условие писал мой бывший начальник..

    Запостил: KingOfShit, 29 Января 2010

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

    −2.1

    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

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

    +6.7

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

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

    Запостил: KingOfShit, 14 Января 2010

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

    +5

    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

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

    +2

    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

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

    −0.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

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