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

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

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

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

Лейсан

Внутрь условия заходит...Вот так сделала.тоже без результата...

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

Лейсан


sergejK74

БазоваяЕдиницаИзмерения.Владелец - Это СправочникСсылка
Номенклатура - это СправочникОбъект
В примере я так писал Номенклатура.БазоваяЕдиницаИзмерения.Владелец = Номенклатура.Ссылка;
Неужели не работает?
Кнопочка Спасибо - слева!

Лейсан

нет не работает.не знаю уже как исправить эту ошибку(((

chuevsf

Ваша проблема подробно разобрана в книжке по программированию в 1С версии 8.
Даже пример подробный есть. Может стоит почитать сначала книжку?

Лейсан

хорошо.почитаю.как книга называется скажите пожалуйста?

Лейсан


chuevsf


Лейсан

спасибо за емкостный ответ.но в радченко нет раздела по работе с дбф файлами

sergejK74

Цикла не хватало?

ДБФ = Новый XBase;
ДБФ.ОткрытьФайл(ПутьКФайлу);
//Проверка на наличие записей
Если ДБФ.КоличествоЗаписей() = 0 Тогда
Сообщить("Файл данных пуст");
ДБФ.ЗакрытьФайл();
//Возврат  
КонецЕсли;
// ДБФ.Первая();

Пока ДБФ.Следующая() Цикл

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

Номенклатура.БазоваяЕдиницаИзмерения = ед.Ссылка;
Номенклатура.Записать();

КонецЦикла;


Dethmontt Ответ #2 : Сегодня в 02:58:00 все практически написал. Нужно было чуть поправить.
Кнопочка Спасибо - слева!

Теги:

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

Рейтинг@Mail.ru

Поиск