Имя: Пароль:
1C
Юмор
Коллега-Чудотворец(маг в 1 поколении)
0 cawokru
 
25.07.12
13:57
1. Я сам себе маг 45% (5)
2. Гадаю ежеменутно 36% (4)
3. У меня тоже есть маги 1 поколения 18% (2)
4. У меня есть маги 2 поколения 0% (0)
Всего мнений: 11

&НаКлиенте
Процедура тзТабЧастьДекларацииПриАктивизацииСтроки(Элемент)
//...
НомерацияСтрок();
//...
КонецПроцедуры

Процедура НомерацияСтрок()

Счетчик=1;

Для каждого ВводДекларация Из тзТабЧастьДекларации Цикл  
 //Нумерация табличной части Декларации
 ВводДекларация.НомерСтроки=Счетчик;
 Счетчик=Счетчик+1;  
КонецЦикла;

КонецПроцедуры
1 Maxus43
 
25.07.12
14:01
Коллега-Чудотворец(маг в 1 поколении, незнающий русского языка)
2 Stim
 
25.07.12
14:01
сильно
3 rs_trade
 
25.07.12
14:02
(0) хвастаешься?
4 zender
 
25.07.12
14:02
тут govnokod.ru/1c много такого
5 cawokru
 
25.07.12
14:02
забыл написать, что номер декларации сканируется и добавляется строка в тч. в тч может быть около 1к строк.
6 SherifSP
 
25.07.12
14:02
(0) оО
7 cawokru
 
25.07.12
14:03
(3)да вот думаю взять уроков
8 aleks-id
 
25.07.12
14:03
(0) допиши ему запрос туда
9 Maxus43
 
25.07.12
14:03
(5) какую часть тела прострелили автору кода?
10 Armando
 
25.07.12
14:04
(0) И че? Возьми да объясни ему в чем он не прав.
11 pumbaEO
 
25.07.12
14:04
(1) вот для такого я использую http://screencast.com/t/2ZhJNy390R
12 myk0lka
 
25.07.12
14:04
(0)Работает? ))))
13 Анцеранана
 
25.07.12
14:04
(0) алгоритм непонятен
(1) НеУчавствуетВРаспределении, ЗарпалатаСотрудников, Расшивфровка - и это только за сегодня)))
14 stix2010
 
25.07.12
14:05
жестоко? он узбек?
15 Анцеранана
 
25.07.12
14:06
;) ежечастно

Гадаю ежеменутно
16 H A D G E H O G s
 
25.07.12
14:07
1С Совместимо плачет крокодиловыми слезами, мечтая слиться с вашей конфигурацией в экстазе проверки и тысяч -пятьсот ошибок.
17 cawokru
 
25.07.12
14:08
(10)если я выложу весь модуль... то пожалуй, ты как и я начнешь думать, что не прав именно ты:)))
18 cawokru
 
25.07.12
14:08
(12)летает
19 BoCh
 
25.07.12
14:09
(0) Раджешу (или как его там) привет передавай)
20 pumbaEO
 
25.07.12
14:10
ибо без магии никак.

Я сам себе маг
21 БалбесВ1с
 
25.07.12
14:14
(20)нОмерация крутое слово надо запомнить) и главное правильное
22 myk0lka
 
25.07.12
14:15
(18)Ну и не трогай! )))) Это особая, уличная магия....
23 cawokru
 
25.07.12
14:15
(21)ага, скоро будем в документах видеть 5000 руб.(5 тыщ рублей).
24 Stepa86
 
25.07.12
14:17
Если б магия существовала, то заклинания создавали бы программисты...

Я сам себе маг
25 Classic
 
25.07.12
14:17
(0)
Что не так?

Гадаю ежеменутно
26 1Сергей
 
25.07.12
14:19
(4) не открывается
27 cawokru
 
25.07.12
14:19
(25) Счетчик=Счетчик+1; без пробелов смотрится некрасиво:(
28 Stepa86
 
25.07.12
14:21
(27) я правильно понимаю что табличная часть называется "тзТабЧастьДекларации"?
29 EasyRider
 
25.07.12
14:22
(21)номерация - для чотких посонов
30 Vladal
 
25.07.12
14:23
и чо? не неграмотно пишет. чо тут такова?
31 Vladal
 
25.07.12
14:23
*ниграматна пешет
32 1Сергей
 
25.07.12
14:23
слово "номер" есть, а "номерации" нету?
33 1Сергей
 
25.07.12
14:24
(31) палишься :)
34 cawokru
 
25.07.12
14:24
(19) столько раз в день здороваться некультурно
35 Stepa86
 
25.07.12
14:24
(32) да
36 hhhh
 
25.07.12
14:26
(34) не томи уже, давай процедуры тзТабЧастьДекларацииПриВыводеСтроки и тзТабЧастьДекларацииПриПолученииДанных
37 Vladal
 
25.07.12
14:27
У меня аналогичное в наследстве:
http://s52.radikal.ru/i137/1207/77/6ea15989e208.png

Гадаю ежеменутно
38 cawokru
 
25.07.12
14:27
(36)для новых веток берегу;)
39 1Сергей
 
25.07.12
14:28
(37) зато компактно :)
40 Vladal
 
25.07.12
14:28
(38) А что, такие там тоже есть???
41 Vladal
 
25.07.12
14:28
(39) это фимоз головного мозга. или что там было... ганглий, наверно.
42 Stepa86
 
25.07.12
14:29
(37) после аимпа в панели задач там 1С9???
43 Vladal
 
25.07.12
14:29
(42) Да, это аимпа.
44 hhhh
 
25.07.12
14:30
(38) ведь понятно: если нОмеровали, значит в ПолученииДанных тоже какие-нибудь номера.

Я сам себе маг
45 Vladal
 
25.07.12
14:30
(44) Номер, номеровали ))), ноль, нуль, нумерация номеров.
46 cawokru
 
25.07.12
14:32
(45)нолировали, нолировали и недовынанолировали
47 БалбесВ1с
 
25.07.12
14:32
(30)(32)Вообще слово номерация есть,просто его не использует никто,только (20)видимо воспитан при коммунистах)
48 cawokru
 
25.07.12
14:37
просто человек получил высшее образование в сфере IT, моя есть недофизик-теоретик. и даже в первую свою неделю работы, когда я тупил нереально, мне в голову подобные мысли не лезли...
49 1Сергей
 
25.07.12
14:38
(46) и тут без нано-технологий не обошлось...
50 pumbaEO
 
25.07.12
14:38
(47) хм мы говорим про govnoкод или про орфографические ошибки?
Кто ни разу не писал govnoкод пускай первым кинет в меня камень.

а для проверки орфографических ошибок пользуюсь (11) , очень даже помогает при переключенной раскладке.
51 palpetrovich
 
25.07.12
14:40
(37) пипец у тебя всякого г. на работе запущено :)
52 bushd
 
25.07.12
14:41
Раньше, я в наименование функций матюги вставлял нормально, весело. И в сообщения юзверям поговорки, типа - работа не волк в лес не убежит...
53 Vladal
 
25.07.12
14:43
(51) Ты не прав, месье.
Это мой личный ноут с 3 гигами оперативы, против фирменного системника с 1 гигом.
Это поцтому, что у нас порезали аренду в 2 раза и все кабинеты совместили. Мы вот в кабинете СБ сидим, на столах-тумбах, тут мой ноут и пригодился
54 Vladal
 
25.07.12
14:44
(51) кстати, больше всего памяти жрёт 1С
55 stix2010
 
25.07.12
14:47
чародей 80 лвл
56 palpetrovich
 
25.07.12
14:53
(53) понятненько :)
57 zender
 
25.07.12
14:55
(26) да, перестал открываться чего-то, но в кэше гугла остался
http://webcache.googleusercontent.com/search?q=cache:govnokod.ru/1c
58 Vladal
 
25.07.12
14:58
(57) АД и в кеше Тындекса есть )))
59 cawokru
 
25.07.12
15:01
(26)(57)они просто использовали посты для доработки своего сайта:)))
60 Vladal
 
25.07.12
15:06
(59) Из раздела WEB?
61 cawokru
 
25.07.12
15:09
php
62 cawokru
 
25.07.12
15:13
продолжение банкета:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
   //Обработка заполнения и отображения документа
   
   ПолучитьПрефиксыДеклараций();
   
   Заполнение = Новый Запрос;
   Заполнение.Текст="
   | Выбрать НомерДекларации, НомерЗаказа, Декларация, Добавлено
   |            ,Сумма(сумма) как сумма, Сумма(Количество) как количество
   | Из Документ.ведомостьВыдачиТМЦ.ТаблицаЗаказы
   | Где ссылка=&ссылка
   | СГРУППИРОВАТЬ ПО
   |    НомерДекларации, НомерЗаказа, Декларация, Добавлено
   |";
   
   Заполнение.УстановитьПараметр("Ссылка",Объект.Ссылка);
   Результат=Заполнение.Выполнить();    
   
   Декларация = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   Счетчик=1;
   Пока Декларация.Следующий() Цикл        
       //заполнение табличной части Декларации
       ВводДекларация=тзТабЧастьДекларации.Добавить();
       ВводДекларация.Декларация=Декларация.Декларация;
       ВводДекларация.Добавлено=Декларация.Добавлено;
       ВводДекларация.НомерЗаказа=Декларация.НомерЗаказа;
       ВводДекларация.НомерДекларации=Декларация.НомерДекларации;
       ВводДекларация.Количество=Декларация.Количество;
       ВводДекларация.НомерСтроки=Счетчик;
       Счетчик=Счетчик+1;        
   КонецЦикла;
   
   тзТабЧастьНоменклатура.Очистить();
   
КонецПроцедуры
63 rphosts
 
26.07.12
10:50
(37) сильно....
64 n koretsky
 
26.07.12
11:02
страшный человек...
65 n koretsky
 
26.07.12
11:02
ну, и голоснуть, понятное дело

Гадаю ежеменутно
66 cawokru
 
26.07.12
18:59
ааа, я не могу... второй день правлю, а оно все лезет...

Если ВыборкаНоменклатура.Количество=Null Тогда
   НоваяСтрокаТабличнаяЧасть.Количество=1;
Иначе
   НоваяСтрокаТабличнаяЧасть.Количество=ВыборкаНоменклатура.Количество;
КонецЕсли;

придется в день сисадмина пить сгоря...

У меня тоже есть маги 1 поколения
67 Steel_Wheel
 
26.07.12
19:03
xxx: дурщальбе мегельме!
yyy: чо???
xxx: гарбалар малардар? гурдабар?
yyy: чо происходит с тобой?
xxx: зильмалах абд рашамал бурмалаг. Гирмедель аль мазарад
yyy: бл*ть!!!! Миша, втф?!
xxx: что сц*ко, не понимаешь меня да?!
xxx: вот и мы тут твой код не понимаем, еще раз так напишешь, я только так с тобой общаться буду
68 Sakura
 
26.07.12
19:16
(67) ага =)

Я сам себе маг
69 GROOVY
 
26.07.12
19:38
Вот из недавнего (пишу по памяти):

Процедура ПриЗаписи()
Переменная = ПользователиИнформационнойБазы.ТекущийПользователь();
Автор = Справочники.Пользователи.найтиПонаименованию(Переменная.Имя);
Переменная.Записать();
70 VladZ
 
26.07.12
19:49
Вот эти три срочки преследуют меня:

Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
сообщить("Увы!");
КонецЕсли;
71 Smallrat
 
26.07.12
20:54
В типовой ЗУПе (2.5.18.3) такой перл встретился:

НомерГода = Число(Прав(Год(ТекущаяДата()), 1));
ДатаМесяца = Дата(НомерГода, НомерМесяца, 1);

еще и в 2010 году валилось

Я сам себе маг
72 hohol
 
26.07.12
21:01
(0) та это вообще милый бред.
У нас один товарищ любил писать условия вида
?(?(?(,?(,)),),) -  как то так

А еще мне про одного рассказывали, лично не видел, потому как его быстро списали. Так ему задачу дадут, он сделает вообще не то. У него спрашивает -wtf?
А он  отвечает, что у него или видение было или сновидение, что ему сказали - "ты умножаешь зло! не делай так, делай по другому".

Правильно, что списали. Такой и завалить может.
73 Denyk
 
26.07.12
23:47
Вот с такими чудесами встретился. Это украинская бухия 7.7. К ней приделали оперативый учет на регистрах. Одна из процедурок (все в таком же стиле):

Function CostFin(doc,Stor) export
   res=CreateObject("ValueTable"); res.NewColumn("tmc","Reference.ТМЦ");
   res.NewColumn("Part","Reference.Партии");
   res.NewColumn("Line","Number",10);
   res.NewColumn("kol","Number",15,3); res.NewColumn("СуммаБезНДС","Number",15,2);
   res.NewColumn("СуммаГРН","Number",15,3);  res.NewColumn("СуммаОсн","Number",15,2);
   res.NewColumn("Наценка","Number",15,2);
   
   if Stor.СуммовойУчет=1 then
       return res;
   endif;
   
   tb=CreateObject("ValueTable"); tb.NewColumn("tmc","Reference.ТМЦ");
   tb.NewColumn("Part","Reference.Партии");
   tb.NewColumn("Line","Number",10);
   tb.NewColumn("kol","Number",15,3);
   doc.SelectLines(); v=CreateObject("ValueList");
   while doc.GetLine()>0 do
       if doc.ТМЦ.Kind()<>"ТМЦ" then
           continue;
       endif;
       if doc.ТМЦ.ВидТМЦ=Enum.ВидыТМЦ.Услуга then
           continue;
       endif;
       tb.NewLine(); tb.tmc=doc.ТМЦ;  
       if Const.МетодПартионногоУчета.GetValue(doc.DocDate)=Enum.МетодыПартионногоУчета.ПоПартиям then
           tb.Part=doc.Партия;
       endif;
       tb.line=doc.LineNum;
       if Metadata.Document(doc.Kind()).TableAttribute("Коэффициент").Selected()=1 then
           tb.kol=doc.Кво*?(doc.Коэффициент=0,1,doc.Коэффициент);
       else
           tb.kol=doc.Кво;
       endif;
       v.AddValue(doc.ТМЦ);
   enddo;
   rs=CreateObject("Registers"); r=rs.Остатки; r.SetFilterValue("Склад",Stor,1);
   r.SetFilterValue("ТМЦ",v,2); r.TempCalc(1);
   if doc.CompareWithAP()<=0 then
       rs.CalcRegsOnBeg(doc);
   else
       rs.CalcRegsOnEnd(GetApPosition());
   endif;
   rt=CreateObject("ValueTable"); r.RetrieveTotals(rt,1); rt.NewColumn("data","Date");
   rt.NewColumn("doc","Document");
   rt.SelectLines();
   while rt.GetLine()>0 do
       rt.data=rt.Партия.Дата_прих; rt.doc=rt.Партия.Док;
   enddo;
   if Const.МетодПартионногоУчета.GetValue(doc.DocDate)=Enum.МетодыПартионногоУчета.LIFO then
       rt.Sort("ТМЦ,data-,doc-",1);
   else
       rt.Sort("ТМЦ,data,doc",1);
   endif;
   tb.Sort("tmc,part,line"); tmc=0; tb.SelectLines();
   while tb.GetLine()>0 do
       def=0; глПолучитьПартиюПоУмолчанию(def,tb.tmc); l=0;
       if rt.FindValue(tb.tmc,l,"ТМЦ")=1 then
           rt.GetLineByNumber(l);
           while (rt.ТМЦ=tb.tmc) and (tb.kol<>0) do
               if rt.Кво<=0 then
                   Goto ~E;
               endif;
               if (tb.part.Selected()=1) and (tb.part<>rt.Партия) then
                   Goto ~E;
               endif;
               kl=min(rt.Кво,tb.kol);
               res.NewLine(); res.tmc=tb.tmc; res.part=rt.Партия; res.line=tb.Line;
               res.kol=kl; res.СуммаБезНДС=div(rt.СуммаБезНДС*kl,rt.Кво);
               res.СуммаГРН=div(rt.СуммаГРН*kl,rt.Кво);
               res.СуммаОсн=div(rt.СуммаОсн*kl,rt.Кво);
               res.Наценка=div(rt.Наценка*kl,rt.Кво);
               tb.kol=tb.kol-kl; rt.Кво=rt.Кво-kl;
               rt.СуммаБезНДС=rt.СуммаБезНДС-res.СуммаБезНДС;
               rt.СуммаГРН=rt.СуммаГРН-res.СуммаГРН;
               rt.СуммаОсн=rt.СуммаОсн-res.СуммаОсн;
               rt.Наценка=rt.Наценка-res.Наценка;
               ~E: l=l+1;
               if l>rt.LinesCnt() then
                   break;
               endif;
               rt.GetLineByNumber(l);
           enddo;
       endif;
       if tb.kol<>0 then
           Message("По торговым остаткам недостаточно "+tb.tmc+" в строке "+tb.line,"!");
           Message("Нужно еще "+tb.kol);
           if Const.РазрешитьОтрицОстатки=Нет then
               ReturnStatus(0); return res;
           endif;
           res.NewLine(); res.tmc=tb.tmc; res.line=tb.Line;
           if tb.part.Selected()=1 then
               res.part=tb.part;
           else
               res.part=def;
           endif;
           res.kol=tb.kol;
           if res.part=def then
               cen=res.tmc.Цена_прих;
           else
               cen=res.part.Цена_прих;
           endif;
           cen=cen+cen*res.tmc.СтавкаНДС.Ставка.GetValue(doc.DocDate);
           res.СуммаБезНДС=res.kol*cen;
           res.СуммаГРН=res.kol*cen;
           res.СуммаОсн=res.kol*cen;
           res.Наценка=0; tb.kol=0;
       endif;
       l=rt.LinesCnt();
       while l>0 do
           rt.GetLineByNumber(l);
           if rt.Кво<=0 then
               rt.DeleteLine(l);
           endif;
           l=l-1;
       enddo;
   enddo;
   res.Sort("Line,tmc,part");
   return res;
EndFunction
74 hohol
 
27.07.12
21:37
(73) Ничего ты не понимаешь, это писал true programmer.
75 zak555
 
27.07.12
21:39
(70) и чего тут ?
76 le_
 
27.07.12
22:14
(0) Святой инквизиции на вас нет.
77 Steel_Wheel
 
27.07.12
22:22
Мне как-то Заказчик ноут с немецкой клавой выдал: хреначил на латинице слепым методом
78 cawokru
 
16.08.12
14:41
Если ВводСпособ = "Сканер" Тогда
//ввод сканером

но комментс
79 MMF
 
16.08.12
15:00
(37, 73) Ну это еще приличный код.... хуже, если, как у меня в филиале 50%/50% англорусский ховнокод с замечательными идеями и чудными идентификаторами смешанной англолатиницы
   ИначеЕсли Лев(ИсхТабл,5)="Налог" Тогда    
       Таб.КоличествоЭкземпляров(1);        
       ПечатьНН();
       If пар_<>0 then
           Таб.ПараметрыСтраницы(1,,1,10,5,5,0,5,0);
           q=Таб.ВысотаТаблицы()/2;
           q2=?(q-62<11,q-11,62);
           If q>64 then
               Таб.Записать("c:\111.mxl");
           
               Таб.ОбластьПечати(1,1,62,11);
               Таб.Напечатать(0);
               Предупреждение("Вставьте первую страницу налоговой накладной (оригинал)");
               Таб.Открыть("c:\111.mxl");
               Таб.ОбластьПечати(63,1,q+62,11);
               Таб.Напечатать(0);
               Таб.Открыть("c:\111.mxl");

У меня тоже есть маги 1 поколения
80 Mafoni
 
17.08.12
18:21
встретился мне тут недавно код (хотя кодом назвать это трудно)


Функция ПолучитьЗначениеКонстИ(КЦ, АК, ПР, НПоказатель)
   
   ВрмнЗ = 0;    
   Для каждого СК из мКонстИ цикл
       Если СК.КЦ = КЦ И СК.АК = АК И СК.ПР = ПР И СК.Показатель=НПоказатель тогда
           ВрмнЗ = СК.Значение;
           Прервать;
       КонецЕсли;
   КонецЦикла;
   Возврат ВрмнЗ;
КонецФункции
81 Mafoni
 
17.08.12
18:22
(80) + мКонстИ - тз с колонками "КЦ", "АК", "ПР" , "Показатель"
количество строк в этой тз - больше 5000.
82 Steel_Wheel
 
17.08.12
18:23
(79) Мне как-то заказчик дал ноут с немецкой клавиатурой. Так у него появился отчет на латинице. Во вполне русской конфигурации. И пришлось фиксы еще делать, так появились куски англокода в русских документах...
83 Mafoni
 
17.08.12
18:24
Ну и еще один перл из тойже конфы


Процедура УстановитьЗначениеКонстИ(КЦ, АК, ПР, НПоказатель, НЗначение)

   Для каждого СК из мКонстИ цикл
       Если СК.КЦ = КЦ И СК.АК = АК И СК.ПР = ПР И СК.Показатель=НПоказатель тогда
           СК.Значение = НЗначение;
           Найдено =  Истина;
           Прервать;
       КонецЕсли;
   КонецЦикла;

       Если НЕ Найдено тогда
       НС = мКонстИ.Добавить();
       НС.КЦ = КЦ;
       НС.АК = АК;
       НС.ПР = ПР;
       НС.Показатель = НПоказатель;
       НС.Значение = НЗначение;
   КонецЕсли;
КонецПроцедуры
84 Mafoni
 
17.08.12
18:33
А вообще конфа просто кишит такми перлами !
85 Sh1ko
 
17.08.12
18:38
(0) Надо добавлять свой реквизит в ТЧ, для православной нумерации строк.
86 myk0lka
 
29.08.12
15:20
Сори за некропост, но новую тему создавать как то впадлу, а не поделиться не могу....

От предшественника досталась конфа со 140 с лишним "доработок" (!!!!), содержащих метод НайтиПоНаименованию... Организации, валюты, склады, подразделения, пользователи...

Сёдня пивка вечером нужно вдарить, стресс снять.....
87 Птица
 
29.08.12
16:03
(66)и что в этом коде странного?
88 Mafoni
 
29.08.12
16:05
(86) - смотри не спейся а то так можно стресс лечить долго.
89 Mafoni
 
29.08.12
16:07
(87) - а чего в коде из (66) - не странного ?
90 DSSS
 
29.08.12
16:27
(87), (89) отсутствие конструкции ?(,,), йопт!
91 Mafoni
 
29.08.12
16:43
(90) КЭП это ты ? :)
92 ILM
 
гуру
29.08.12
19:46
(89) Примите глубочайшие соболезнования... Чтобы такой код править нужны стальные шары...
93 Изучаю1С8
 
29.08.12
20:06
(37) Жесть..
94 Armando
 
29.08.12
20:45
Щас работаю на проекте, где все отчеты олдскульные - на построителе. Ручной вывод полей, группировок, итогов. С присоединением секций. Любое вмешательство в отчет требует переписать несколько блоков кода. Это просто пистес. После 8 часов работы хочется убивать.
Закон Брукера: Даже маленькая практика стоит большой теории.