Для того, что бы вникнуть суть задачи объясню всю ситуацию.
   Работаю в торговой компании в 1С 7.7. Ежедневно набивается около 500-600 заказов (счет-фактур). Работа муторная, особенно если учесть, что основной объем работы начинается где-то в 16-00. Как показал опыт проще и быстрее если сначала сохранить все счет-фактуры, а уж затем создавать к ним приходные ордера.   
   Сама проблема: пытаюсь создать обработку для автоматического создания ПО для выбранных С-Ф. 
Написал следующий код, но создается ПО на последнюю из выбранных С-Ф и обработка заканчивается:
Перем Конт;
//*******************************************
Процедура Сформировать()         
   Док = СоздатьОбъект("Документ.СчетФактура");
   ДокПО = СоздатьОбъект("Документ");
   Доки.ВыбратьСтроки();
      
   Пока Доки.ПолучитьСтроку() = 1 Цикл 
      Если Доки.Пиктограмма = 1 Тогда
         Продолжить;
      КонецЕсли;
      Док.НайтиДокумент(Доки.ТекДок);   
      Док.ВыбратьСтроки();
      ИтогоБезНДС = 0;
      ИтогоНДС = 0;
      ИтогоНРТ = 0;
      
      ИтогоБезНДС = Док.СуммаБезНДС;
      ИтогоНДС =  Док.СуммаНДС;
      
      ИтогоНРТ = ИтогоБезНДС*Док.СтавкаНРТ/100;
      Итого = ИтогоБезНДС + ИтогоНДС + ИтогоНРТ;
      
      ОткрытьФорму("Документ.ПриходныйОрдер",Конт);
      
      Конт.Филиал = Филиал;
       Конт.НомерПервДок = СокрЛП(Док.НомерДок);
      Конт.ДатаПервДок = Док.ДатаДок;
      Конт.ДатаДок = Док.ДатаДок;
      Если Док.ВалютаДок = Константа.НацВалюта 
      Тогда
         Конт.Касса = Филиал.ОснКасса;
      Иначе
         Конт.Касса = Филиал.ОснВалКасса;
      КонецЕсли;
      ОперПО = Константа.ОперацияОплатаОтПолучателя;
      Сч = ОперПО.СчетК;
      Конт.Опер = ОперПО;
      Конт.Субконто1 = Док.Получатель;
      Конт.Субконто2 = "";
      Конт.Валюта = ВалютаПечати;
      Конт.Сумма = Итого;
      Конт.СуммаНДС = ИтогоНДС;
      Конт.ВалютаУчета = ВалютаПечати;
      Конт.КурсУчета = Док.КурсДок;
      Конт.СуммаУчета = Итого;
      Конт.Основание = "Счет-фактура № "+СокрЛП(Док.НомерДок)+" от "+Док.ДатаДок;
      Конт.Приложение = "";
      Конт.ДокументВладелец = Док.ТекущийДокумент();
      Конт.Автор = Док.Автор;
       Конт.Экспедитор = Док.Экспедитор;
   
      Конт.Форма.Субконто1.Видимость(?(ПустаяСтрока(Конт.Субконто1.Вид())=0,1,0));
      Конт.Форма.Субконто2.Видимость(?(ПустаяСтрока(Конт.Субконто2.Вид())=0,1,0));
      Конт.Форма.СубконтоСтр.Видимость(?(ПустаяСтрока(Конт.Субконто2.Вид())=0,1,0));
      Конт.Форма.КнопкаОчиститьСубконто2.Видимость(?(ПустаяСтрока(Конт.Субконто2.Вид())=0,1,0));
    
      Конт.Форма.Обновить();
      Конт.Форма.Закрыть();//  Справочник
   КонецЦикла;                
КонецПроцедуры
//
//*****************************************************
//  
Процедура ПриОткрытии()
   Доки.НоваяКолонка("Ном",,,,,3);   
   Доки.НоваяКолонка("Дата",,,,,10);   
   Доки.НоваяКолонка("Фактура",,,, "№ Счет -Факуры",12);   
   Доки.НоваяКолонка("Клиент",,,,,24);   
   Доки.НоваяКолонка("Менеджер",,,,,30);   
   Доки.НоваяКолонка("Сумма",,,,,10);
   Доки.НоваяКолонка("Пиктограмма",,,,,3);   
   Доки.НоваяКолонка("Автор",,,,, 10);
   Доки.НоваяКолонка("Цена",,,,,10);
   Доки.НоваяКолонка("ТекДок",,,,, 1);
   Доки.ВыводитьПиктограммы("Пиктограмма", );
   ДатаНачала = РабочаяДата();
   ДатаКонца = РабочаяДата();
КонецПроцедуры   // ПриОткрытии
                           
//
//*****************************************************
//  
Процедура Выбрать()  
   Доки.УдалитьСтроки();
   Док = СоздатьОбъект("Документ.СчетФактура");
    Док.ВыбратьДокументы(ДатаНачала, ДатаКонца);
   Номер = 0;
   
   Пока Док.ПолучитьДокумент() = 1 Цикл
      Если (Док.ПометкаУдаления() = 0) И (Док.Проведен() = 1)
      Тогда
         Номер = Номер + 1;
         Доки.НоваяСтрока();
         Доки.Ном = Номер;
         Доки.Дата = Док.ДатаДок;
         Доки.Фактура = Док.НомерДок;
         Доки.Клиент = Док.Получатель;
         Доки.Менеджер = Док.Менеджер;
         Доки.Сумма = Окр(Док.Итог("СуммаОтп") + Док.Итог("СуммаОтп")/120*Док.СтавкаНРТ,2);
         Доки.Автор = Док.Автор;
         Если Док.ВидЦены = 2 
         Тогда 
            Доки.Цена = "Розничная в сомах";
         ИначеЕсли Док.ВидЦены = 1
         Тогда
            Доки.Цена = "Розничная в валбте";
         Иначе
            Доки.Цена = "Оптовая в валюте";
         КонецЕсли;
         Доки.ТекДок = Док.ТекущийДокумент();
         Доки.Пиктограмма = ?(выдел = 1,2,1);
      КонецЕсли;
   КонецЦикла;
КонецПроцедуры   // Выбрать
                           
//
//*****************************************************
//  
Процедура УстановитьФлажек()
   
   Если Доки.ПолучитьЗначение(Доки.НомерСтроки, "Пиктограмма") = 1 Тогда
      Доки.УстановитьЗначение(Доки.НомерСтроки, "Пиктограмма", 2); 
   Иначе
      Доки.УстановитьЗначение(Доки.НомерСтроки, "Пиктограмма", 1); 
   КонецЕсли;
   
КонецПроцедуры   // УстановитьФлажек