Нашли или выдавили из себя код, который нельзя назвать нормальным,
на который без улыбки не взглянешь?
Не торопитесь его удалять или рефакторить, — запостите его на
говнокод.ру, посмеёмся вместе!
. . .
ццц=0;
Если Сотрудникз.Выбран()=0 Тогда
Сомр= СоздатьОбъект("Справочник.Сотрудники");
Сомр.ВыбратьЭлементы();
цццк=50000;
Иначе
Сомр=Сотрудникз;
цццк=1;
КонецЕсли;
Пока ((ццц<цццк) ) цикл
ццц=ццц+1;
Если цццк>1 Тогда
Если (Сомр.ПолучитьЭлемент()=0) Тогда
Прервать;
КонецЕсли;
КонецЕсли;
Сотрудник = Сомр.ТекущийЭлемент();
Если Сотрудник.ЭтоГруппа()=1 Тогда
продолжить;
КонецЕсли;
. . .
По нормальному решается:
Сотр = СоздатьОбъект("Справочник.Сотрудники");
Сотр.ВыбратьЭлементы();
Пока (Сотр.ПолучитьЭлемент() = 1) Цикл
. . .
КонецЦикла
Досталось в наследство на основной работе, самописная конфа на 7.7,
как выяснилось этот участок кода писала 50-ти летняя женщина-программист
ABAP = 1С на английском (это для тех, кто языками владеет), так в нем тоже можно не код писать, а строчки из "Войны и мир", например:
shift param_name left deleting leading space. // удаляет из строки param_name лидирующие пробелы
data table_name1 like structure_name occurs 0 with header line. // объявление внутренней таблицы table_name1 со структурой structure_name, с инициализацией на 0 строк и с заголовочной частью
1С — это пародия на VB или JS, поэтому плохо подходит для русских ключевых слов. А вот синтаксис ABAP можно было бы попробовать перевести на другие языки. Перевели же COBOL на русский!
это еще что, вы типовые конфигурации посмотрите, особенно под 8.х, которые пишутся не с целью повысить эффективность решения, а с целью минимально нарушить универсальность кода, чтобы его можно было с таскать между типовыми решениями, это приводит к появлению невероятно громоздких и тормознутных конструкций, которые вообще не документируются и их знают только авторы, т.е. сама 1С, так что когда приходится разбираться в этом говнокоде, то бывает матов не хватает, поэтому не люблю типовые решения
виз справочникз
ТабличныеДанные.ДобавитьЗначение((Итоги. НачисленоВсего - ПолучитьДанные("НачисленноВсего_СНачалаГ ода", (Индекс - 1))), "НачисленноВсего_Месяц" + Индекс);
ТабличныеДанные.ДобавитьЗначение((Итоги. ПособийЗаСчетФСС - ПолучитьДанные("ПособияЗаСчетФСС_СНачала Года", (Индекс - 1))), "ПособияЗаСчетФСС_Месяц" + Индекс);
ТабличныеДанные.ДобавитьЗначение(((Итоги .ЕСНОблагаемая - Итоги.ЕСНОблагаемаяФСС) - ПолучитьДанные("ДоговораПодряда_СНачалаГ ода", (Индекс - 1))), "ДоговораПодряда_Месяц" + Индекс);
ТабличныеДанные.ДобавитьЗначение(?(Итоги .ЕСНОблагаемая >= Предел, Итоги.ЕСНОблагаемая - ПолучитьДанные("СуммаПревыщающая_СНачала Года", (Индекс - 1)) - Предел, ""), "СуммаПревыщающая_Месяц" + Индекс);
ТабличныеДанные.ДобавитьЗначение(?(Итоги .ЕСНОблагаемаяФСС >= Предел, Итоги.ЕСНОблагаемаяФСС - ПолучитьДанные("СуммаПревыщающаяФСС_СНач алаГода", (Индекс - 1)) - Предел, ""), "СуммаПревыщающаяФСС_Месяц" + Индекс);
я же говорю, по-русски...
shift param_name left deleting leading space. // удаляет из строки param_name лидирующие пробелы
data table_name1 like structure_name occurs 0 with header line. // объявление внутренней таблицы table_name1 со структурой structure_name, с инициализацией на 0 строк и с заголовочной частью