Вход | Регистрация

1С:Предприятие ::

Метки:внешние обработки

"СоздатьОбъект" как лучше в цикле или перед циклом

Я
   Ager
26.08.04 - 14:49
Сейчас разбираюсь с внешней обработкой не своей и там цикл по строкам DBF таблицы и все спраочники и документы создаются в цикле. Интересует такой вопрос: если вынести все это перед началом цикла будут ли какие-либо изменения или это все равно.
 
  Рекламное место пустует
   gr13
 
1 - 26.08.04 - 14:55
лучше перед началом цикла, по карайней мере я так делаю.
Сначала СоздатьОбъект,а потом цикл, зачем каждый раз создавать его?
   Valery
 
2 - 26.08.04 - 14:57
Лучше конечно перед циклом, если  в коде не заложен какой нибудь смысл делать это именно в цикле.
   Guk
 
3 - 26.08.04 - 14:59
Чего-то много шутников развелось на мисте...
   Ager
4 - 26.08.04 - 14:59
В качестве примера:
НКДБФ.Первая();
  НачатьТранзакцию();
  Пока  НКДБФ.ВКонце()=0 Цикл  
     ДИНН = 0;
     НК = СоздатьОбъект("ПродажаВРозницу");
     НК.Новый();
    НК.НомерДок = НКДБФ.KOD_NAKLAD;//Заполнение шапки

    НК.ДатаДок = НКДБФ.DATA;
    МестоХранения = СоздатьОбъект("Справочник.МестаХранения");    
    МестоХранения.НайтиПоНаименованию("Основной",1,1);
    НК.МестоХранения = МестоХранения.ТекущийЭлемент();
   КонецЦикла;
ЗафиксироватьТранзакцию(); 

Повторюсь: Если вынести все перед циклом будет лучше или ничего не изменится?
   Ager
5 - 26.08.04 - 15:01
Я тоже всегда делал перед циклом. Просто интересно стало есть ли какая то разница по быстродействию, по выделению памяти.
   МимохожийОднако
6 - 26.08.04 - 15:08
(5)Да ты попробуй вставить внутрь цикла, посмотри и сделай вывод. Чего гадать?
   spock
 
7 - 26.08.04 - 15:16
Части "НК = СоздатьОбъект("ПродажаВРозницу");" и "МестоХранения = СоздатьОбъект("Справочник.МестаХранения");" можно легко вынести за цикл.
   Рупор абсурда
 
8 - 26.08.04 - 15:16
А я никогда в циклах не пишу "ДИНН = 0;" ...
Честно! Они и без этого у меня работают ...
   spock
 
9 - 26.08.04 - 15:18
А "МестоХранения.НайтиПоНаименованию("Основной",1,1);" заменить на "Если МестоХранения.НайтиПоНаименованию("Основной",1,1) > 0 Тогда" ну и закрыть сессно.
   Guk
 
10 - 26.08.04 - 15:19
(7) И даже
МестоХранения.НайтиПоНаименованию("Основной",1,1);
можно...
 
  Рекламное место пустует
   Рупор абсурда
 
11 - 26.08.04 - 15:28
(0) Придраться можно практически к любому кусочку кода ...
Только культурный человек, не станет выносить на форум чужие огрехи ...
   spock
 
12 - 26.08.04 - 15:30
2(11)Рупор, свое признал чтоли? :-) (ап в виде шутки)
   Рупор абсурда
 
13 - 26.08.04 - 15:37
(12) Нет, не моё ...


Список тем форума
  Рекламное место пустует
Ошибка? Это не ошибка, это системная функция.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует