|   |   | 
| 
 | Запустил такой код... | ☑ | ||
|---|---|---|---|---|
| 0
    
        Прохожий 04.10.12✎ 09:34 | 
        Процедура КнопкаСформироватьНажатие(Кнопка)
  Рег = РегистрыСведений.ОбъектыДоступаДокументов.СоздатьНаборЗаписей(); Рег.Прочитать(); К = 0; Т = 0; Для Каждого Стр Из Рег Цикл К = К + 1; Если Стр.ДокументСсылка.Дата > Дата(2011,12,31) Тогда Продолжить; КонецЕсли; Т = Т + 1; КонецЦикла; Сообщить("всего " + К + ", удаляем " + Т); КонецПроцедуры ... Крутит уже минут 20 и до конца не дошел. Вопроса два: это плохо? и сколько тогда будет идти обрезка? | |||
| 7
    
        Lama12 04.10.12✎ 09:41 | 
        (0) А сколько этот регистр занимает места в % отношении от размера базы?     | |||
| 8
    
        Прохожий 04.10.12✎ 09:45 | 
        (7) Я думаю как у всех. регистр-то типовой, растет пропорционально росту числа документов.     | |||
| 9
    
        Heckfy 04.10.12✎ 09:46 | 
        (0) По сабжу:
  1: Плохо 2: (1)+1 (3) Не, для классности не хватает: НаборЗаписей выгрузить в тз. Посчтитать количество записей ТЗ. Вывести индикатор выполнения. :) | |||
| 10
    
        Прохожий 04.10.12✎ 09:46 | 
        (3) Это прототип.     | |||
| 11
    
        Прохожий 04.10.12✎ 09:47 | 
        (9) До вечера посчитает.     | |||
| 12
    
        dmpl 04.10.12✎ 09:48 | 
        (10) Клющечника видно издалека :)     | |||
| 13
    
        Мимохожий Однако 04.10.12✎ 09:48 | 
        Вместо лисапеда можно взять типовую обработку документов из конфигурации.     | |||
| 14
    
        katc 04.10.12✎ 09:48 | 
        умение растянуть пятиминутную работу на 8 часов - главное качество программиста 1С     | |||
| 15
    
        H A D G E H O G s 04.10.12✎ 09:49 | 
        (0) Я тебя занес в амбарную книгу     | |||
| 16
    
        katc 04.10.12✎ 09:50 | 
        надо еще поставить галочку напротив фамилии и потом обвести кружочком ( т.е. открыжить и округлить)     | |||
| 17
    
        Прохожий 04.10.12✎ 09:51 | 
        (13) Для этого надо иметь ИТС. Или получить в подарок по почте. ибо инфостаровское бесплатное скачивание я уже сегодня нажимал. И больше оно не доится...     | |||
| 18
    
        Ткачев 04.10.12✎ 09:52 | 
        (14)Оплата то по времени, это как такси со счетчиком, там оплата за километраж.     | |||
| 19
    
        1Страх 04.10.12✎ 09:52 | 
        (6) врешь, сидений там 5     | |||
| 20
    
        hhhh 04.10.12✎ 09:52 | 
        (17) и поэтому ты решил зафигачить 20000 запросов в цикле?     | |||
| 21
    
        dmpl 04.10.12✎ 09:52 | 
        (19) Там 2 сиденья и 1 диван :)     | |||
| 22
    
        Heckfy 04.10.12✎ 09:53 | 
        (17) А что мешает перед
  Рег = РегистрыСведений.ОбъектыДоступаДокументов.СоздатьНаборЗаписей(); Рег.Прочитать(); Установить отбор на нужную дату Потом Рег.Очистить(); РезЗаписать(); ЗЫ: Звиняйте, если где ошибся, 1С-ки по рукой нету СП глянуть. | |||
| 23
    
        Ткачев 04.10.12✎ 09:53 | 
        (19)2 сиденья и диван.     | |||
| 24
    
        Прохожий 04.10.12✎ 09:53 | 
        Надо проверить способности сервера. Я думаю из больше 20000. В том и пичалька.     | |||
| 25
    
        Прохожий 04.10.12✎ 09:53 | 
        (24) для (20)     | |||
| 26
    
        dmpl 04.10.12✎ 09:55 | 
        (24) Хинт: а почему бы не выбрать количество 1 запросом?     | |||
| 27
    
        katc 04.10.12✎ 09:58 | 
        он не умеет, разве не ясно с первого поста?     | |||
| 28
    
        Прохожий 04.10.12✎ 09:59 | 
        (27) Вопрос не в этом. Ты не понял сабжа с первого поста.     | |||
| 29
    
        katc 04.10.12✎ 09:59 | 
        кому нить сейчас надоест этот вброс и он напишет запрос. И потом еще полдня будут оптимизировать запрос. Рабочий день прошел. все счастливы.     | |||
