Говнокод в типовых

  1. 9 г. назад

    ТиС, код добавлен в последних релизах

    //******************************************************************************  
    //
    //глПолучитьСклонениеНомераСтраницы(НомерЛиста)
    //
    //Параметры:
    // НомерЛиста - номер листа, склонение которого надо возвратить
    //
    //Возвращаемое значение:
    // номер листа в правильном падеже
    //
    Функция глПолучитьСклонениеНомераСтраницы(НомерСтраницы) Экспорт                      
    	
    	Если (НомерСтраницы = 1) или (НомерСтраницы = 21)
    	или (НомерСтраницы = 31) или (НомерСтраницы = 41)
    	или (НомерСтраницы = 51) или (НомерСтраницы = 61)
    	или (НомерСтраницы = 71) или (НомерСтраницы = 81)
    	или (НомерСтраницы = 91) или (НомерСтраницы = 101) Тогда
    		
    		Возврат "листе"; 
    	КонецЕсли;
    	
    	Возврат "листах";	
    	
    КонецФункции  
    
    
    Ответы: (36)
  2. Так семёрошники...

    Ответы: (2) (3)
  3. (1) Если НомерСтраницы % 10 = 1 Тогда
    в семерке работает ничуть не хуже )

  4. (1) в 1с уже давно нет 7-ников, и конфы для 7.7 допиливают 8-ники, это видно по многим косвеным признакам

    Ответы: (15)
  5. Возврат ?(НомерСтраницы % 10 = 1 И НомерСтраницы % 100 <> 11, "листе", "листах");

    и компактнее, и будет работать для кол-ва страниц > 120

    Ответы: (5)
  6. (4) угу, только на семерке не взлетит :)

    Ответы: (6)
  7. (5) чёйта?

    Ответы: (7)
  8. (6) условия в скобки надо брать :)

    Ответы: (8)
  9. (7) даладна

    Ответы: (9)
  10. (8) Вот те крест ┼

    Ответы: (10)
  11. 30.01.2015 08:39:44 отредактировано andrewks

    (9) убедил

    Возврат ?((НомерСтраницы % 10 = 1) И (НомерСтраницы % 100 <> 11), "листе", "листах");
    

    ЗЫ мне простительно, я в код 7-ки сейчас дай бог раз в месяц захожу, не чаще, а уж что-то глобальное забыл когда писал

    Ответы: (11)
  12. (10) нет тебе прощения...

    Ответы: (12)
  13. (11) синтакс-контроль приде - порядок навидэ

    Ответы: (13)
  14. (12) ни фига, позор тебе!

  15. Евангелие от Иоанна, гл. 8, ст. 7

  16. (3) +1

    это особенно было видно в 2010 году, когда чудные алгоритмы лепили по страховым взносам

  17. интересно, а шестерочники [...], что эта семерочная молодежь уже не торт?

  18. а где тут гомнокод

  19. это, скорее, "индусский код"

    Ответы: (22) (23)
  20. в принципе он читабелен, понятен, предельно прост. то, что многабукв - ну да и пусть. может, кодер не хотел заморачивацо с % и прочими операторами

    Ответы: (20)
  21. (19) скорее, кодер получает з/п от кол-ва строк

  22. тут даже можно пофантазировать и вообще поменять модель
    ну, например, не склонять в принципе - писать "на листе(листах" или "количество листов ="
    вот это уже мыслительный уровень посерьёзнее будет

  23. (18) разбираешься в сортах говна?

    Ответы: (23)
  24. andrewks (18) разбираешься в сортах говна?

    lurk:Индусский_код

  25. для меня гомнокод это когда, например, брезгуют ООП там, где он нужен
    неправильная или излишняя абстракция
    ненормализованность

  26. но вообще, имхо, тут надо просто писать "количество листов="
    я не знаю, где эта функция употребляется в конфе
    может, в каких унифицированных формах принято писать прямо со склонением
    но, блин, были времена, когда эти унифицированные формы печатались на заводе и покупались за деньги, а не динамически рисовались в табличном документе
    как там решали вопрос-то
    писали, наверно, просто "листе (листах)"

    Ответы: (27)
  27. вот истинные враги народа ;)

  28. (25) В торг-12 и в счет-фактуре в колонтитулах используется

  29. так же и со склонением ФИО
    ну нахрена их склонять-то?!
    "Адресат: Иванов", а не "Кому: Иванову"
    Да хоть "Кому (им. падеж): Иванов"
    А то блять напридумывают всякой шелухи, потом ещё .dll надо подрубать

  30. Также и эти унифицированные формы. Это [...] лютый. Всякие там сдвиги, подчёркивания, укомповывания, объединения и прочие танцы.
    Нельзя что-ли сделать сухой элегантный стройный документ без этой всей мути.
    Вот где трудозатраты пропадают.

    Ответы: (31) (32)
  31. Вот это и есть гомнокод.

  32. (29) щас договоришься, откомандируем тебя в правительство

    Ответы: (32)
  33. andrewks (29) щас договоришься, откомандируем тебя в правительство

    давно пора порядок там навести
    пошерстить бух учёт, нормы и т.п.

  34. там алкашей и без тебя хватает...

    Ответы: (34)
  35. V777 там алкашей и без тебя хватает...

    я не алкаш

  36. ты выводишь меня из себя, v777
    я с тобой ещё в сентябре срался

    Ответы: (39) (41)
  37. (0) Значит, на поддержку 7.7 набирают по остаточному принципу.

  38. 30.01.2015 10:23:49 отредактировано MIK
    Функция ПолучитьСведенияОКомиссии(ДокументОбъект) Экспорт
    							  
    
    	МенеджерВременныхТаблиц =  Новый МенеджерВременныхТаблиц;
    	Запрос = Новый Запрос;
    	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    	
    	Запрос.УстановитьПараметр("НаДату",				ДокументОбъект.Дата);
        Запрос.УстановитьПараметр("ПК",					ДокументОбъект.ПредседательКомиссии);
    	Запрос.УстановитьПараметр("Организация", 		ДокументОбъект.Организация);
    	
    	
    	Запрос.Текст = "ВЫБРАТЬ
    	               |	ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, РаботникиОрганизацийСрезПоследних.Сотрудник) КАК ФИО,
    	               |	РаботникиОрганизацийСрезПоследних.Должность
    	               |ПОМЕСТИТЬ ПК
    	               |ИЗ
    	               |	РегистрСведений.РаботникиОрганизаций.СрезПоследних(
    	               |			&НаДату,
    	               |			Сотрудник.ФизЛицо = &ПК
    				   |				И Организация = &организация
    	               |				И ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
    	               |				И Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) КАК РаботникиОрганизацийСрезПоследних
    	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&НаДату, ) КАК ФИОФизЛицСрезПоследних
    	               |		ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = ФИОФизЛицСрезПоследних.ФизЛицо
    	               |;
    	               |
    	               |////////////////////////////////////////////////////////////////////////////////
    	               |ВЫБРАТЬ
    	               |	ПК.ФИО КАК ПредседательКомиссииФИО,
    	               |	ПК.Должность КАК ПредседательКомиссииДолжность
    	               |ИЗ
    	               |	ПК КАК ПК";
    				   
    	ПК = Запрос.Выполнить().Выбрать();
    	ПК.Следующий();
    	
    	СоставКомиссии = Новый Структура;
    	СоставКомиссии.Вставить("ПредседательКомиссииФИО" ,ПК.ПредседательКомиссииФИО);
    	СоставКомиссии.Вставить("ПредседательКомиссииДолжность", ПК.ПредседательКомиссииДолжность);
    	
    	//Получим информацию о первом члене комиссии
    	МенеджерВременныхТаблиц =  Новый МенеджерВременныхТаблиц;
    	Запрос = Новый Запрос;
    	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    	
    	Запрос.УстановитьПараметр("НаДату",				ДокументОбъект.Дата);
        Запрос.УстановитьПараметр("ЧК1",				ДокументОбъект.ПервыйЧленКомиссии);
    	Запрос.УстановитьПараметр("Организация", 		ДокументОбъект.Организация);
    	
    	
    	Запрос.Текст = "ВЫБРАТЬ
    	               |	ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, РаботникиОрганизацийСрезПоследних.Сотрудник) КАК ФИО,
    	               |	РаботникиОрганизацийСрезПоследних.Должность
    	               |ПОМЕСТИТЬ ЧК1
    	               |ИЗ
    	               |	РегистрСведений.РаботникиОрганизаций.СрезПоследних(
    	               |			&НаДату,
    	               |			Сотрудник.ФизЛицо = &ЧК1
    				   |				И Организация = &Организация
    	               |				И ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
    	               |				И Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) КАК РаботникиОрганизацийСрезПоследних
    	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&НаДату, ) КАК ФИОФизЛицСрезПоследних
    	               |		ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = ФИОФизЛицСрезПоследних.ФизЛицо
    	               |;
    	               |
    	               |////////////////////////////////////////////////////////////////////////////////
    	               |ВЫБРАТЬ
    	               |	ЧК1.ФИО КАК ПервыйЧленКомиссииФИО,
    	               |	ЧК1.Должность КАК ПервыйЧленКомиссииДолжность
    	               |ИЗ
    	               |	ЧК1 КАК ЧК1";
    				   
    	ЧК1 = Запрос.Выполнить().Выбрать();
    	ЧК1.Следующий();
    	
    	СоставКомиссии.Вставить("ПервыйЧленКомиссииФИО", ЧК1.ПервыйЧленКомиссииФИО);
    	СоставКомиссии.Вставить("ПервыйЧленКомиссииДолжность", ЧК1.ПервыйЧленКомиссииДолжность);
    	
    	//Получим информацию о втором члене комиссии
    	МенеджерВременныхТаблиц =  Новый МенеджерВременныхТаблиц;
    	Запрос = Новый Запрос;
    	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    	
    	Запрос.УстановитьПараметр("НаДату",				ДокументОбъект.Дата);
        Запрос.УстановитьПараметр("ЧК2",				ДокументОбъект.ВторойЧленКомиссии);
    	Запрос.УстановитьПараметр("Организация", 		ДокументОбъект.Организация);
    	
    	
    	Запрос.Текст = "ВЫБРАТЬ
    	               |	ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, РаботникиОрганизацийСрезПоследних.Сотрудник) КАК ФИО,
    	               |	РаботникиОрганизацийСрезПоследних.Должность
    	               |ПОМЕСТИТЬ ЧК2
    	               |ИЗ
    	               |	РегистрСведений.РаботникиОрганизаций.СрезПоследних(
    	               |			&НаДату,
    	               |			Сотрудник.ФизЛицо = &ЧК2
    				   |				И Организация = &Организация
    	               |				И ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
    	               |				И Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) КАК РаботникиОрганизацийСрезПоследних
    	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&НаДату, ) КАК ФИОФизЛицСрезПоследних
    	               |		ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = ФИОФизЛицСрезПоследних.ФизЛицо
    	               |;
    	               |
    	               |////////////////////////////////////////////////////////////////////////////////
    	               |ВЫБРАТЬ
    	               |	ЧК2.ФИО КАК ВторойЧленКомиссииФИО,
    	               |	ЧК2.Должность КАК ВторойЧленКомиссииДолжность
    	               |ИЗ
    	               |	ЧК2 КАК ЧК2";
    				   
    	ЧК2 = Запрос.Выполнить().Выбрать();
    	ЧК2.Следующий();
    	
    	СоставКомиссии.Вставить("ВторойЧленКомиссииФИО", ЧК2.ВторойЧленКомиссииФИО);
    	СоставКомиссии.Вставить("ВторойЧленКомиссииДолжность", ЧК2.ВторойЧленКомиссииДолжность);
    
    	//Получим информацию о третьем члене комиссии
    	МенеджерВременныхТаблиц =  Новый МенеджерВременныхТаблиц;
    	Запрос = Новый Запрос;
    	Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
    	
    	Запрос.УстановитьПараметр("НаДату",				ДокументОбъект.Дата);
        Запрос.УстановитьПараметр("ЧК3",				ДокументОбъект.ТретийЧленКомиссии);
    	Запрос.УстановитьПараметр("Организация", 		ДокументОбъект.Организация);
    	
    	
    	Запрос.Текст = "ВЫБРАТЬ
    	               |	ЕСТЬNULL(ФИОФизЛицСрезПоследних.Фамилия + "" "" + ФИОФизЛицСрезПоследних.Имя + "" "" + ФИОФизЛицСрезПоследних.Отчество, РаботникиОрганизацийСрезПоследних.Сотрудник) КАК ФИО,
    	               |	РаботникиОрганизацийСрезПоследних.Должность
    	               |ПОМЕСТИТЬ ЧК3
    	               |ИЗ
    	               |	РегистрСведений.РаботникиОрганизаций.СрезПоследних(
    	               |			&НаДату,
    	               |			Сотрудник.ФизЛицо = &ЧК3
    				   |				И Организация = &Организация
    	               |				И ПричинаИзмененияСостояния <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
    	               |				И Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)) КАК РаботникиОрганизацийСрезПоследних
    	               |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ФИОФизЛиц.СрезПоследних(&НаДату, ) КАК ФИОФизЛицСрезПоследних
    	               |		ПО РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо = ФИОФизЛицСрезПоследних.ФизЛицо
    	               |;
    	               |
    	               |////////////////////////////////////////////////////////////////////////////////
    	               |ВЫБРАТЬ
    	               |	ЧК3.ФИО КАК ТретийЧленКомиссииФИО,
    	               |	ЧК3.Должность КАК ТретийЧленКомиссииДолжность
    	               |ИЗ
    	               |	ЧК3 КАК ЧК3";
    				   
    	ЧК3 = Запрос.Выполнить().Выбрать();
    	ЧК3.Следующий();
    	
    	СоставКомиссии.Вставить("ТретийЧленКомиссииФИО", ЧК3.ТретийЧленКомиссииФИО);
    	СоставКомиссии.Вставить("ТретийЧленКомиссииДолжность", ЧК3.ТретийЧленКомиссииДолжность);
    
    	
    	Возврат СоставКомиссии
    
    КонецФункции // ПолучитьСведенияОКомиссии()
    
    

    Вот как это назвать?

    Ответы: (44) (48)
  39. вообще по коду в типовых я думаю, что у фирмы 1с либо нихрена нет денег на зарплату сотрудникам, либо они жмоты в степени 80 лвл

  40. (35) мне как то пофигу выходит алкаш при этом из себя или нет...))

    Ответы: (41) (43) (45)
  41. методологи тоже [...] пойми чем занимаются
    то добавляют реквизиты, то удаляют
    бесяцо шоле?!

  42. V777 (35) мне как то пофигу выходит алкаш при этом из себя или нет...))

    бестактный выскочка с плоским юмором

    Ответы: (42) (43) (45) (46)
  43. (41) я и не юморил...а ты тряпка и алкаш...))

    Ответы: (46)
  44. (39)(41) хорош срацца, лучше бы запостили какой-нибудь трэш из типовых

    Ответы: (45) (47)
  45. (37) это из какой конфы?

    Ответы: (48) (59)
  46. andrewks (39)(41) хорош срацца, лучше бы запостили какой-нибудь трэш из типовых

    этот обормот назвал меня алкашом
    какое он имел право?

  47. V777 (41) я и не юморил...а ты тряпка и алкаш...))

    ты компенсируешь свои недостатки за счёт обсирания других?
    поздравляю
    я выше этого

    Ответы: (49) (51)
  48. (43) накой тебе трэш из кахастанских типовых???) да я с ним сейчас и не работаю практически...

    Ответы: (50)
  49. andrewks (37) это из какой конфы?

    документ Ынвентаризация
    по ходу любая типовая

  50. (46) выше этого но ниже всего остального...ибо алкаш...))

    Ответы: (51)
  51. V777 накой тебе трэш из кахастанских типовых???)

    ну, поржать, постебаться

  52. V777 (46) выше этого но ниже всего остального...ибо алкаш...))

    невоспитанный хам

    Ответы: (52) (53)
  53. (51) ага...ща убьюсь об стенку от оскорбления вежливого алкаша...)))

    Ответы: (53)
  54. (51)(52) может, вам отдельную веточку завести? ну, для бэттла

  55. отраслёвка Континент страхование:

    Процедура ОбработкаПроведения(Отказ, Режим)
    ....
    
    	спОрганизаций = СписокОрганизацийДляРасчета();
    
    	СписываемСтарыйРезерв(спОрганизаций);
    	РассчитатьРезерв(спОрганизаций);
    	Записать(РежимЗаписиДокумента.Запись);
    
    
    Ответы: (55) (56) (57)
  56. (54) ппц

  57. (54) документ меняется при проведении?

  58. (54)+ там треш полный
    вкратце, в при проведениие в процедуре РасчитатьРезерв(), создаются три таб. дока, и загоняются в реквизиты с типом хранилище

  59. хорошая годная ветка.
    присоединяюсь к негодованиям

  60. (44) Управление торговым предприятием для Украины, в РФ такой конфы нет

    Ответы: (60) (62)
  61. (59) надо к этой конфе Россиян пригласить

  62. в Казахстане тоже УТП есть...

  63. (59) и кто разработчик сего чуда?

  64. кстати, кто знает, почему БП для Крыма выпустили с релиза 1.0.хх ?
    почему не допилили БП 3.0? Это ведь же наш регион, а налоговые послабления можно было в учетной политике отразить

    Ответы: (64)
  65. (63) чтобы потом содрать бабло за перенос данных

или зарегистрируйтесь чтобы ответить!