К списку форумов К списку вопросов
Необходима помощь: ускорение работы обработки
BobENI
03.08.2004 - 09:10
Добрый день
Есть обработка импорта доков из дбф.
Сначала все уже существующие доки вгоняю в таблицу значений, прямыми
ссылками типа
...
ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Докум",Док.ТекущийДокумент());
...
Далее иду по дбф, делаю поиск в ТЗ нужной строки (док уже есть, но возможно изменился), пытаюсь спозиционироваться на нужный док:
...
Док1=СоздатьОбъект("Документ.Невыход");
Если Док1.НайтиДокумент(ТЗ.ПолучитьЗначение(ш,"Докум"))=1 Тогда
  Док1.ДатаДок=ДатаРедак;
  Док1.Начало=ДокНач;
  Док1.Окончание=ДокОкон;
  //Док1.Записать();
  Док1.НоваяСтрока();
... - это работает, но мне не нравится строка ...НайтиДокумент... - хотелось бы просто присваивать ссылку вроде этого:
...
Док1=СоздатьОбъект("Документ.Невыход");
Док1=ТЗ.ПолучитьЗначение(ш,"Докум");
Если Док1.Выбран()=1 Тогда
  Док1.ДатаДок=ДатаРедак;
  Док1.Начало=ДокНач;
  Док1.Окончание=ДокОкон;
  //Док1.Записать();
  Док1.НоваяСтрока();
...
но в последней строке вылетает "Не выбран документ", хотя функция "Выбран" дала 1. В отладчике видно, что Док1 - действительно документ.
В чем фишка?
BobENI
1 - 03.08.2004 - 09:25
Чтобы получить первый ответ, нужно пару раз апнуть...
Builder
2 - 03.08.2004 - 09:32
Не парься. Работает - не трогай !!!
P.S. Скорее всего НоваяСтрока() работает только для документов, созданных через СоздатьОбъект()
BobENI
3 - 03.08.2004 - 09:34
Может данных мало...
Win2000pro, 1c_v7.7 12(21) релиз, дбф.
SergD
4 - 03.08.2004 - 09:34
Для ускорения можешь попробовать работу через транзакции
BobENI
5 - 03.08.2004 - 09:36
даже если разремарить строку //Док1.Записать();
то вылетать будет на ней, до срабатывания следующей строки.
BobENI
6 - 03.08.2004 - 09:39
Для 4
Почему же нельзя просто присваивать ссылку, ведь Док.Выбран() дает добро?
Zen
7 - 03.08.2004 - 09:42
(6) Попробуй не Док1=ТЗ.ПолучитьЗначение(ш,"Докум"); а Док1.НайтиДокумент(ТЗ.ПолучитьЗначение(ш,"Докум")).
Vint Kras
8 - 03.08.2004 - 09:44
Чтобы редактировать документ надо на него спозицианироватся.
Сверни ТЗ в текст, потом разворачиваешь и ..... незначительно, но должно быть быстрее.
BobENI
9 - 03.08.2004 - 09:44
:)
для 7: внимательность и еще раз внимательность
zzz
10 - 03.08.2004 - 09:45
С горшка и сразу за программирование. Ищи по слову "Позиционирование" и ЖКК слова "Записать".
Zen
11 - 03.08.2004 - 09:47
(9) Ой, сорри :)) Глянул тока в конец :) А присвоение ссылки (если не ошибаюсь) не сработает по причине (2): присвоенная ссылка созданным объектом не считается.
BobENI
12 - 03.08.2004 - 09:48
(8)
про сверни\переразверни можно подробнее?
AlexSU
13 - 03.08.2004 - 09:53
(12) пробовал искать по номеру в пределах даты документа?
может быстрее будет?
BobENI
14 - 03.08.2004 - 09:54
(10)
ругаться каждый может,была бы фантазия
я создаю ссылку на объект, почему нельзя ее переприсвоить? Да и Док.Выбран() дает 1
Vint Kras
15 - 03.08.2004 - 09:55
ЗначениеВСтроку(), с дбф дольше работает....
zzz
16 - 03.08.2004 - 09:59
2(14) тупить каждый может. ты создаешь ссылку ReadOnly, а хочешь записывать.
BobENI
17 - 03.08.2004 - 10:13
(16)
знаешь, этот форум создан для оказания помощи. По твоему мировоззрению здесь почти все тупые. Или ты сегодня не с той встал?
Вопрос снят.
zzz
18 - 03.08.2004 - 10:14
2(17) уж ты то точно тупой. Сам сделал неправильно, сам сделал правильно, но не понял где ошибка. Мдя.
BobENI
19 - 03.08.2004 - 10:19
Поправляю.
Сделал правильно, затем захотел ускорить работу и получил банан.
А ты мой IQ не измерял, так что не тебе вякать.
Можешь не извиняться.
zzz
20 - 03.08.2004 - 10:26
2(19) сиди уж со своим бананом.
Муму после всплытия
21 - 03.08.2004 - 10:27
(0)
Док1.НайтиДокумент() сработает мгновенно............ смешал все блин в кучу............ объекты, элементы.............
zzz
22 - 03.08.2004 - 10:29
гений да и только:
ТЗ.УстановитьЗначение(ТЗ.НомерСтроки,"Докум",Док.ТекущийДокумент());
BobENI
23 - 03.08.2004 - 10:35
...
 - не пререкайся!
 - а я не пререкаюсь!
BobENI
24 - 03.08.2004 - 10:37
(22) И что тебе здесь не нравится?
zzz
25 - 03.08.2004 - 10:39
мне всё нравится. я ваще верю в то что человечество выживет несмотря ни на что (ну ты меня понял, да?). Так что я оптимист.
BobENI
26 - 03.08.2004 - 10:48
не ответ
zzz
27 - 03.08.2004 - 10:50
ТЗ.Докум = Док.ТекущийДокумент();
если и сейчас не примешь за ответ - я умру.
BobENI
28 - 03.08.2004 - 10:57
А ты не сталкивался с тем, что некоторые релизы экзешника не воспринимают такую запись? Счастливчик...
Vint Kras
29 - 03.08.2004 - 11:01
(28) он выше всего етого...
BobENI
30 - 03.08.2004 - 11:06
(29) "он" - это по отношению ко мне или ZZZ?
Vint Kras
31 - 03.08.2004 - 11:07
(30) ZZZ
Vint Kras
32 - 03.08.2004 - 11:09
Я с тобой общался...
BobENI
33 - 03.08.2004 - 11:11
Ок
Вопрос снят еще раз.
Vint Kras
34 - 03.08.2004 - 11:13
Я с тобой общался...
zzz
35 - 03.08.2004 - 11:14
2(28) Гы, 16-й чтоли?
zzz
36 - 03.08.2004 - 12:21
чего притих то? ляпнул, а примеров привести не можешь.

К списку вопросов на форуме 1C

>>