Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
21 Янв 2017, 09:22
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: программное создание элемента справочника  (Прочитано 870 раз)

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

Оффлайн Sweety Bell

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте! Я создаю элемент справочника и заполняю реквизиты данными из файла excel. половина реквизитов заполнилось без проблем. Но в 2-х появляется ошибка:
Поле объекта недоступно для записи (МеждународноеСокращение)
   НовыйЭлемент.БазоваяЕдиницаИзмерения.МеждународноеСокращение=ЗначЕд;

Для счетчик=2 по ФайлСтрок Цикл

ЗначАртикул = Excel.Cells(счетчик,2).Value;
ЗначАртикул =СтрЗаменить(СокрЛП(Строка(Excel.Cells(счетчик, 2).Value)),Символ(160),"");

ЗначКод =Excel.Cells(счетчик,1).Value;
ЗначКод =СтрЗаменить(СокрЛП(Строка(Excel.Cells(счетчик, 1).Value)),Символ(160),"");

ЗначНаимен =Excel.Cells(счетчик,3).Value;
    ЗначНаимен =СтрЗаменить(СокрЛП(Строка(Excel.Cells(счетчик, 3).Value)),Символ(160),"");

ЗначЕд =Excel.Cells(счетчик,6).Value;
ЗначЕд =СтрЗаменить(СокрЛП(Строка(Excel.Cells(счетчик, 6).Value)),Символ(160),"");

ЗначВид = Excel.Cells(счетчик,5).Value;
//ЗначВид =СтрЗаменить(СокрЛП(Строка(Excel.Cells(счетчик, 5).Value)),Символ(160),"");

РеквизитСпр =Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",ЗначАртикул);
Если РеквизитСпр=Справочники.Номенклатура.ПустаяСсылка()Тогда

Сообщить("Артикул"+ЗначАртикул+"не найден");
НовыйЭлемент =справочники.Номенклатура.СоздатьЭлемент();

НовыйЭлемент.ВидНоменклатуры=ЗначВид;
НовыйЭлемент.БазоваяЕдиницаИзмерения.МеждународноеСокращение=ЗначЕд;
    НовыйЭлемент.Артикул=ЗначАртикул;
НовыйЭлемент.Код=ЗначКод;
НовыйЭлемент.Наименование=ЗначНаимен;


НовыйЭлемент.Записать();
  КонецЕсли;


КонецЦикла;

Если не заполнять рекизиты
НовыйЭлемент.ВидНоменклатуры=ЗначВид;
НовыйЭлемент.БазоваяЕдиницаИзмерения.МеждународноеСокращение=ЗначЕд;
тогда возникает сообщение: новый элемент справочника не может быть записан без этих параметров

Помогите,пожалуйста,разобраться


Оффлайн Kironten

  • *****
  • Сообщений: 716
  • РЕПУТАЦИЯ: 153
  • КПД: 21%
  • Регистрация: 2013-08-12
  • Сайт: 
  • Профессия: Ученик 1С
И то и другое - ссылочные типы значений. Вы не можете записать элемент номенклатуры, подставив к примеру в реквизит "ВидНоменклатуры" ваше значение типа "Строка", там должна быть ссылка на элемент Справочники "ВидыНоменклатуры".
Т.е. вы сначала, по вашему значению строки, ищете в справочнике "ВидыНоменклатуры" подходящий элемент (при необходимости, создаете новый) и уже этот элемент присваиваете реквизиту "ВидНоменклатуры" создаваемого элемента справочника "Номенклатура".

Оффлайн Sweety Bell

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
  • Профессия: Ученик 1С
благодарю за ответ

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1095
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
НовыйЭлемент.БазоваяЕдиницаИзмерения.МеждународноеСокращение=ЗначЕд;

то что у вас "НОвыйЭлемент" - это объект, доступный для заполнения/редактирования абсолютно не значит, что
"НовыйЭлемент.БазоваяЕдиницаИзмерения.МеждународноеСокращение" доступно для редактирования.
Надо выше создать/найти элемент справочника КлассификаторЕдиницИзмерения и присвоить его реквизиту
"НовыйЭлемент.БазоваяЕдиницаИзмерения"
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1095
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
и еще.
при загрузках данных если "нельзя но очень хочется" то можно включить режим загрузки
и тогда большинство проверок при записи не будут происходить (на единицу измерения и пр.).
примерно так:
НовыйЭлемент = Справочники.Номенклатура.СоздатьЭлемент();
НовыйЭлемент.ОбменДанными.Загрузка=ИСТИНА;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
Стисняюсь даже спросить, а в чем тайный смысл 2 раза извлекать одни и те же данные?
ЗначКод =Excel.Cells(счетчик,1).Value;
ЗначКод =СтрЗаменить(СокрЛП(Строка(Excel.Cells(счетчик, 1).Value)),Символ(160),"");

Или так:
ЗначКод =СтрЗаменить(СокрЛП(Строка(Excel.Cells(счетчик, 1).Value)),Символ(160),"");

Или так:
ЗначКод =Excel.Cells(счетчик,1).Value;
ЗначКод =СтрЗаменить(ЗначКод,Символ(160),"");

Оффлайн Sweety Bell

  • *
  • Сообщений: 14
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2015-11-24
  • Сайт: 
  • Профессия: Ученик 1С
Большая благодарность вам


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

Автор EnigManРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 5537
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

Автор Kurt_WagnerРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 2596
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Работа с формой Справочника "Физ.Лица" в ЗУП 2.5

Автор Митя_Просто_МитяРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3161
Последний ответ 15 Дек 2011, 00:04
от Vit1501
Удалить запись из справочника "Сотрудники" уволенного

Автор Alex56Раздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2463
Последний ответ 02 Фев 2014, 21:37
от LordWizard
Как в 1С 8.2 при проведении документа заполнить элемент справочника информацией из документа?

Автор Галина55555Раздел Беседка

Ответов: 1
Просмотров: 4182
Последний ответ 01 Июл 2014, 16:44
от Галина55555

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
154 Сообщений
alex0402
61 Сообщений
MuI_I_Ika MuI_I_Ika
45 Сообщений
alexandr_ll
32 Сообщений
LexaK
32 Сообщений
crow1983
31 Сообщений
sertak sertak
27 Сообщений
Vzonder
22 Сообщений
BuhRust
19 Сообщений
дфтын дфтын
17 Сообщений

* Кто онлайн

  • Точка Гостей: 277
  • Точка Скрытых: 0
  • Точка Пользователей: 1
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 

Dellos Catering - выездной ресторан кейтеринг по всему Миру
SimplePortal 2.3.5 © 2008-2012, SimplePortal