| 30
    
        Прохожий 04.10.12✎ 09:59 | 
        Всё ещё молотит. Запрос у меня есть.     | |||
| 31
    
        katc 04.10.12✎ 10:01 | 
        (30) не допускаю оскорблений на эотм форуме, но ты все же .у.а. !     | |||
| 32
    
        Прохожий 04.10.12✎ 10:03 | 
        Троллинг в тематической ветке     | |||
| 33
    
        Cashtane 04.10.12✎ 10:03 | 
        Да ладно вы. Забавно же.
  (0) Через точку ходить конечно не гуд. Но подобный код у меня, даже с переходом через точку, с 13000 записей регистра, пролазит не более чем за минуту. Ставь в цикле: ОбработкаПрерыванияПользователя(); и Сообщить(к); Хоть веселее будет. | |||
| 34
    
        hhhh 04.10.12✎ 10:03 | 
        (30) вот это Стр.ДокументСсылка.Дата - это у тебя отдельный запрос к базе. Ты его выполняешь 20000 раз. Ну в общем если в 1 час уложишься, значит у тебя супер-компьютеры там.     | |||
| 35
    
        rutony 04.10.12✎ 10:05 | 
        Как минимум нельзя обращаться к реквизиту через 2 точки это очень сильно про сживает скорость обращения. Зачем в каждом витке получать дату? Получи ее заранее.
  Опять же на кой 2 счетчика, по моему у набора же есть метод количество. А самое главное такое проще сделать запросом или отбором... Даже та же выборка может отработать быстрее... | |||
| 36
    
        Прохожий 04.10.12✎ 10:05 | 
        (34) Не 20000. там значительно больше.     | |||
| 37
    
        UIV 04.10.12✎ 10:05 | 
        А что плохого в этом коде? Он же разовый. Нафига его оптимизировать?     | |||
| 38
    
        Прохожий 04.10.12✎ 10:05 | 
        (37) правильно. Надо мыслить зачем а не как.     | |||
| 39
    
        hhhh 04.10.12✎ 10:05 | 
        (33) там еще ДокументСсылка составного типа у него. То есть ещё каждый раз по 256 таблиц дергаются.     | |||
| 40
    
        ZanderZ 04.10.12✎ 10:06 | 
        (37) "А что плохого в этом коде?" - "Крутит уже минут 20 и до конца не дошел"     | |||
| 41
    
        hhhh 04.10.12✎ 10:07 | 
        (38) ну тогда наливай кофе и сиди, пей. У тебя ведь почасовая оплата. Торопиться некуда.     | |||
| 42
    
        Прохожий 04.10.12✎ 10:07 | 
        (41) Мне некуда.     | |||
| 43
    
        Прохожий 04.10.12✎ 10:08 | 
        Программа работает, сисадмин загрузку процессора отслеживает, потом подтвердит.     | |||
| 44
    
        Прохожий 04.10.12✎ 10:13 | 
        Посчитал в другой копии всего 1 174 302. Та ещё молотит...
  Вопроса два: это плохо? и сколько тогда будет идти обрезка? | |||
| 45
    
        Прохожий 04.10.12✎ 10:13 | 
        Резать надо не меньше двух третей.     | |||
| 46
    
        rs_trade 04.10.12✎ 10:17 | 
        (43) два дибила. запустили копрокод и уставились на загрузку процессора. facepalm.jpg     | |||
| 47
    
        forforumandspam 04.10.12✎ 10:21 | 
        А зачем считать документы с датой '20111231000001' и до '20111231235959'?     | |||
| 48
    
        Прохожий 04.10.12✎ 10:22 | 
        (47) Их записи и надо порезать.     | |||
| 49
    
        Simbad 04.10.12✎ 10:22 | 
        Стоит определить набор удаляемцх записей запросом, а ты перебираеш весь регистр     | |||
| 50
    
        forforumandspam 04.10.12✎ 10:25 | 
        (48) Намекаю: в V8 есть секунды, минуты и час в типе ДАТА. Ты условие поставил Дата > Дата(2011,12,31), а не Дата > Дата(2011,12,31,23,59,59)     | |||
| 51
    
        5 Элемент 04.10.12✎ 10:25 | 
        >> Стр.ДокументСсылка.Дата
  мда | |||
| 52
    
        Прохожий 04.10.12✎ 10:28 | 
        (49) Скорее запросом определить набор документов.     | |||
| 53
    
        regniws 04.10.12✎ 10:28 | 
        вроде ж не пятница     | |||
| 54
    
        Прохожий 04.10.12✎ 10:29 | 
        (53) Так мы ещё и не режем...     | |||
| 55
    
        forforumandspam 04.10.12✎ 10:30 | 
        (54) А кого в пятницу зарежут?     | |||
| 56
    
        Прохожий 04.10.12✎ 10:31 | 
        (55) см (44)     | |||
| 57
    
        dmpl 04.10.12✎ 10:33 | 
        (37) Это клюшечный код. Восьмерочник никогда такой код не напишет, потому что запросом выбрать быстрее и удобнее.     | |||
| 58
    
        Прохожий 04.10.12✎ 10:34 | 
        (57) Ты ничего не понимаешь в зарабатывании денег.     | |||
| 59
    
        UIV 04.10.12✎ 10:36 | 
        (40) Ну и что? Его запустить раз в год нужно.
  (57) Восьмерочник не работавший на семерке это не настояший 1сник. Он зашорен, кругозор его узок, к работе на серьезных задачах требующих нешаблонного подхода он не способен. Неоднократно уже с этим сталкивался. | |||
| 60
    
        dmpl 04.10.12✎ 10:37 | 
        (58) Тогда ты забыл про
  
 вставить в цикл. | |||
| 61
    
        Прохожий 04.10.12✎ 10:37 | 
        (60) промахнулся. исправлю в окончательном варианте.     | |||
| 62
    
        dmpl 04.10.12✎ 10:37 | 
        (59) Это не восьмерочник, а снеговик ;) Восьмерочник знает и то, и то.     | |||
| 63
    
        Прохожий 04.10.12✎ 10:38 | 
        (62) А шестерка?     | |||
| 64
    
        rutony 04.10.12✎ 10:38 | 
        (57) Я бы не сказал, многие даже если будут писать с такой логикой, попытаются все же максимально правильнее написать, так как это очень влияет на скорость, например:
  Процедура КнопкаСформироватьНажатие(Кнопка) Рег = РегистрыСведений.ОбъектыДоступаДокументов.СоздатьНаборЗаписей(); Рег.Прочитать(); Т = 0; ДатаПо = КонецДня(Дата(2011,12,31)); Для Каждого Стр Из Рег Цикл Если Стр.ДокументСсылка.Дата > ДатаПо Тогда Продолжить; КонецЕсли; Т = Т + 1; КонецЦикла; Сообщить("всего " + Рег.Количество() + ", удаляем " + Т); КонецПроцедуры | |||
| 65
    
        rutony 04.10.12✎ 10:39 | 
        (61) Лол?)     | |||
| 66
    
        Прохожий 04.10.12✎ 10:43 | 
        (65) Тебе не угодишь.     | |||
| 67
    
        dmpl 04.10.12✎ 10:48 | 
        (63) Это гуру уже.     | |||
| 68
    
        Прохожий 04.10.12✎ 10:49 | 
        Вот и обед...     | |||
| 69
    
        dmpl 04.10.12✎ 10:51 | 
        (68) Надо было еще предусмотреть возможность паузы. А то ты обедаешь, а программа работает бесплатно.     | |||
| 70
    
        forforumandspam 04.10.12✎ 10:51 | 
        (69) :)     | |||
| 71
    
        UIV 04.10.12✎ 10:53 | 
        (69) Спасибо за идею! Обязательно буду применять ее в своих новых нетленках.     | |||
| 72
    
        Heckfy 04.10.12✎ 10:53 | 
        (69) Ну это уже константу надо вводить, и в цикле
  Если КонстантаЯОбедаю=Истина Тогда Продолжить; КОнецЕсли; | |||
| 73
    
        dmpl 04.10.12✎ 10:57 | 
        (71) Хочешь стать незаменимым - вставь паузу в обработчики ПриЗаписи(), ОбработкаПроведения() и т.п. Лучше всего - подпиской на события, чтобы не нашли сразу.     | |||
| 74
    
        forforumandspam 04.10.12✎ 10:57 | 
        (72) Всему учить надо...  :)
  Если Час(ТекущаяДата()) = 13 Тогда Продолжить; КонецЕсли; | |||
| 75
    
        Heckfy 04.10.12✎ 10:58 | 
        (74) Не, не пойдет. А если обед плавающий? :)     | |||
| 76
    
        UIV 04.10.12✎ 10:58 | 
        (72) Неоптимальный код! Константу надо непосредственно в теле цикла проверять.
  Пока не КонстантаЯОбедаю цикл КонецЦикла; | |||
| 77
    
        YF 04.10.12✎ 10:58 | 
        кстати, уберешь сообщить - будет быстрее     | |||
| 78
    
        dmpl 04.10.12✎ 10:58 | 
        (72)(74) Надо не Если, а Пока использовать.     | |||
| 79
    
        dmpl 04.10.12✎ 11:00 | 
        И вообще, не Продолжить надо использовать, а
  
  | |||
