- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Номенклатура.Ссылка КАК Номенклатура
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка В(&НоменклатураПоОтбору)
|
|СГРУППИРОВАТЬ ПО
| Номенклатура.Ссылка
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−92
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| Номенклатура.Ссылка КАК Номенклатура
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка В(&НоменклатураПоОтбору)
|
|СГРУППИРОВАТЬ ПО
| Номенклатура.Ссылка
Пусть 1с раздупляется, что тебе не нужны одинаковые элементы справочника "номенклатура"
−100
//ВИНМАНИЕ Деление на 0
Если СтрокаЗаказа.КоличествоДнейНаличияНаСкладеЗаПериод = 0 Тогда
СтрокаЗаказа.КоличествоСделокВДень = 0;
Иначе
СтрокаЗаказа.КоличествоСделокВДень = СтрокаЗаказа.КоличествоСделокЗаПериод
/ ?( СтрокаЗаказа.КоличествоДнейНаличияНаСкладеЗаПериод = 0, 1, СтрокаЗаказа.КоличествоДнейНаличияНаСкладеЗаПериод );
КонецЕсли;
по условию 1с не догнала, что там 0...
−91
Функция СравнитьЭлементыСправочника(Элемент1, Элемент2, фЗаписатьРазличия=0) Экспорт
Перем Рез;
Рез = 0;
Если (Элемент1 <> Элемент2) и (фЗаписатьРазличия=0) Тогда
Рез = 1;
Перейти ~М1;
КонецЕсли;
// сначала проверим код и наименование
Если (Элемент1.Код <> Элемент2.Код) Тогда
если фЗаписатьРазличия=1 Тогда
ЗаписьЖурналаРегистрации("изменен код с '"+СокрЛП(Элемент1.Код)+"' на '"+СокрЛП(Элемент2.Код)+"'","Справочники","Изменен реквизит справочника",Элемент1,2);
Иначе
Рез = 1;
Перейти ~М1;
КонецЕсли;
КонецЕсли;
Если Элемент1.Наименование <> Элемент2.Наименование Тогда
если фЗаписатьРазличия=1 Тогда
ЗаписьЖурналаРегистрации("изменено наименование с '"+СокрЛП(Элемент1.наименование)+"' на '"+СокрЛП(Элемент2.наименование)+"'","Справочники","Изменен реквизит справочника",Элемент1,2);
Иначе
Рез = 1;
Перейти ~М1;
КонецЕсли;
КонецЕсли;
// == тут было код который удалил автор поста ==
~М1:
Возврат Рез;
КонецФункции
Внезапно нашел такую функцию неизвестного автора :)
−103
к = 0;
ТЗ2=СоздатьОбъект("ТаблицаЗначений");
ВыгрузитьТабличнуюЧасть(ТЗ2,"ТМЦ,Кво");
ТЗ2.НоваяКолонка("Арт");
ТЗ2.ВыбратьСтроки();
Пока ТЗ2.ПолучитьСтроку()=1 Цикл
ТМЦ_=ТЗ2.ПолучитьЗначение(к+1,"ТМЦ");
Если Лев(ТМЦ_,5)="Набор" Тогда
ТЗ2.Арт=ТМЦ_.Родитель;
Иначе
ТЗ2.Арт=ТМЦ_.Родитель.Родитель;
КонецЕсли;
к=к+1;
КонецЦикла;
Из 7.7. Особенно радует момент ТМЦ_=ТЗ2.ПолучитьЗначение(к+1,"ТМЦ");
−87
ТекЗакладка=0;
Если ТекЗакладка=0 тогда ТекЗакладка=1;КонецЕсли;
Путаем следы?
−110
СписокЗначенийТиповЦен = Новый СписокЗначений;
...
КоличествоЦен = 0;
РезультатВыбора = ФормаВыбораТиповЦен.ОткрытьМодально();
Для Каждого Элемент Из РезультатВыбора Цикл
СписокЗначенийТиповЦен.Добавить(Элемент.Значение);
КоличествоЦен = КоличествоЦен + 1;
КонецЦикла;
Если КоличествоЦен = 0 Тогда
Предупреждение("Не выбран ни один тип цен!!!");
Возврат;
КонецЕсли;
Нет проверки на возвращение "неопределено" в строке 4. К тому же в результате возвращает список значений, зачем создавать еще один список и все элементы переносить в него для меня загадка.
Ну и счетчик количества элементов в цикле вместо РезультатВыбора.Количество() на десерт.
−92
...
Запрос.Текст =
"...
|ГДЕ
| ...
| И ТипыЦенНоменклатуры.ПроцентСкидкиНаценки <> &Нуль
| ...";
Запрос.УстановитьПараметр("Нуль", 0);
...
−117
Если пФорма<>1 Тогда
СтрокаСФ="№";
Иначе
СтрокаСФ="№";
КонецЕсли;
Загадочное условие в печатной форме ветеринарного свидетельства :)
−364
Если (ДатаГод(ДатаДок) < 2010) ИЛИ (ДатаГод(ДатаДок) < 2010 ) Тогда
Строка кода из типовой конфигурации 1С: Бухгалтерия 7.7, релиз 522
No comments ...
−125
//Николай
//проверяем артикул и если его нет, то генерируем
Если ПустаяСтрока(Артикул) Тогда
Запрос = Новый Запрос("ВЫБРАТЬ
| МАКСИМУМ(Номенклатура.Артикул) КАК ТекАртикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура");
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
ТекКод = ?(Выборка.ТекАртикул = NULL, 1, Мин(ОбщегоНазначения.ПривестиСтрокуКЧислу(Выборка.ТекАртикул) + 8000, 9999999));
ТекАртикул = Формат(ТекКод, "ЧЦ=7; ЧВН=; ЧГ=");
//проверяем дальше
Выход=0;
Пока Выход=0 Цикл
Запрос = Новый Запрос("ВЫБРАТЬ
| Номенклатура.Артикул КАК ТекАртикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Артикул = &Артикул");
Запрос.УстановитьПараметр("Артикул", ТекАртикул);
Выборка = Запрос.Выполнить().Выбрать();
Нашли = Выборка.Следующий();
Если Нашли Тогда
ТекАртикул=Мин(ОбщегоНазначения.ПривестиСтрокуКЧислу(ТекАртикул) + 1, 9999999);
ТекАртикул = Формат(ТекАртикул, "ЧЦ=7; ЧВН=; ЧГ=");
Иначе
Выход=1;
КонецЕсли
КонецЦикла;
Артикул=ТекАртикул;
КонецЕсли;
//Николай
Задача: сформировать артикул (число) из 7и знаков по формуле "максимальный артикул + 1". при этом тип реквизита - строка(7). В базе встречаются значения "945784 ", "98763443".