Как можно сократить время проводок?

Форум 1С: Одинэс.Ру

Найти!

Как можно сократить время проводок?

Prohor
08.07.2009 - 13:34
Есть две базы: Торговля и склад и база 1С Бухгалтерия. Из "Торговли" делаю выгрузку в .xsl-файл, затем подгружаю в Бухгалтерию. Когда жму "Сформировать" очень долго идет процесс (порядка 5 тысяч проводок). Может есть какие-либо другие пути? Побыстрее?
К списку тем 1 > К списку форумов

Интересные темы

odines.ru
25.04.2024 - 18:02
Смотри также:
Открыть диалог нового документа через расшифровку ячейки возможно?
"Объект ещё не загружен толком..."
ПУБ: Закрытие месяца. Хелп!

Re: Как можно сократить время проводок?

Uho
1 - 08.07.2009 - 13:35
процесс чего? проведения? считывания? обработки?
отладчик с замером в руки и вперед!

Re: Как можно сократить время проводок?

Prohor
2 - 08.07.2009 - 13:40
сам алгоритм может можно изменить?

Re: Как можно сократить время проводок?

Prohor
3 - 08.07.2009 - 13:42
уже в модуле сократили количество обрабатываемых проводок до минимума, за 1 час обработал 3200 проводок.

Re: Как можно сократить время проводок?

andrey153
4 - 08.07.2009 - 13:51
Можно написать свою выгрузку/загрузку, а если базы SQL, то напрямую из таблиц данные забирать можно на порядок быстрее

Re: Как можно сократить время проводок?

Prohor
5 - 08.07.2009 - 14:04
так это и работает "своя" выгрузка-загрузка...SQL пока нет...

Интересные темы

odines.ru
25.04.2024 - 18:02
Смотри также:
v7: Убрать пустые значения в запросе.
Странные индексы. Срочный хелп...
И снова тормоза (сетевая версия) Есть ли альтернатива терминалу? и какая логика столь значительного замедления работы

Re: Как можно сократить время проводок?

Cthulhu
6 - 08.07.2009 - 14:05
(4): плюс итоги пересчитывать - "на порядок" уменьшится до коэффициента, сводящего на "нет" выгоду от скорости ценой трудозатрат на ваяние нетленки, не гарантированно к тому же без ошибок работающей во всех возможных ситуациях..

Re: Как можно сократить время проводок?

Prohor
7 - 08.07.2009 - 14:24
итоги пересчитывать в Бухгалтерии, как я понял?

Re: Как можно сократить время проводок?

Reaper
8 - 08.07.2009 - 14:31
Транзакции...

Re: Как можно сократить время проводок?

USSR
9 - 08.07.2009 - 14:56
что за файл xsl? Из ТИС есть штатная выгрузка проводок и если даже xsl это xls, то зачем выгружать в Excel, есть TXT, dbf. Ваще странный гражданин, есть что-то самописное, а мпрашивает на форуме. Садись, разбирайся, раз взялся за это дело

Re: Как можно сократить время проводок?

Prohor
10 - 08.07.2009 - 16:23
спасибо USSR! Буду пробовать через .txt теперь...

Re: Как можно сократить время проводок?

VZ
11 - 08.07.2009 - 17:28
Через ёксель - явная ошибка. дбф есть смысл применять, когда записи просматриваются неоднократно, и не подряд, а по какому-то ключу, иначе так же эффективен обычный текстовый файл. Токо надо отказатся от объекта Текст - можно нарваться при указанных объемах на ограничение по размеру...
Для текста лучше применить adodb.Stream - для чтения/записи, а уж разбор текста на лексемы можно и одынесовскими. Хотя у wsh, например, палитра строковых функций шире...

Re: Как можно сократить время проводок?

Гинзбург
12 - 08.07.2009 - 17:29
(0) строки одного размера сделай и обретешь нирвану

Re: Как можно сократить время проводок?

Гинзбург
13 - 08.07.2009 - 17:31
не то :(, зато правда ))

Re: Как можно сократить время проводок?

Гинзбург
14 - 08.07.2009 - 17:37
а чо не то-то
 
можно за пару строк загнать всю екселю в ТЗ, быстрее любого адо
жду минихоливара и коньяк ))

Re: Как можно сократить время проводок?

Гинзбург
15 - 08.07.2009 - 17:43
Петр - ты теперь "звезданутый" )))
мене трижды довелось быть трижды "звезданутым" - я круче ))

Re: Как можно сократить время проводок?

Гинзбург
16 - 08.07.2009 - 17:44
извиняюся ))

Re: Как можно сократить время проводок?

pit
17 - 08.07.2009 - 17:45
присоединяюсь к (14) - требую холивара....
 
P.S. в (11) такая фигня нацарапана... аж жуть берет

Re: Как можно сократить время проводок?

pit
18 - 08.07.2009 - 17:46
(15) три звезды и у меня было.... Хотел Леней стать - так пригрозили все отнять... жалко трех стало то....

Re: Как можно сократить время проводок?

VZ
19 - 08.07.2009 - 18:18
(14) Можно, можно... Потом ТЗ на 5 тыщь строк разбирать? А нафига козе баян, если в любом случае будет построковое чтение?
 
Но я бы документами передавал. Судя по объему движений, номенклатура передается 1:1

Re: Как можно сократить время проводок?

VZ
20 - 08.07.2009 - 20:52
(17) А ТЗ, кстати, можно без всяких штучек-дрючек передать. Напрямую ;)

Re: Как можно сократить время проводок?

USSR
21 - 08.07.2009 - 22:59
Использую свой движок обмена с текстовиками. Чтение и запись, применяя WSH
Проблем не имею. Подобный объем загружается за пару-тройку минут

Re: Как можно сократить время проводок?

Чучундер
22 - 08.07.2009 - 23:31
все фигня... любое специализированное решение быстрее универсального.. загрузка и генерация за месяц порядка 5 тысяч документов (оплаты, отгрузки услуг, счф, комисии и прочая хрень) на основе исходных данных из текстового файла занимает порядка 20 минут...

Re: Как можно сократить время проводок?

DeiMos
23 - 08.07.2009 - 23:37
всё фигня... Моя программа расчёта ЗП считала ЗП на 2000 сотрудников за 20 минут.
На компьютере БЕЗ ВИНЧЕСТЕРА (грузился с 5-ти дюймовой дискеты, работал на второй 5-ти дюймовой дискете)

Re: Как можно сократить время проводок?

DeiMos
24 - 08.07.2009 - 23:38
(23+): С восемями мегабайтами памяти оперативной.

Re: Как можно сократить время проводок?

Чучундер
25 - 08.07.2009 - 23:45
(24) а хрен ли тогда зарплату считать было? заморочек стопудово меньше было.. ;-)
хотя мое глубочайшее мнение: любая прога, которая считала на компе уровня 286 больше 10 минут - непроверяема в принципе, и результаты работы можно признать правильными, если они правдоподобные... ;-) (типа приходит ко мне чел заслуженный - притаскивает прогу на фортране - затык какой-то - начинаем шаманить, запускаем - она у мну через каждые два шага спотыкается на выход за границы массива и прочее аналогичное - просто у меня ваткомовский фортран стоял и там по умолчанию вроде все контроли были включены, а у майкромелкгого выключены.. и фраза чела - "а считала все правильно..."... ;-)

Re: Как можно сократить время проводок?

Чучундер
26 - 08.07.2009 - 23:47
все зависит от контекста.. считала у меня прога в районе 1-2 минут на 286... пришлось считать на 1840 - оппа! 20 минут.. а это уже неприемлимо... ну переписал код "получше", стала на 1840 считать 4 минуты... про 286 - вообще молчу.. смысл офигенно оптимизировать если расчет раз в месяц?

Re: Как можно сократить время проводок?

andrey153
27 - 09.07.2009 - 04:40
21, можешь пример сбросить?

Re: Как можно сократить время проводок?

Duke1C
28 - 09.07.2009 - 04:53
(27) Хитрый какой :-)

Re: Как можно сократить время проводок?

andrey153
29 - 09.07.2009 - 05:27
Процедура СоздатьФайл()
    ИмяФайла=КаталогИБ()+"romix_test.txt";
    fso=СоздатьОбъект("Scripting.FileSystemObject");                                                          
    file=fso.CreateTextFile(ИмяФайла, -1, 0); //создать файл, перезаписывая существующий.
    file.WriteLine("Строка1");
    file.WriteLine("Строка2");
    file.WriteLine("Строка3");
    file.Close();
КонецПроцедуры
 
Процедура ПрочитатьФайл()
    ИмяФайла=КаталогИБ()+"romix_test.txt";
    fso=СоздатьОбъект("Scripting.FileSystemObject");
    file=fso.OpenTextFile(ИмяФайла, 1, 0, 0); //Открываем файл в режиме "только чтение"          
    Пока file.AtEndOfStream=0 Цикл
      стр=file.ReadLine();
      Сообщить(стр);
    КонецЦикла;
    file.Close();
КонецПроцедуры

Re: Как можно сократить время проводок?

Reaper
30 - 09.07.2009 - 06:08
29-andrey153 > ПЦ! А это теперь модно, вызывать хрен знает кого вместо средств встроенного языка?

Re: Как можно сократить время проводок?

andrey153
31 - 09.07.2009 - 07:17
30, пацаны говорят это быстрее работает на больших объемах, при случае проверю

Re: Как можно сократить время проводок?

Reaper
32 - 09.07.2009 - 07:42
31-andrey153 > на больших объемах быстро работает DBF, остальное - ересь.

Re: Как можно сократить время проводок?

economist
33 - 09.07.2009 - 08:37
29-30 Подтверждаю двукратное преимущество скриптовых языков VBS WSH над встроенным языком на файлах >250Мб. А если при этом еще и в системный монитор заглянуть...

Re: Как можно сократить время проводок?

Гинзбург
34 - 09.07.2009 - 08:41
(33) и что там в системном мониторе ?
есть еще более быстрый метод и еще с большими объемами, но не рекомендую заглядывать в системный монитор

Re: Как можно сократить время проводок?

USSR
35 - 09.07.2009 - 12:51
(32)Замерял, в 2 раза быстрее запись по сравнению с 1с-овским текстом

Re: Как можно сократить время проводок?

Reaper
36 - 09.07.2009 - 14:53
35-USSR > А DBF супротив WSH?
Спасибо, буду знать про тексты, может и пригодится ;)

Re: Как можно сократить время проводок?

USSR
37 - 09.07.2009 - 15:15
(36)Не пробовал, 1с-овский XBASE у меня вызывает отвращение. Надо будет как-нить попробовать, тем более, что я пишу реквизиты построчно, надо будет только изменить формирование файла и чтение из него, а разбор останется прежним. Но с 1с-ным движком XBASE вряд ли что выиграю. WSH выигрывает тоже явно только на запись, на большом объеме 1с-ный "текст" начинает просто умирать

Re: Как можно сократить время проводок?

USSR
38 - 09.07.2009 - 15:18
Если только прямым запросом весь файл заглотить в ТЗ, но на большом файле не получу ли проблемы с памятью. Меня в принципе устраивает то, что есть

Re: Как можно сократить время проводок?

VZ
39 - 09.07.2009 - 15:27
37-USSR > Если надумаешь тестировать, то учти: тестировать имеет смысл для последовательных операций чтения/записи. Т.е., безиндексных.
С "индексными" операциями (по условию, фильтру...) XBASE, естественно, будет быстрее: позиции записей уже заранее определены в индексном файле и их не надо искать.
В сабжевом случае (чтение проводок из какого-то файла) как раз используется этот самый "безиндексный" способ доступа: последовательно от первой записи до последней.
О чем, собственно, и было сказано в (11).
Так же при сравнении надо учитывать: поля ДБФ фиксированного размера. Т.е., при организации полей надо учитывать наибольший возможный размер данного поля. Что совершенно излишне для строки с разделителем....

Re: Как можно сократить время проводок?

USSR
40 - 09.07.2009 - 16:34
(39)а зачем мне индексы, мне надо файл позаписно прочитать. Но вот разиера строки в DBF может не хватить. Если мне память не изменяет, то всего 255 символов

Re: Как можно сократить время проводок?

VZ
41 - 09.07.2009 - 19:35
40-USSR > Больше ;)
К списку тем 1 > К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Подскажите по последовательности в комплексной Регламентная отчетность… Барахлит “Заполнить” »
© 2009 Форум 1С: Одинэс.Ру