|
Не записывается элемент | ☑ | ||
---|---|---|---|---|
0
Валидатор
06.12.12
✎
16:02
|
При создании новой номенклатуры не могу создать элемент:
НоменклатураОбъект = Справочники.Номенклатура.СоздатьЭлемент(); НоменклатураОбъект.Наименование = Наименование; НоменклатураОбъект.НаименованиеПолное = Наименование; НоменклатураОбъект.Родитель = Группа; НоменклатураОбъект.Артикул = Артикул; НоменклатураОбъект.ПолныйАртикул = ПолныйАртикул; НоменклатураОбъект.СтранаПроисхождения.наименование = Страна; на последней строке он выбивает ошибку, пишет поле недоступно для записи, как быть? |
|||
1
shuhard
06.12.12
✎
16:03
|
(0) [как быть]
читать книжки долго |
|||
2
butterbean
06.12.12
✎
16:03
|
НоменклатураОбъект.СтранаПроисхождения= Страна;
|
|||
3
Валидатор
06.12.12
✎
16:04
|
(2) в таком случае Страна происхождения это справочник, а страна имеет тип строка, и в Странапроисхождения не попадут данные страна, пробовал
|
|||
4
Apokalipsec
06.12.12
✎
16:05
|
(3) смотри (1) и прочитай ещё раз свой пост, начиная со "страна происхождения - это ......"
|
|||
5
Heckfy
06.12.12
✎
16:06
|
(3) "в таком случае Страна происхождения это справочник" - ну так и подставляй туда ссылку на элемент справочника.
|
|||
6
unregistered
06.12.12
✎
16:07
|
Что-то типа:
НоменклатураОбъект = Справочники.Номенклатура.СоздатьЭлемент(); НоменклатураОбъект.Наименование = Наименование; НоменклатураОбъект.НаименованиеПолное = Наименование; НоменклатураОбъект.Родитель = Группа; НоменклатураОбъект.Артикул = Артикул; НоменклатураОбъект.ПолныйАртикул = ПолныйАртикул; СтранаСсылка = Справочники.Страны.НайтиПоНаименованию(Страна); Если СтранаСсылка.Пустая() Тогда СтранаОбъект = Справочники.Страны.СоздатьЭлемент(); СтранаОбъект.Наименование = Страна; СтранаОбъект.Записать(); СтранаСсылка = СтранаОбъект.Ссылка; КонецЕсли; НоменклатураОбъект.СтранаПроисхождения = СтранаСсылка; НоменклатураОбъект.Записать(); |
|||
7
Валидатор
06.12.12
✎
16:08
|
(4) отладчик показывает, что у СтранаПроисхождения Тип справочник ссылка, а у Страна тип строка
|
|||
8
Heckfy
06.12.12
✎
16:08
|
(7) в (6) практически готовое решение. ::)
|
|||
9
Проггер
06.12.12
✎
16:10
|
Facepalm
|
|||
10
Heckfy
06.12.12
✎
16:11
|
ОФФ (9) Влг - это Волгоград или Вологда? :)
|
|||
11
Проггер
06.12.12
✎
16:14
|
(10) Волгоград
|
|||
12
Валидатор
06.12.12
✎
16:26
|
{Форма.Форма.Форма(220)}: Ошибка при вызове метода контекста (Записать)
СтранаОбъект.Записать(); по причине: Значение поля "Код" не уникально как с кодом быть?) |
|||
13
Валидатор
06.12.12
✎
16:27
|
он же автоматически должен ставиться не?
|
|||
14
Fish
06.12.12
✎
16:28
|
(13) Если галочка "Автонумерация" стоит, то да.
|
|||
15
Валидатор
06.12.12
✎
16:29
|
а при программном создании получается надо задать эту автонумерацию?
|
|||
16
unregistered
06.12.12
✎
16:29
|
(12) >> как с кодом быть?
Присвоить правильный код?... Если речь идет о справочнике КлассифкаторСтранМира, то в типовых там длина кода 3 знака. Возможно, что у вас в справочнике уже есть элемент с кодом "999". Тогда при попытке получить следующий код платформа выдает ошибку. |
|||
17
Проггер
06.12.12
✎
16:32
|
а еще лучше воспользоваться подбором из ОКСМ
|
|||
18
Валидатор
06.12.12
✎
16:32
|
(16) просто у меня нет кода, и нужно чтобы он присваился автоматически, и не понятно как так сделать программно
|
|||
19
unregistered
06.12.12
✎
16:32
|
(13) В идеале код берется из ОКСМ (Общероссийский классификатор стран мира).
Ты уверен, что у тебя загружен классификатор и то наименование, по которому ты пытаешься найти, правильное? |
|||
20
ДайтеДайте Сказать
06.12.12
✎
16:33
|
> НоменклатураОбъект.СтранаПроисхождения.наименование = Страна;
это жестко |
|||
21
Fish
06.12.12
✎
16:33
|
(18) Посмотри код в ОКСМ.
|
|||
22
unregistered
06.12.12
✎
16:34
|
(18) Загрузи ОКСМ в базу. Потом проверь, что те наименования по которым ты ищешь, указаны правильно.
|
|||
23
Валидатор
06.12.12
✎
16:34
|
бл, вот я тупень, все нормально, исправил недочет свой) просто уже был создан элемент с таким названием, теперь надо с гтд разобратсья)
|
|||
24
Heckfy
06.12.12
✎
16:35
|
(23) Ну ты это, пиши если что..... :)
|
|||
25
Валидатор
06.12.12
✎
16:36
|
с ГТД пробелмы опять где то походу я туплю
{Форма.Форма.Форма(225)}: Значение не является значением объектного типа (Пустая) Если ГТДссылка.Пустая() Тогда |
|||
26
Валидатор
06.12.12
✎
16:36
|
ГТДссылка = Справочники.НомераГТД.НайтиПоНаименованию(НомерГТД);
Если ГТДссылка.Пустая() Тогда ГТДОбъект = Справочники.НомераГТД.СоздатьЭлемент(); ГТДОбъект.Код = НомерГТД; ГТДОбъект.Записать(); ГТДссылка = ГТДОбъект.Ссылка; КонецЕсли; НоменклатураОбъект.НомерГТД= ГТДссылка; |
|||
27
Валидатор
06.12.12
✎
16:37
|
Справочники.НомераГТД.НайтиПоНаименованию(НомерГТД) - Неопределно, вот походу в чем проблема
|
|||
28
butterbean
06.12.12
✎
16:37
|
ищешь по наименованию, а пишешь в поле Код... непорядок
|
|||
29
Валидатор
06.12.12
✎
16:38
|
точно) понял уже)
|
|||
30
Валидатор
06.12.12
✎
16:40
|
спасибо всем
|
|||
31
Валидатор
06.12.12
✎
17:21
|
Диалог:
- Вот я вордовский файл экселем открываю, что я делаю не так? - Открываете вордовский файл экселем - Ааа... понятно. Спасибо. (с) Баш |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |