- 1
спВидТорговли.ДобавитьЗначение(Перечисление.ВидыТорговли.Нал,Строка(Перечисление.ВидыТорговли.Нал));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−147
спВидТорговли.ДобавитьЗначение(Перечисление.ВидыТорговли.Нал,Строка(Перечисление.ВидыТорговли.Нал));
Типовая торговля для Украины.
Подозреваю , ШО текст датируется концом 90-х.
−134
Если Сумма25<>0 Тогда
с25=Сумма25/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма26<>0 Тогда
с26=Сумма26/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма60<>0 Тогда
с60=Сумма60/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма691<>0 Тогда
с691=Сумма691/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма692<>0 Тогда
с692=Сумма692/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма6921<>0 Тогда
с6921=Сумма6921/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма6922<>0 Тогда
с6922=Сумма6922/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма693<>0 Тогда
с693=Сумма693/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма6931<>0 Тогда
с6931=Сумма6931/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма6932<>0 Тогда
с6932=Сумма6932/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма694<>0 Тогда
с694=Сумма694/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма695<>0 Тогда
с695=Сумма695/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма70<>0 Тогда
с70=Сумма70/Итог("Материалы")*Материалы;
КонецЕсли;
Если Сумма97<>0 Тогда
с97=Сумма97/Итог("Материалы")*Материалы;
КонецЕсли;
−136
ВыполнениеОплаченнойУслугиТранспорт="1"; // выполнение Услуги
ВыполнениеОплаченнойУслугиОплатаТруда="2"; // выполнение Услуги
ВыполнениеОплаченнойУслугиОтчисления="3"; // выполнение Услуги
ВыполнениеОплаченнойУслугиАрендаОС="4"; // выполнение Услуги
ВыполнениеОплаченнойУслугиАмортизацияОС="5"; // выполнение Услуги
ВыполнениеОплаченнойУслугиРемонтОС="6"; // выполнение Услуги
ВыполнениеОплаченнойУслугиИзносМБП="7"; // выполнение Услуги
ВыполнениеОплаченнойУслугиТопливо="8"; // выполнение Услуги
ВыполнениеОплаченнойУслугиХранение="9"; // выполнение Услуги
ВыполнениеОплаченнойУслугиРеклама="Q"; // выполнение Услуги
ВыполнениеОплаченнойУслугиПроценты="W"; // выполнение Услуги
ВыполнениеОплаченнойУслугиПотери="E"; // выполнение Услуги
ВыполнениеОплаченнойУслугиТара="R"; // выполнение Услуги
ВыполнениеОплаченнойУслугиПрочие="T"; // выполнение Услуги
ВыполнениеОплаченнойУслугиНеПринимаемые="Y"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиТранспорт="!"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиОплатаТруда="@"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиОтчисления="#"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиАрендаОС="$"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиАмортизацияОС="%"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиРемонтОС="^"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиИзносМБП="&"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиТопливо="*"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиХранение="("; // выполнение Услуги
НеоплаченноеВыполнениеУслугиРеклама="q"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиПроценты="w"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиПотери="e"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиТара="r"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиПрочие="t"; // выполнение Услуги
НеоплаченноеВыполнениеУслугиНеПринимаемые="y"; // выполнение Услуги
Шо це такое непонятно. Но впечатление производит пугающее
−134
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ВложенныйЗапрос.Ссылка,
| ВложенныйЗапрос.Заказ,
| ЕСТЬNULL(ВложенныйЗапрос.ВРезерве, 0) + ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВРезервеОстаток, 0) КАК СвободныйОстаток
|ИЗ
| (ВЫБРАТЬ ПЕРВЫЕ 1
| ВложенныйЗапрос.Ссылка КАК Ссылка,
| ВложенныйЗапрос.Заказ КАК Заказ,
| СвободныеОстаткиТоваровНаСкладах.ВРезерве КАК ВРезерве,
| ВложенныйЗапрос.Размер КАК Размер
| ИЗ
| (ВЫБРАТЬ ПЕРВЫЕ 1
| Номенклатура.Ссылка КАК Ссылка,
| ЗаказПокупателя.Ссылка КАК Заказ,
| ВЫБОР
| КОГДА &Размер = ЗНАЧЕНИЕ(Справочник.Размер.ПустаяСсылка)
| ТОГДА ЗНАЧЕНИЕ(Справочник.Размер.ПустаяСсылка)
| ИНАЧЕ &Размер
| КОНЕЦ КАК Размер
| ИЗ
| Справочник.Номенклатура КАК Номенклатура,
| Документ.ЗаказПокупателя КАК ЗаказПокупателя
| ГДЕ
| Номенклатура.Ссылка = &Номенклатура
| И ЗаказПокупателя.Ссылка = &Ссылка) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстаткиТоваровНаСкладах КАК СвободныеОстаткиТоваровНаСкладах
| ПО ВложенныйЗапрос.Ссылка = СвободныеОстаткиТоваровНаСкладах.Номенклатура
| И ВложенныйЗапрос.Заказ = СвободныеОстаткиТоваровНаСкладах.Регистратор
| И ВложенныйЗапрос.Размер = СвободныеОстаткиТоваровНаСкладах.Размер
|
| СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Ссылка,
| ВложенныйЗапрос.Заказ,
| СвободныеОстаткиТоваровНаСкладах.ВРезерве,
| ВложенныйЗапрос.Размер) КАК ВложенныйЗапрос
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстаткиТоваровНаСкладах.Остатки(
| ,
| Склад = &Склад
| И Организация = &Организация) КАК СвободныеОстаткиТоваровНаСкладахОстатки
| ПО ВложенныйЗапрос.Размер = СвободныеОстаткиТоваровНаСкладахОстатки.Размер
| И ВложенныйЗапрос.Ссылка = СвободныеОстаткиТоваровНаСкладахОстатки.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Ссылка,
| ВложенныйЗапрос.Заказ,
| ЕСТЬNULL(ВложенныйЗапрос.ВРезерве, 0) + ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВНаличииОстаток, 0) - ЕСТЬNULL(СвободныеОстаткиТоваровНаСкладахОстатки.ВРезервеОстаток, 0)" );
Запрос.УстановитьПараметр("Номенклатура",ТекущийЭлемент.ТекущаяСтрока.Номенклатура);
Запрос.УстановитьПараметр("Размер",ТекущийЭлемент.ТекущаяСтрока.Размер);
Запрос.УстановитьПараметр("Склад",Склад);
Запрос.УстановитьПараметр("Ссылка",Ссылка);
Запрос.УстановитьПараметр("Организация",Ссылка.Организация);
Выборка = Запрос.Выполнить().Выбрать();
Человек, написавший такой запрос явно был с перепоя. С учетом его двухлетнего опыта программирования в 1С - никогда бы на него не подумал... но факт.
−137
Процедура НачалоВыбораСчета(Элемент, СписокСчетов = "", СписокСчетовНУ = "", ТекущийСчет = Неопределено)
СписокСчетовОтбора = "";
Если ЗначениеЗаполнено(СписокСчетов) Тогда
ФормаВыбораСчета = ПланыСчетов.Хозрасчетный.ПолучитьФормуВыбора( ,Элемент, );
СписокСчетовОтбора = СписокСчетов;
КонецЕсли;
ПолеОтбора = ФормаВыбораСчета.Отбор.Код;
ПолеОтбора.ВидСравнения = ВидСравнения.ВСписке;
ПолеОтбора.Значение = СписокСчетовОтбора;
ПолеОтбора.Использование = Истина;
ФормаВыбораСчета.ЭлементыФормы.Список.НастройкаОтбора.Код.Доступность = Ложь;
Если ТекущийСчет <> Неопределено Тогда
ФормаВыбораСчета.ЭлементыФормы.Список.ТекущаяСтрока = ТекущийСчет;
КонецЕсли;
ФормаВыбораСчета.ОткрытьМодально();
КонецПроцедуры
Конфа Бухгалтерия 2.0 - официальный код 1С. Просто нет слов.
1. Передаваемый процедуре параметр "СписокСчетов" по умолчанию имеет значение "".
2. В первом "Если" идет инициализация объекта "ФормаВыбораСчета", но в это "Если" мы попадем не всегда (п.1)
3. Ну а дальше без всякого рода сомнений происходит получение реквизита объекта, который на ура может быть неинициализированным: ПолеОтбора = ФормаВыбораСчета.Отбор.Код
1С - ты всегда будешь в нашей памяти, СЦУКО!
−134
с = 0;
Для Каждого стчТовары Из ЗаказНаряд.Товары Цикл
нстчТовары = НоваяНалоговая.Товары.Добавить();
нстчТовары.Номенклатура = ЗаказНаряд.Товары[с].Номенклатура;
нстчТовары.Количество = ЗаказНаряд.Товары[с].Количество;
нстчТовары.Цена = ЗаказНаряд.Товары[с].Цена;
...
нстчТовары.СуммаВсего = ЗаказНаряд.Товары[с].СуммаВсего;
с = с + 1;
КонецЦикла;
Ни шагу без счетчика! Особенно в итераторе. =)
−138
вайп
−137
вайп
−89
// Функция для склонения одного слова!!!
// z1 - само слово
// z2 - номер падежа
// z3 - пол
// z4 - 1-склонять как фамилию, 2-имя, 3-отчество
Функция ПадежС(z1,Знач z2=2,Знач z3="*",z4=0) Экспорт
z5=Найти(z1,"-"); z6=?(z5=0,"","-"+ПадежС(Сред(z1,z5+1,СтрДлина(z1)-z5+1),z2,z3,z4)); z1=НРег(?(z5=0,z1,Лев(z1,z5-1))); z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1);
z5=СтрДлина(z1); za=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8); zb=Найти("аеёийоуэюяжнгхкчшщ",Лев(z7,1)); zc=Макс(z2,-z2); zd=?(za=4,5,Найти("айяь",z9));
zd=?((zc=1)или(z9=".")или((z4=2)и(Найти("оиеу"+?(z3="ч","","бвгджзклмнпрстфхцчшщъ"),z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),9,?((zd=4)и(z3="ч"),2,?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,9,?(z3<>"ч",?(za=1,7,?(z9="а",?(za>18,1,6),9)),?(((Найти("ой ый",z8)>0)и(z5>4)и(Прав(z1,4)<>"опой"))или((zb>10)и(za=16)),8,zd))),zd)));
ze=Найти("лец вей бей дец пец мец нец рец вец аец иец ыец бер",z7);
zf=?((zd=8)и(zc<>5),?((zb>15)или(Найти("жий ний",z7)>0),"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))=0)и((zb>11)или(zb=0))и(ze<>45),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<12,"ь"+?(ze=1,"ц",""),?(ze<37,"ц",?(ze<49,"йц","р"))))))))));
zf=?((zd=9)или((z4=3)и(z3="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+Сред("оыые",Найти("внч",z9)+1,1)+"ме "+?(Найти("гжкхш",Лев(z8,1))>0,"и","ы")+" е у ойе я ю я ем"+?(za=16,"и","е")+" и е ю ейе и и ь ьюи и и ю ейи ойойу ойойойойуюойойгомуго"+?((zf="е")или(za=16)или((zb>12)и(zb<16)),"и","ы")+"мм",10*zd+2*zc-3,2)));
Возврат ?(""=z1,"",?(z4>0,ВРег(Лев(zf,1))+?((z2<0)и(z4>1),".",Сред(zf,2)),zf)+z6);
КонецФункции
шедевр, кстати!
−123
Функция МесяцПрописью()
М = Месяц(КонПериода);
П = "";
Если М = 1 Тогда П = "январь"
ИначеЕсли
М = 2 Тогда П = "февраль"
ИначеЕсли
М = 3 Тогда П = "март"
ИначеЕсли
М = 4 Тогда П = "апрель"
ИначеЕсли
М = 5 Тогда П = "май"
ИначеЕсли
М = 6 Тогда П = "июнь"
ИначеЕсли
М = 7 Тогда П = "июль"
ИначеЕсли
М = 8 Тогда П = "август"
ИначеЕсли
М = 9 Тогда П = "сентябрь"
ИначеЕсли
М = 10 Тогда П = "октябрь"
ИначеЕсли
М = 11 Тогда П = "ноябрь"
ИначеЕсли
М = 12 Тогда П = "декабрь"
КонецЕсли;
Возврат П;
КонецФункции
Абсолютно реальный код в одном из отчетов...