| 80
    
        forforumandspam 04.10.12✎ 11:02 | 
        (79) Тогда есть шанс, что после обеда программа не вернётся в рабочее состояние.     | |||
| 81
    
        forforumandspam 04.10.12✎ 11:03 | 
        (78) +1     | |||
| 82
    
        rutony 04.10.12✎ 11:03 | 
        (75) Так это же разовый код, чего заморачиваться
  (74) Гениально | |||
| 83
    
        Heckfy 04.10.12✎ 11:04 | 
        (78) Ну да. А еще можно юзверя привлечь, что бы не сидел без дела, пока обработка работает. Типа
  Если Сч%100=0 Тогда Если Вопрос"Обработано"+Сч Продолжить Да/нет Да Тогда продолжить КонецЕсли; ЗЫ: На синтаксис прошу не обращать внимания. :) | |||
| 84
    
        dmpl 04.10.12✎ 11:05 | 
        (80) Ну, еще и за сверхурочные заплатят :) И главное админ подтвердит - сервер работал как папа Карло :)     | |||
| 85
    
        forforumandspam 04.10.12✎ 11:08 | 
        (83) Можно капчу выдавать, а то будет тупо щёлкать.     | |||
| 86
    
        dmpl 04.10.12✎ 11:09 | 
        (85) Интересно, а можно ли на 1С сделать убегающую кнопку?..     | |||
| 87
    
        YF 04.10.12✎ 11:11 | 
        (86) Нет, там нет события "накрывания" мышью     | |||
| 88
    
        forforumandspam 04.10.12✎ 11:13 | 
        (86) Можно на форму выдать 10 кнопок и рандомно одну делать активной, а остальные пассивные.     | |||
| 89
    
        Прохожий 04.10.12✎ 11:25 | 
        В час будет где-то 120 000 обрабатывать. За 10 часов закончит. Ночь. по 1 000 рос. рублей в час. 10 000 рос. рублей за обрезку. Дорого?     | |||
| 90
    
        dmpl 04.10.12✎ 11:33 | 
        (88) И повесить обработчик ожидания на 1/10 секунды, чтобы эта активность постоянно менялась :)     | |||
| 91
    
        Heckfy 04.10.12✎ 11:34 | 
        (89) Долго. Очень долго. Откровенная ИБД!!! После такого и складывается стереотип о программистах 1С.
  ЗЫ: А по деньгам - это личное дело каждого, как договоришься. | |||
| 92
    
        dmpl 04.10.12✎ 11:36 | 
        (87) А если на форму HTML документ вывести?     | |||
| 93
    
        Heckfy 04.10.12✎ 11:40 | ||||
| 94
    
        forforumandspam 04.10.12✎ 11:45 | 
        (90) Это подразумевалось. ;)     | |||
| 95
    
        Прохожий 04.10.12✎ 15:16 | 
        Режем, режем... Скоро пятницо.     | |||
| 96
    
        UIV 04.10.12✎ 15:22 | 
        (95) Держи нас в курсе.     | |||
| 97
    
        Прохожий 04.10.12✎ 15:30 | 
        (96) Хорошо. Как наступит пятница я отпишусь.     | |||
| 98
    
        Ахиллес 04.10.12✎ 15:48 | 
        (86) Можно сделать чтоб по щелчку на кнопке "Да" она менялась местами с кнопкой "Нет". А на возмущения пользователей отвечать: Смотри куда мышкой тыкаешь, дятел!     | |||
| 99
    
        dmpl 04.10.12✎ 15:58 | 
        (98) А еще можно кнопки назвать:
  "Да, остановить" и "Нет, не продолжать" | |||
| 100
    
        ptiz 04.10.12✎ 16:02 | 
        (89) Ты сам заплатить должен за то, что так надругался над СУБД.     | |||
| 101
    
        0xFFFFFF 04.10.12✎ 16:04 | 
        (0) Пля, че правда запросы отменили?     | |||
| 102
    
        Прохожий 05.10.12✎ 07:47 | 
        (102) Только я. Присоединяйся?     | |||
| 103
    
        Прохожий 05.10.12✎ 07:48 | 
        (100) А чего плохого - кто-то перестанет видеть документы прошлых лет...     | |||
| 104
    
        Прохожий 05.10.12✎ 08:57 | 
        Кто там спрашивал Когда? Встречайте OFF: Пятница     | |||
| 105
    
        Леха Дум 05.10.12✎ 08:58 | 
        На продолжение v8: Вызвать нельзя увидеть модуль объекта из ФормаВыбора - очередное издевательство? похоже, еще одна пятничная тема     | |||
| 106
    
        GANR 05.10.12✎ 09:28 | 
        (0) "Конфигуратор \ Отладка \ Замер производительности" в помощь     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |