Бухгалтерия / Говнокод #9216 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
Процедура НачалоВыбораСчета(Элемент, СписокСчетов = "", СписокСчетовНУ = "", ТекущийСчет = Неопределено)
	
	СписокСчетовОтбора = "";
	Если ЗначениеЗаполнено(СписокСчетов) Тогда
		ФормаВыбораСчета   = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора( ,Элемент, );
		СписокСчетовОтбора = СписокСчетов;
	КонецЕсли;
	
	ПолеОтбора	= ФормаВыбораСчета.Отбор.Код;
	
	ПолеОтбора.ВидСравнения	= ВидСравнения.ВСписке;
	ПолеОтбора.Значение		= СписокСчетовОтбора;
	ПолеОтбора.Использование	= Истина;
	
	ФормаВыбораСчета.ЭлементыФормы.Список.НастройкаОтбора.Код.Доступность = Ложь;
	Если ТекущийСчет <>  Неопределено Тогда
		ФормаВыбораСчета.ЭлементыФормы.Список.ТекущаяСтрока = ТекущийСчет;
	КонецЕсли;
	ФормаВыбораСчета.ОткрытьМодально();
	
КонецПроцедуры

Конфа Бухгалтерия 2.0 - официальный код 1С. Просто нет слов.

1. Передаваемый процедуре параметр "СписокСчетов" по умолчанию имеет значение "".
2. В первом "Если" идет инициализация объекта "ФормаВыбораСчета", но в это "Если" мы попадем не всегда (п.1)
3. Ну а дальше без всякого рода сомнений происходит получение реквизита объекта, который на ура может быть неинициализированным: ПолеОтбора = ФормаВыбораСчета.Отбор.Код

1С - ты всегда будешь в нашей памяти, СЦУКО!

Запостил: squeez squeez, (Updated )

Комментарии (7) RSS

  • Да полным-полно там багов, кто б сомневался. Особое счастье - поддерживать ОЧЕНЬ старые конфигурации. На них, соответственно, исправлений багов не светит, приходится разбираться в тоннах быдлокода.
    Ответить
  • СписокСчетов = "" - это значение по умолчанию в том случае если в процедуру не будут передавать список счетов.
    Например: НачалоВыбораСчета(МойЭлемент, , , ),
    но может подразумеватся и другой вызов данной процедуры
    Например: НачалоВыбораСчета(МойЭлемент, МойСписокСчетов , , )
    Нужно смотреть где еще используется данная процедура. Если сама по себе - то да, это бред
    Ответить
    • По идее это обработчик события. Зачем там вообще дефолтное значение - нипанятнаааа.
      Ответить
  • ц?VK:E?P,F.Z(G S"K$IV!L Y?I!A"L(X?YV)A!J.H.S(V?F(W)V(S"IA)W$U$H"I!I(B,A.P?D"UK:K,V"ZV A?S)S:F$W K"O$K,K(O:B?S,H!X,S)F?X"H:JB$T(O F)S.O!A$V.NE!L!U,E(H:I)XC$F:Z?H:D"X R!U,H$S$T$M!G!Q Y$O H$O"R$E!SO N"O)T?Y)UU!A,D:K O)T.P:T(YC.A!TA$J)V?H)N!J$U!O(L?F.G.B!N)D,B:K$H)C!L$J?A$O.N!Y$P.Z$Q U?E?O,G:O$R:J!H:C.Y!X?Q,G,M!K,B:L.Q.A?G:U.X)F"O)A)RV?D?N)ST:N)W$I,N:S:G.M:B?L!T(B!L,M.U!I,Q)H?A(T,N(X!S$Z$Q N:H HJ:V!H?VQ(I:N$R$J Q,D"I"E.Z$M S.G?P$AN(K"F)W$G!N!T)P,C$R,S(Q!J"J!Q.CE$F,B$U:O,D?I.X"F.V H!H,OGNЙOFRZWWOPCPFAINCKKLOBZWJDRKHSTQULNZIDYMZZLFYBQLGDFZSQGKUMCUDSSTDKWXDOXIZDULDJJNVORMSPWUKWKNQLUVCGYAMEGOSSWTIOAUGHSDMAIRDEDCKSVBDGUEHJCBCCSIYCPMGEPDGZOJJECARLEXHLZSOSFXZWFQOKPNEYUVUBUIGEEAPNYLUKHDWVOILQOHCRCNGOKWDIUUDATYEFYRHEQAJZIGHPCBCOFPQQNYOXXWVKFQGCZKNHEXVERRLBSXBK
    Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8