|
|
|
Альфа-Авто:. Редакция 4.1 (8.2). помогите победить характеристики номенклатуры | ☑ | ||
|---|---|---|---|---|
|
0
Light330
20.09.11
✎
12:11
|
Добрый день! Пишу загрузку остатков номенклатуры в документ "Вводостатковтоваров "(Альфа-Авто: Автосалон+Автосервис+Автозапчасти. Редакция 4.1 (4.1.01.20), платформа 8.2 (8.2.14.533))из dbf-файла. Не получается победить загрузку в табличную часть, загружаю запчасти, в справочнике "ТипыНоменклатуры" стоит "Учет по характеристикам не ведется" , как это отразить в обработке, чтобы не было вот такой ругани : Заполняется накладная номер ПРН0001951 поставщик
При записи < Ввод остатков товаров ПРН0001951 от 24.10.2008 0:00:00 > обнаружены ошибки : Таблица < Товары > значение колонки < Характеристика номенклатуры > не заполнено ! Строка номер 1 Из-за возникших ошибок операция записи была отменена. сама процедура: Процедура ЗагрузкаИзДбф(Док) Контрагент=справочники.Контрагенты; Дог=справочники.ДоговорыВзаиморасчетов; склад=справочники.СкладыКомпании; Номенклатура=Справочники.Номенклатура; Единица=справочники.ЕдиницыИзмерения; ЕдиницаБ=справочники.КлассификаторЕдиницИзмерения; Орг=справочники.Организации; ФОрг=Орг.ПолучитьФормуВыбора(); орг=Форг.ОткрытьМодально(); БД= Новый XBase; ИмяФ ="tov.dbf"; Путь = "C:/temp"; Если Не НайтиДБФ(Путь,ИмяФ) Тогда выборФайла(ИмяФ); Иначе имяФ = путь+"/"+ИмяФ; КонецЕсли; БД.ОткрытьФайл(ИмяФ); БД.Кодировка=КодировкаXBase.OEM; //Флаг=1; ТекНом=""; Для а=1 по БД.КоличествоЗаписей() Цикл БД.Перейти(а); Самномер=СтрЗаменить(БД.DOCNO, Символы.НПП, ""); Если ТекНом<>Самномер Тогда Док=Документы.ВводОстатковТоваров.СоздатьДокумент(); Док.Дата = БД.DOCDATE; Док.Номер = Самномер; Док.ПодразделениеКомпании=Справочники.ПодразделенияКомпании.НайтиПоКоду("ЦБ000001"); Док.Организация=орг; Док.СкладКомпании=склад.НайтиПоНаименованию(БД.SKLAD, Истина); Док.Контрагент=Контрагент.НайтиПоНаименованию(БД.DESCR, Истина); ВыборкаДог=Дог.Выбрать(,Док.Контрагент); ВыборкаДог.следующий(); //Договор=ВыборкаДог.ПолучитьОбъект(); Сообщить("Заполняется накладная номер "+ строка(Док.Номер)+" поставщик "); //Док.ДоговорКонтрагента=Договор.Ссылка; Док.Автор=Справочники.Пользователи.НайтиПоНаименованию("Elegant", Истина); Док.ХозОперация=Справочники.ХозОперации.ВводОстатковТоваров; Док.ВалютаДокумента=Константы.ВалютаРегламентированногоУчетаОрганизаций.Получить(); Док.КурсДокумента=1; КонецЕсли; Док.СуммаДокумента=БД.SUMMA; СтрокаДок=Док.Товары.Добавить(); СтрокаДок.Количество=БД.KOL; СтрокаДок.Цена=БД.CENA ; ТМЦ18=БД.kod; Если Номенклатура.НайтиПоКоду(СокрЛп(ТМЦ18))=Справочники.Номенклатура.ПустаяСсылка()Тогда ТОВАР = БД.NOM; ПолнТовар=БД.NOMPL; Един=БД.ED; Сообщить("Добавление номенклатуры" +ТОВАР); НовыйТовар= Справочники.Номенклатура.СоздатьЭлемент(); // Получить ссылку на группу, в которой будет находиться новый элемент. Родитель = Справочники.Номенклатура.НайтиПоНаименованию("Материалы запчасти", Истина); НовыйТовар.Родитель = Родитель; НовыйТовар.БазоваяЕдиницаИзмерения=ЕдиницаБ.НайтиПоНаименованию(СокрЛп(Лев(Един,2))); НовыйТовар.ОсновнаяЕдиницаИзмерения=Единица.НайтиПоНаименованию(СокрЛп(Лев(Един,2))); НовыйТовар.Наименование=ТОВАР; НовыйТовар.кОД=БД.kod; НовыйТовар.ВалютаУчета=справочники.Валюты.НайтиПоКоду(810); НовыйТовар.Артикул=БД.KAT+1; НовыйТовар.ставкандс=справочники.СтавкиНдс.НайтиПоНаименованию("18%", Истина); НовыйТовар.ТипНоменклатуры=справочники.ТипыНоменклатуры.НайтиПоНаименованию("Материалы и спецоснастка"); НовыйТовар.ВидНоменклатуры=перечисления.ВидыНоменклатуры.Товар; НовыйТовар.НаименованиеПолное=ПолнТовар; //НовыйТовар.УстановитьНовыйКод(); НовыйТовар.Записать(); КонецЕсли; рекв=СтрЗаменить("Номенклатура.Артикул", Символы.НПП, ""); СтрокаДок.Номенклатура=Номенклатура.НайтиПоКоду(СокрЛп(ТМЦ18)); СтрокаДок.Сумма=БД.SUMMA; СтрокаДок.СуммаВсего=БД.SUMMA; //СтрокаДок.СуммаНДС=БД.NDS; СтрокаДок.ЕдиницаИзмерения=СтрокаДок.Номенклатура.ОсновнаяЕдиницаИзмерения; Если СтрокаДок.Номенклатура.ТипНоменклатуры.ИспользованиеХарактеристик=3 Тогда КонецЕсли; // СтрокаДок.ХарактеристикаНоменклатуры= Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка(); СтрокаДок.Коэффициент=1; Док.Записать(); Флаг =БД.Следующая(); КонецЦикла; БД.ЗакрытьФайл(); КонецПроцедуры |
|||
|
1
Axel2009
20.09.11
✎
12:17
|
смотреть в отладчике в какой момент ругается и что за условие отрабатывает
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |