Имя: Пароль:
1C
1С v8
Загрузка данных в документ
0 amadeus2010
 
07.09.12
06:55
Доброе утро,подскажите пожалуйста есть обработка по загрузке ексель файла в документ.По нажатию на кнопку выполнить создается новый документ для каждой строки ексель,хотя все строки должны быть в одном документе.Вот код:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Таб = Контрагенты.Выгрузить(Новый Структура("Пометка", Истина));
   ПоСтрокам = 1;
   Для Каждого Строка Из Таб Цикл
   //    //Индикатор    = ПоСтрокам/КоличествоИспользуемыхСтрок*100;
   //ПоСтрокам = ПоСтрокам + 1;

   
   ДокОприходованиеТоваров=Документы.ОприходованиеТоваров.СоздатьДокумент();


   
   ДокОприходованиеТоваров.Дата=ТекущаяДата();
   ДокОприходованиеТоваров.Склад=Справочники.Склады.НайтиПоНаименованию("Оптовый");
   ДокОприходованиеТоваров.Магазин=Справочники.Магазины.НайтиПоНаименованию("NAF-NAF");
   ДокОприходованиеТоваров.Организация=Справочники.Организации.НайтиПоНаименованию("NAF-NAF");
   ДокОприходованиеТоваров.АналитикаХозяйственнойОперации=Справочники.АналитикаХозяйственныхОпераций.ОприходованиеТоваров;
   ДокОприходованиеТоваров.Комментарий="Документ заполнен автоматически обработкой";
   ДокОприходованиеТоваров.Ответственный=ПараметрыСеанса.ТекущийПользователь;
   
   НоваяСтрока=ДокОприходованиеТоваров.Товары.Добавить();
   НоваяСтрока.Номенклатура=Справочники.Номенклатура.НайтиПоНаименованию(Строка.Наименование);
   НоваяСтрока.КоличествоУпаковок= Строка.Количество;
   НоваяСтрока.Упаковка=Справочники.УпаковкиНоменклатуры.НайтиПоНаименованию("шт.");
   НоваяСтрока.Сезон=Строка.Сезон;
   НоваяСтрока.Размер=Строка.Размер;
   НоваяСтрока.Цвет=Строка.Цвет;
   НоваяСтрока.ПервичнаяЦена=Строка.ПервичнаяЦена;
   НоваяСтрока.Себестоимость=Строка.Себестоимость;
   НоваяСтрока.Цена=Строка.РозничнаяЦена;
   НоваяСтрока.Сумма=НоваяСтрока.Количество*НоваяСтрока.Цена;
КонецЦикла;    

Попытка
   ДокОприходованиеТоваров.Записать(РежимЗаписиДокумента.Запись);
Исключение
   Сообщить(ОписаниеОшибки());
       КонецПопытки;

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
1 AroxNsk
 
07.09.12
06:59
вот строка в цикле
  ДокОприходованиеТоваров=Документы.ОприходованиеТоваров.СоздатьДокумент();
вытащи из цикла и не будет документ создаваться на каждой строчки.
вот это тоже желательно вынести
   ДокОприходованиеТоваров.Дата=ТекущаяДата();
   ДокОприходованиеТоваров.Склад=Справочники.Склады.НайтиПоНаименованию("Оптовый");
   ДокОприходованиеТоваров.Магазин=Справочники.Магазины.НайтиПоНаименованию("NAF-NAF");
   ДокОприходованиеТоваров.Организация=Справочники.Организации.НайтиПоНаименованию("NAF-NAF");
   ДокОприходованиеТоваров.АналитикаХозяйственнойОперации=Справочники.АналитикаХозяйственныхОпераций.ОприходованиеТоваров;
   ДокОприходованиеТоваров.Комментарий="Документ заполнен автоматически обработкой";
   ДокОприходованиеТоваров.Ответственный=ПараметрыСеанса.ТекущийПользователь;
2 amadeus2010
 
07.09.12
07:14
имеете ввиду в цикле оставить только создание табличной части документа,т.е так
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
ДокОприходованиеТоваров=Документы.ОприходованиеТоваров.СоздатьДокумент();


   
   ДокОприходованиеТоваров.Дата=ТекущаяДата();
   ДокОприходованиеТоваров.Склад=Справочники.Склады.НайтиПоНаименованию("Оптовый");
   ДокОприходованиеТоваров.Магазин=Справочники.Магазины.НайтиПоНаименованию("NAF-NAF");
   ДокОприходованиеТоваров.Организация=Справочники.Организации.НайтиПоНаименованию("NAF-NAF");
   ДокОприходованиеТоваров.АналитикаХозяйственнойОперации=Справочники.АналитикаХозяйственныхОпераций.ОприходованиеТоваров;
   ДокОприходованиеТоваров.Комментарий="Документ заполнен автоматически обработкой";
   ДокОприходованиеТоваров.Ответственный=ПараметрыСеанса.ТекущийПользователь;
    Для Каждого Строка из Таб Цикл
создать табличную часть
КонецЦикла
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
еще вопрос до этой корректировки часть записей садилась в документ а часть нет, с чем это может быть связано?
3 hhhh
 
07.09.12
07:46
ну может руки помыть этому мальчику, который такой код пишет? Можно даже в его присутствии (С) Жванецкий
AdBlock убивает бесплатный контент. 1Сергей