Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 21:18

Люди добрые!помогите загрузить из дбв справочник номенклатура!

Автор Лейсан, 22 ноя 2011, 16:29

0 Пользователей и 3 гостей просматривают эту тему.

Лейсан

если вас не затруднит напишите пожалуйста название книги и раздел

chuevsf

Авторы: А.П.Габец, Д.И.Гончаров "1С:Предприятие 8.1. Простые примеры разработки". Глава 9 "Интеграция".
Именно про эту книгу я и говорил. Она в точности соответствует вашим запросам.
На этом форуме она точно есть...

sergejK74

Цитата: chuevsf от 23 ноя 2011, 12:59
Авторы: А.П.Габец, Д.И.Гончаров "1С:Предприятие 8.1. Простые примеры разработки". Глава 9 "Интеграция".
Именно про эту книгу я и говорил. Она в точности соответствует вашим запросам.
На этом форуме она точно есть...
+ та книжка, которая "толстый Габец" - Габец Гончаров Профессиональная разработка в 1С Предприятие 8.0. Глава 14. Интеграция с другими информационными системами. В ней чуть больше чем в "Простых примерах", но и их будет более чем достаточно.
Кнопочка Спасибо - слева!

Dethmontt

У справочника классификатор ед. измерения нету владельца!!!
Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
                    Номенклатура.Наименование = СокрЛП(ДБФ.NAME);
                  Номенклатура.Артикул = СокрЛП(ДБФ.ART);           
БазоваяЕдиницаИзмерения=Справочники.КлассификаторЕдиницИзмерения.СоздатьЭлемент();                 
                     БазоваяЕдиницаИзмерения.Наименование = СокрЛП(ДБФ.ED);
                     БазоваяЕдиницаИзмерения.Коэффициент = 1;           
                     БазоваяЕдиницаИзмерения.Записать();
               Номенклатура.БазоваяЕдиницаИзмерения=БазоваяЕдиницаИзмерения;
               Номенклатура.Записать();
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Лейсан

У справочника классификатор ед. измерения ЕСТЬ владелец!!

P.S. у меня все равно справочник не заполняется

Лейсан

Когда делаю Пока ДБФ.Следующая() Цикл
в цикл не заходит.сразу на конец функции перехродит

sergejK74

Цитата: Лейсан от 23 ноя 2011, 16:40
Когда делаю Пока ДБФ.Следующая() Цикл
в цикл не заходит.сразу на конец функции перехродит

Почему то не верится, что сразу после открытия ДБФ позиционируется на последнюю запись.
Какая конфигурация? Типовая? Есть ли возможность выложить файл dbf? Может он и не дбф вовсе?
Справочник КлассификаторЕдиницИзмерния, подчиненный Номенклатуре, как то не "comme il faut".
Попробуй так.

ДБФ = Новый XBase;
    ДБФ.ОткрытьФайл(ПутьКФайлу);
    //Проверка на наличие записей
    Если ДБФ.КоличествоЗаписей() = 0 Тогда
        Сообщить("Файл данных пуст");
        ДБФ.ЗакрытьФайл();
        //Возврат   
    КонецЕсли;
    ДБФ.Первая();
   
    Пока Не ДБФ.ВКонце() Цикл
   
        Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
        Номенклатура.Наименование = СокрЛП(ДБФ.NAME);
        Номенклатура.Артикул = СокрЛП(ДБФ.ART);
        Номенклатура.Записать();           
        //Если ЗначениеЗаполнено(ДБФ.ED) Тогда
        Ед = Справочники.ЕдиницыИзмерения.НайтиПоНаименованию(СокрЛП(ДБФ.ED),истина,,Номенклатура.Ссылка);
        Если Ед.Пустая() Тогда
            Ед = Справочники.ЕдиницыИзмерения.СоздатьЭлемент();
            Ед.Владелец = Номенклатура.Ссылка;
            Ед.Наименование = СокрЛП(ДБФ.ED);
            Ед.Коэффициент = 1;           
            Ед.Записать();
        КонецЕсли;
       
        Номенклатура.БазоваяЕдиницаИзмерения = ед.Ссылка;
        Номенклатура.Записать();

Дбф.Следующая();

    КонецЦикла;
Кнопочка Спасибо - слева!

Лейсан

конфигурация типовая.CRM ПРОФ.Файл дбф.куда его выложить?или прислать?

Лейсан

Номенклатура = Справочники.Номенклатура.СоздатьЭлемент();
        Номенклатура.Наименование = СокрЛП(ДБФ.NAME);
        Номенклатура.Артикул = СокрЛП(ДБФ.ART);
        Номенклатура.Записать(); --вот в этом месте у меня вылетает(((

sergejK74

Если посмотришь в модуль объекта Номенклатура, то там есть процедура ПередЗаписью() и там увидишь кучу проверок,
например на заполненность реквизита ВидНоменклатуры. Если он не заполнен, то происходит отказ от записи.
Следовательно, тебе нужно заполнить все требуемые реквизиты, а не только артикул.
Dethmontt конечно же был прав, справочник КлассификаторЕдиницИзмерния не подчинен номенклатуре, подчинен справочник ЕдиницыИзмерения, но это уже исправлено.
Кнопочка Спасибо - слева!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск