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

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

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

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

Оффлайн Sweety Bell

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

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

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

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

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

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1096
  • КПД: 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
Просмотров: 5739
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Заполнение поля табличной части документа из табличной части справочника.

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

Ответов: 3
Просмотров: 3331
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

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

Ответов: 5
Просмотров: 1443
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Работа с формой Справочника "Физ.Лица" в ЗУП 2.5

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

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

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

Ответов: 1
Просмотров: 3055
Последний ответ 02 Фев 2014, 21:37
от LordWizard

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

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

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


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

* Реклама

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
155 Сообщений
alex0402
118 Сообщений
Norfolk
51 Сообщений
LexaK
48 Сообщений
MuI_I_Ika MuI_I_Ika
44 Сообщений
AsadRoman
22 Сообщений
друган
21 Сообщений
SlimShady
19 Сообщений
alexandr_ll
19 Сообщений
Константин5825
18 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 

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