ХочуСпросить
ЗооПрограммист
Не за копейки 1С их скупает.А ты цифры-то знаешь? Я знаю. Поверь - за копейки и на кабальных условиях.
Никогда не поддерживал людей, кто говорит о том какие плохие типовые продукты Фирмы 1С.Да не поддерживай, я ж не заставляю.

Свое мнение я озвучил - говнокода в типовых - вагон и маленькая тележка. "Студенты" их пишут.
ХочуСпросить
ЗооПрограммист
не так уж много недоработок в 1С, и детских ошибок из релиза в релиз точно нетТы с точки зрения программиста рассуждаешь?![]()
Хотя да... В типовой семерочной бухии в модуле проведения Предупреждение() - совсем не детская ошибка... А так, мина, которая базу раком поставит...
Повторяющиеся один в один во многих местах куски кода - тоже совсем не детская ошибка. А просто показатель раздолбайского отношения к написанию кода.
Можно долго перечислять.
Разумеется, сами тоже далеко не без греха. Но, извините, согласиться с тем, что код от 1С - образец для подражания... Уж увольте...
ХочуСпросить
ЗооПрограммист
Что-то прям подзавелся я...
Что бы не быть голословным. Вот кусочек кода из типового отчета ОборотноСальдоваяВедомостьПоСчету:
Что это за бред? Они параметры в процедуры передавать не умеют? Им что мешало хотя бы вот так сделать (не вдаваясь в логику, просто само написание кода и дальнейшее его понимание, тем, кто это сопровождать будет)?
Поиск по ПриВыбореСубконто1() дает 7 вхождений.
5 (!!!) из них (тексты процедур) совпадают до буквы.
Будем дальше хвалить типовые или посмотрим правде в глаза?
Что бы не быть голословным. Вот кусочек кода из типового отчета ОборотноСальдоваяВедомостьПоСчету:
Показать спойлер
//-----------------------------------------------
Процедура ПриВыбореСубконто1()
Если ПустоеЗначение(Субконто1) = 0 Тогда
Если ТипЗначения(Субконто1) = 11 Тогда //Справочник
Если Субконто1.ЭтоГруппа() = 1 Тогда
ОтборСубконто1.ТекущаяСтрока(1);
Иначе
ОтборСубконто1.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто1.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто1.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
//-----------------------------------------------
Процедура ПриВыбореСубконто2()
Если ПустоеЗначение(Субконто2) = 0 Тогда
Если ТипЗначения(Субконто2) = 11 Тогда //Справочник
Если Субконто2.ЭтоГруппа() = 1 Тогда
ОтборСубконто2.ТекущаяСтрока(1);
Иначе
ОтборСубконто2.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто2.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто2.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
//-----------------------------------------------
Процедура ПриВыбореСубконто3()
Если ПустоеЗначение(Субконто3) = 0 Тогда
Если ТипЗначения(Субконто3) = 11 Тогда //Справочник
Если Субконто3.ЭтоГруппа() = 1 Тогда
ОтборСубконто3.ТекущаяСтрока(1);
Иначе
ОтборСубконто3.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто3.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто3.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
Процедура ПриВыбореСубконто1()
Если ПустоеЗначение(Субконто1) = 0 Тогда
Если ТипЗначения(Субконто1) = 11 Тогда //Справочник
Если Субконто1.ЭтоГруппа() = 1 Тогда
ОтборСубконто1.ТекущаяСтрока(1);
Иначе
ОтборСубконто1.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто1.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто1.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
//-----------------------------------------------
Процедура ПриВыбореСубконто2()
Если ПустоеЗначение(Субконто2) = 0 Тогда
Если ТипЗначения(Субконто2) = 11 Тогда //Справочник
Если Субконто2.ЭтоГруппа() = 1 Тогда
ОтборСубконто2.ТекущаяСтрока(1);
Иначе
ОтборСубконто2.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто2.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто2.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
//-----------------------------------------------
Процедура ПриВыбореСубконто3()
Если ПустоеЗначение(Субконто3) = 0 Тогда
Если ТипЗначения(Субконто3) = 11 Тогда //Справочник
Если Субконто3.ЭтоГруппа() = 1 Тогда
ОтборСубконто3.ТекущаяСтрока(1);
Иначе
ОтборСубконто3.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто3.ТекущаяСтрока(2);
КонецЕсли;
Иначе
ОтборСубконто3.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
Показать спойлер
Что это за бред? Они параметры в процедуры передавать не умеют? Им что мешало хотя бы вот так сделать (не вдаваясь в логику, просто само написание кода и дальнейшее его понимание, тем, кто это сопровождать будет)?
Показать спойлер
Процедура ПриВыбореСубконто(_Субконто, _ОтборСубконто)
Если ПустоеЗначение(_Субконто) = 0 Тогда
Если ТипЗначения(_Субконто) = 11 Тогда //Справочник
Если _Субконто.ЭтоГруппа() = 1 Тогда
_ОтборСубконто.ТекущаяСтрока(1);
Иначе
_ОтборСубконто.ТекущаяСтрока(2);
КонецЕсли;
Иначе
_ОтборСубконто.ТекущаяСтрока(2);
КонецЕсли;
Иначе
_ОтборСубконто.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
Если ПустоеЗначение(_Субконто) = 0 Тогда
Если ТипЗначения(_Субконто) = 11 Тогда //Справочник
Если _Субконто.ЭтоГруппа() = 1 Тогда
_ОтборСубконто.ТекущаяСтрока(1);
Иначе
_ОтборСубконто.ТекущаяСтрока(2);
КонецЕсли;
Иначе
_ОтборСубконто.ТекущаяСтрока(2);
КонецЕсли;
Иначе
_ОтборСубконто.ТекущаяСтрока(1);
КонецЕсли;
КонецПроцедуры
Показать спойлер
Поиск по ПриВыбореСубконто1() дает 7 вхождений.
5 (!!!) из них (тексты процедур) совпадают до буквы.
Будем дальше хвалить типовые или посмотрим правде в глаза?
п.9
Да есть!!!! Согласен.
Но в карточке товара нет намека даже на коэффициенты.
Или у меня просто одни праздники опять на уме!!!!
Да есть!!!! Согласен.
Но в карточке товара нет намека даже на коэффициенты.
Или у меня просто одни праздники опять на уме!!!!
Pan Inspector
улыбака
мдя, уж на что я не программер (последний раз на дипломе писал программу на С++) и то выглядит дикостью.