![]() |
![]() |
![]() |
|
Глюк с поступлением товаров | ☑ | ||
---|---|---|---|---|
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
|
спасибо большое, причина была в этом
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |