Имя: Пароль:
1C
1С v8
Глюк с поступлением товаров
0 Rumpil
 
11.10.11
14:19
Добрый день. Конфа УТ 10.3. Все поступления приходят в ексель формате, поэтому чтобы не мучаться ручным вводом документов поступления в 1С написал обработку, текст привожу ниже:

   Йоксель=Новый ComОбъект("Excel.Application");
   ОткрытиеФайла = Йоксель.Workbooks.Open(СокрЛП(ПутьКФайлу));
   Страница = ОткрытиеФайла.Sheets(1);                                                                      
   
   ТабЗнач=Новый  ТаблицаЗначений;
   ТабЗнач.Колонки.Добавить("Номенклатура",Новый ОписаниеТипов("Строка"));
   ТабЗнач.Колонки.Добавить("Цена",Новый ОписаниеТипов("Число"));
   ТабЗнач.Колонки.Добавить("Количество",Новый ОписаниеТипов("Число"));

   Для НомерСтрочки = ПолеВвода1 по ПолеВвода2 Цикл
       ОбработкаПрерыванияПользователя();
       НовСтр = ТабЗнач.Добавить();
       НовСтр.Номенклатура = СокрЛП(Страница.Cells(НомерСтрочки,1).Value);
       НовСтр.Цена = Страница.Cells(НомерСтрочки,2).Value;
       НовСтр.Количество = Страница.Cells(НомерСтрочки,3).Value;

   КонецЦикла;

   ОткрытиеФайла.Close();
   Йоксель=0;

   НовыйДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
   НовыйДокумент.Дата = ДатаОстатков;
   НовыйДокумент.ОтражатьВУправленческомУчете = истина;
   НовыйДокумент.Организация = Справочники.Организации.НайтиПоКоду("000000001");
   НовыйДокумент.ВидПоступления = Перечисления.ВидыПоступленияТоваров.НаСклад;
   НовыйДокумент.СкладОрдер = Справочники.Склады.НайтиПоКоду("000000001");
   НовыйДокумент.Контрагент = ПолеВвода3;
   НовыйДокумент.ДоговорКонтрагента = ПолеВвода3.ОсновнойДоговорКонтрагента;
   НовыйДокумент.ВалютаДокумента =  ПолеВвода3.ОсновнойДоговорКонтрагента.ВалютаВзаиморасчетов;
   НовыйДокумент.КурсВзаиморасчетов = 1.0000;
   НовыйДокумент.КратностьВзаиморасчетов = 1;

   
   Для Каждого стр Из ТабЗнач Цикл
       
       НовыйТовар = Справочники.Номенклатура.СоздатьЭлемент();
       НовыйТовар.Наименование = стр.Номенклатура;
       НовыйТовар.НаименованиеПолное = стр.Номенклатура;
       НовыйТовар.БазоваяЕдиницаИзмерения = Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию("шт");
       НовыйТовар.ВидНоменклатуры = Справочники.ВидыНоменклатуры.НайтиПоНаименованию("товар");
       НовыйТовар.Записать();

       НоваяЕдиница = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
       НоваяЕдиница.Наименование            = СокрЛП(НовыйТовар.БазоваяЕдиницаИзмерения);
       НоваяЕдиница.ЕдиницаПоКлассификатору = НовыйТовар.БазоваяЕдиницаИзмерения;
       НоваяЕдиница.Коэффициент             = 1;
       НоваяЕдиница.Владелец                = НовыйТовар.Ссылка;
       НоваяЕдиница.Записать();

       НайденнаяЕдиница = НоваяЕдиница.Ссылка;
               
       НовыйТовар.ЕдиницаДляОтчетов = НайденнаяЕдиница;
       НовыйТовар.ЕдиницаИзмеренияМест = НайденнаяЕдиница;
       НовыйТовар.ЕдиницаХраненияОстатков = НайденнаяЕдиница;
       НовыйТовар.Записать();

       
       НоваяСтрока = НовыйДокумент.Товары.Добавить();
       НоваяСтрока.Номенклатура = НовыйТовар.Ссылка;
       НоваяСтрока.Цена = стр.Цена;
       НоваяСтрока.ЕдиницаИзмерения = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию("шт");
       НоваяСтрока.Количество = стр.Количество;
       НоваяСтрока.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС;
       НоваяСтрока.Сумма = НоваяСтрока.Количество*НоваяСтрока.Цена;
                       
       
   КонецЦикла;
   
   НовыйДокумент.Записать(РежимЗаписиДокумента.Проведение);


Прикол в том, что если посмотреть движения созданного документа Поступление товаров и услуг, то по измерению Количество у него нулевые движения (с остальными измерениями все в порядке), если открыть созданный документ поступления и в табличной части тупо перевыбрать номенклатуру и провести документ еще раз, то количество садится нормально.

Что то в обработке я не дописал или что это может быть ?
1 Господин ПЖ
 
11.10.11
14:20
телепаты в отпуске...
2 Шапокляк
 
11.10.11
14:22
Коэффициент в строке документа
3 catena
 
11.10.11
14:22
(0)Смотри в документе. что происходит при выборе товара. Коэффициент, небось, не заполнен...
4 Rumpil
 
11.10.11
14:24
(2)(3) ааа, может быть, ща проверю
5 Rumpil
 
11.10.11
14:31
спасибо большое, причина была в этом