|
1C записать в справочник
|
|||
---|---|---|---|
#18+
Есть данные а Экселе. Как записать элемент в справочник в 1С. У меня такой код Регион=Документ.Sheets(НомерЛиста).Cells(НомерСтроки,2).Value; Если НЕ ПустаяСтрока(Регион) Тогда РУП_Регион=Справочники.РУП_Регион; РУП_РегионТек=РУП_Регион.НайтиПоНаименованию(СокрЛП(Регион)); Если РУП_РегионТек=РУП_Регион.ПустаяСсылка()Тогда Сообщить("новый Регион "+ Регион); РУП_Регион=РУП_Регион.СоздатьЭлемент(); РУП_Регион.Наименование=СокрЛП(Регион); КонецЕсли; Попытка Справочники.РУП_Регион.Наименование.Записать(); исключение Сообщить("Не удалось записать в справочник регион" + Справочники.РУП_Регион.Наименование, СтатусСообщения.Важное); возврат; КонецПопытки; КонецЕсли; Но выдается ошибка, не найдено поле наименования. А это поле есть по-любому. Оно создается по умолчанию. Что не так в коде ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 16:24 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
ЧТО НЕ ТАК????????????????????????????? Откровенно говоря вообще все не так. Это же не vbs. НовыйЭлемент = Справочники.РУП_Регион.Новый(); НовыйЭлемент.Наименование = Регион; НовыйЭлемент.Записать(); ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 16:45 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
gybsonЧТО НЕ ТАК????????????????????????????? Откровенно говоря вообще все не так. Это же не vbs. НовыйЭлемент = Справочники.РУП_Регион.Новый(); НовыйЭлемент.Наименование = Регион; НовыйЭлемент.Записать(); Мне не нужно создавать справочник. Он уже создан. Из экзелевского файла нужно в наименование справочника добавить записи. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 16:54 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
Мне не нужно создавать справочник. Он уже создан. Из экзелевского файла нужно в наименование справочника добавить записи. Регион=Документ.Sheets(НомерЛиста).Cells(НомерСтроки,2).Value; Если НЕ ПустаяСтрока(Регион) Тогда РУП_Регион=Справочники.РУП_Регион; РУП_РегионТек=РУП_Регион.НайтиПоНаименованию(СокрЛП(Регион)); Если РУП_РегионТек=РУП_Регион.ПустаяСсылка()Тогда Сообщить("новый Регион "+ Регион); РУП_Регион=РУП_Регион.СоздатьЭлемент(); Иначе РУП_Регион = РУП_Регион.ПолучитьОбъект(); КонецЕсли; РУП_Регион.Наименование=СокрЛП(Регион); Попытка РУП_Регион.Записать(); исключение Сообщить("Не удалось записать в справочник регион" + Справочники.РУП_Регион.Наименование, СтатусСообщения.Важное); возврат; КонецПопытки; КонецЕсли; ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 16:56 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
svetolux Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Гм... А что Вам помешало написать приблизительно так: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 17:04 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
svetolux ... Мне не нужно создавать справочник. Он уже создан. Из экзелевского файла нужно в наименование справочника добавить записи. Вы не поняли. Для обращения к справочнику Вам нужно создать объект-указатель на него. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 17:05 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
То Menahem. Судя по задействованным операторам автор работает в 8, а не в 7. То svetolux. В 8 для программного создания нового элемента справочника надо делать как написал gybson. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 17:18 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
gybson Мне не нужно создавать справочник. Он уже создан. Из экзелевского файла нужно в наименование справочника добавить записи. Регион=Документ.Sheets(НомерЛиста).Cells(НомерСтроки,2).Value; Если НЕ ПустаяСтрока(Регион) Тогда РУП_Регион=Справочники.РУП_Регион; РУП_РегионТек=РУП_Регион.НайтиПоНаименованию(СокрЛП(Регион)); Если РУП_РегионТек=РУП_Регион.ПустаяСсылка()Тогда Сообщить("новый Регион "+ Регион); РУП_Регион=РУП_Регион.СоздатьЭлемент(); Иначе РУП_Регион = РУП_Регион.ПолучитьОбъект(); КонецЕсли; РУП_Регион.Наименование=СокрЛП(Регион); Попытка РУП_Регион.Записать(); исключение Сообщить("Не удалось записать в справочник регион" + Справочники.РУП_Регион.Наименование, СтатусСообщения.Важное); возврат; КонецПопытки; КонецЕсли; Не-а, не работает не находит ПолучитьОбъект(); ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 17:19 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
AnswerТо Menahem. Судя по задействованным операторам автор работает в 8, а не в 7. То svetolux. В 8 для программного создания нового элемента справочника надо делать как написал gybson. А конкретный примерчик можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 17:24 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Метод записать в вашем коде есть у переменной РУП_Регион, т.к. ее тип "СправочникОбъект" (если мне не изменяет память...). ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 17:47 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
MenahemГм... А что Вам помешало написать приблизительно так: Код: plaintext 1. 2. 3. 4. 5.
В 8.х функцию СоздатьОБъект() изъяли! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 17:48 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
RedBird Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Метод записать в вашем коде есть у переменной РУП_Регион, т.к. ее тип "СправочникОбъект" (если мне не изменяет память...). Пишет {Форма.Форма(27)}: Поле объекта не обнаружено (Наименование) Сообщить("Не удалось записать в справочник регион" + Справочники.РУП_Регион.Наименование, СтатусСообщения.Важное); Что делать? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 19:09 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
gybsonЧТО НЕ ТАК????????????????????????????? Откровенно говоря вообще все не так. Это же не vbs. НовыйЭлемент = Справочники.РУП_Регион.Новый(); НовыйЭлемент.Наименование = Регион; НовыйЭлемент.Записать(); В первой строчке Свойства Новый в выпадающем списке нет ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 19:13 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
если это v 8.0/8.1 , то Ctrl+F1= СправочникМенеджер.<Имя справочника> (CatalogManager.<Имя справочника>) СоздатьЭлемент (CreateItem) Синтаксис: СоздатьЭлемент() Возвращаемое значение: Тип: СправочникОбъект. Описание: Создает новый элемент справочника. Примечание: Использование метода не приводит к записи созданного объекта в базу данных. Пример: НовыйОбъект = Справочники.Валюты.СоздатьЭлемент(); НовыйОбъект.Код = "840"; НовыйОбъект.Наименование = "USD"; НовыйОбъект.ПолноеНаименование = "Доллары США"; НовыйОбъект.Записать(); полный код см.пост 16:56 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 19:44 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
Там небольшая ошибка. Вот так вроде должно работать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 19:59 |
|
1C записать в справочник
|
|||
---|---|---|---|
#18+
brahmaТам небольшая ошибка. Вот так вроде должно работать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2007, 20:10 |
|
|
start [/forum/topic.php?fid=28&fpage=186&tid=1525511]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
26ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 234ms |
total: | 368ms |
0 / 0 |