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

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

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

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

Оффлайн Sweety Bell

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

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

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

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

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

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

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

Ответов: 3
Просмотров: 3777
Последний ответ 06 Апр 2015, 20:08
от Kurt_Wagner
Заполнение табличной части документа реквизитами табличной части справочника

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

Ответов: 1
Просмотров: 304
Последний ответ 10 Май 2017, 20:44
от ilnur75
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

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

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

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

Ответов: 3
Просмотров: 3564
Последний ответ 15 Дек 2011, 00:04
от Vit1501

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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

alex0402
92 Сообщений
oleg-x
80 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
68 Сообщений
Golickoff Golickoff
51 Сообщений
AIFrame
46 Сообщений
ilyay ilyay
42 Сообщений
Амал
30 Сообщений
Dethmontt Dethmontt
22 Сообщений
lansy
22 Сообщений
wise wise
21 Сообщений

* Кто онлайн

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

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal