|
И снова СОМ-соединение, но теперь выгрузка из 82 в 83 | ☑ | ||
---|---|---|---|---|
0
werta2007
20.01.14
✎
13:14
|
Выгружаю данные из 82(база нетиповая) в 83 Бухгалтерии. Простейшее: справочник "Организации". Соединяется все ок, но потом пишет ошибку: "Поле объекта недоступно для записи (Наименование)
Организация.Наименование= Выборка.Наименование;" и так на любой реквизит реагирует. |
|||
1
vicof
20.01.14
✎
13:15
|
ТипЗнч(Организация)
|
|||
2
Рэйв
20.01.14
✎
13:16
|
господи...И когда же они выучат про .ПолучитьОбъект()
|
|||
3
werta2007
20.01.14
✎
13:16
|
Выучилась уже давно, у меня создатьОбъект()
Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код.Значение = Выборка.Код; Организация.Наименование.Значение= Выборка.Наименование; |
|||
4
werta2007
20.01.14
✎
13:16
|
это что не одно и тоже?
|
|||
5
Рэйв
20.01.14
✎
13:17
|
А без .Значение пробовал?
|
|||
6
werta2007
20.01.14
✎
13:18
|
на .Значение пишет ошибку.
|
|||
7
werta2007
20.01.14
✎
13:19
|
Значение не является значением объектного типа (Значение)
Организация.Код.Значение = Выборка.Код; |
|||
8
Рэйв
20.01.14
✎
13:19
|
Я имел в виду вот так:
Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код.= Выборка.Код; Организация.Наименование= Выборка.Наименование; |
|||
9
Рэйв
20.01.14
✎
13:20
|
(7)А что за код тогда у тебя в (3)?
|
|||
10
werta2007
20.01.14
✎
13:22
|
Тип Строка и из выборки тоже передаю строку, т.е. с типами не должно быть проблем.
Когда "сто лет" назад грузила из 81 в 82,, все было ОК. Почему возникла ошибка при выгрузки из 82 в 83? |
|||
11
werta2007
20.01.14
✎
13:23
|
(8) на данную запись пишется ошибка.
Ожидается идентификатор Организация.Код. <<?>>= Выборка.Код; |
|||
12
Рэйв
20.01.14
✎
13:23
|
(11)пляяяя....
Моск включи уже. |
|||
13
Рэйв
20.01.14
✎
13:23
|
не, я пас.
|
|||
14
werta2007
20.01.14
✎
13:26
|
я непоняла, что я не так сделала, что у Вас молоой человек, последовали такие оскорбительные замечания. Мозги у меня на месте.Это у Вас видимо не в порядке судя по записи (8).
|
|||
15
Любопытная
20.01.14
✎
13:27
|
(11) Точку убери осле Код
|
|||
16
Любопытная
20.01.14
✎
13:27
|
*после
|
|||
17
Любопытная
20.01.14
✎
13:27
|
(14) Надо просто внимательно код писать и смотреть. А потом уже спрашивать. Тогда и не будет никаких проблем
|
|||
18
werta2007
20.01.14
✎
13:28
|
См (7) и вопрос. Оба варианта обработаные и с Значением и без.
|
|||
19
Любопытная
20.01.14
✎
13:28
|
Организация.Код.= Выборка.Код;
В левой части после слова Код убери точку |
|||
20
werta2007
20.01.14
✎
13:30
|
Я не дура чтобы точки ставить. Я просто на (8) ответ соотвествующий написала.
|
|||
21
Любопытная
20.01.14
✎
13:32
|
(20) Вы издеваетесь?
Вам в (8) написали код с синтаксической ошибкой. Очень простой, банальная описка. Вы на это написали (11), т.е. даже не попытавшись подумать над тем, что это за ошибка, сразу пишите на форум. И ведете себя лет так на 6, но не на 36 уж точно. |
|||
22
Рэйв
20.01.14
✎
13:32
|
кажется это надолго:-)
*пошел за попкорном. |
|||
23
werta2007
20.01.14
✎
13:32
|
Еще раз пишу оба обработанные мной варианты:
1. Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код = Выборка.Код; результат Поле объекта недоступно для записи (Наименование) 2. Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код.Значение = Выборка.Код; Организация.Наименование.Значение= Выборка.Наименование; результат Значение не является значением объектного типа (Значение) Организация.Код.Значение = Выборка.Код; |
|||
24
werta2007
20.01.14
✎
13:32
|
(22)ну-ну
|
|||
25
Любопытная
20.01.14
✎
13:33
|
(23) не надо там Значение. Просто Организация.Код = ВашКод;
|
|||
26
Любопытная
20.01.14
✎
13:33
|
1. Организация = МенеджерОрганизаций.СоздатьЭлемент();
Организация.Код = Выборка.Код; результат Поле объекта недоступно для записи (Наименование) Так код или Наименование? |
|||
27
Любопытная
20.01.14
✎
13:34
|
И что такое МенеджерОрганизаций?
|
|||
28
vicof
20.01.14
✎
13:35
|
(0) А я не понял, где фотка?
|
|||
29
werta2007
20.01.14
✎
13:37
|
V8 = Новый COMОбъект("V83.ComConnector");
Попытка Открытие = V8.Connect("File=""D:\бух 30"";Usr=""Администратор"";"); Исключение Предупреждение("База данных не открыта!!!"); Возврат; КонецПопытки; (27) Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); МенеджерОрганизаций = Открытие.Справочники.Организации; // Менеджеры остальных справочников: Пока Выборка.Следующий() Цикл Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код.Значение = Выборка.Код; |
|||
30
werta2007
20.01.14
✎
13:37
|
т.е МенеджерОрганизаций - это ком-объект
|
|||
31
werta2007
20.01.14
✎
13:39
|
(26) Я гружу данные по организации из бух82 в бух83. Что я не понятно написала выше? Мне нужны соотвественно и Код и Наименование.
|
|||
32
vicof
20.01.14
✎
13:39
|
(29) Не тупим, уже все написали в (26) и раньше
|
|||
33
werta2007
20.01.14
✎
13:42
|
я не туплю. Я в очередной раз Вам пишу, что обработала оба вариант!!!!!!!!! и
Организация.Код.Значение = Выборка.Код; и Организация.Код = Выборка.Код; Вы вообще читаете, что я пишу!!!!! Или ВЫ только оскорблять умеете? |
|||
34
Любопытная
20.01.14
✎
13:45
|
Если Организация.Пустая() Тогда
Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код = Код; // Остальные реквизиты: Организация.Записать(); КонецЕсли; - Работает. (33) Мы читать умеем. и мы читаем, что в коде написано Организация.Код, а в тексте ошибки ругается на номенклатуру. Не надо истерик, мадам, это не поможет |
|||
35
К_Дач
20.01.14
✎
13:46
|
(29) а где ты пишешь этот код? какой режим запуска приложения?
|
|||
36
Любопытная
20.01.14
✎
13:47
|
(33)Попробуйте сделать наоборот - подключиться из базы получателя и по COM только читать, а не писать. Будет, имхо, проще
|
|||
37
werta2007
20.01.14
✎
13:51
|
Все простите я в (23) увидела свою ошибку. И не поняла Ваши замечания (там код один а ошщибка другая). Но всеже у меня не работает этот код.
(35) Это внешняя обработка. Режим запуска Серверный толстый клиент. Бухгалтерия предприятия, редакция 2.0 (2.0.54.11) Эта обработка работала при выгрузке из 80 в 81, из 81 в 82, а вот из 82 в 83 перестала. |
|||
38
Любопытная
20.01.14
✎
13:54
|
(37) Вы же понимаете, что ничего не понятно) Пошагово отладкой смотрите, что такое Организация, что с ней можно сделать. По идее, все должно работать, но только если не беситься. И я все же советую цепляться из базы-приемника и писать в ней, а по COM просто получать данные для загрузки
|
|||
39
vicof
20.01.14
✎
13:56
|
(33) Оскорблять? Помилуйте, мадемуазель. Мои возвышенные мысли позволяют только направить Вас на путь истинный, дабы Вы, по незнанию своему, и неумению пользоваться отладчиком и советами людей. И да будет Ваш путь светлым и незапятнанным, как скатерть в столовой Метрополя.
|
|||
40
vicof
20.01.14
✎
13:56
|
*советами людей, не попали впросак
|
|||
41
werta2007
20.01.14
✎
13:57
|
Я поняла Ваш совет, но достаточно много пререписывать. Ладно займусь. Просто я думала, что в 83 может какие-то новые фишки появились, которые сразу не видны.
|
|||
42
werta2007
20.01.14
✎
13:58
|
(39) Спасибо. И отладчиком я умею хорошо пользоваться.)))
|
|||
43
werta2007
20.01.14
✎
14:22
|
все-таки прошу помощи еще раз. Пошаговое испонение показывает, что я подключаюсь к 83, менеджер создает объект, типы совпадают, но потом вываливается ошибка. Пчему 83 не дает писать в реквизит значение?
|
|||
44
werta2007
20.01.14
✎
14:23
|
код же рабочий, как показывает практика (для более ранних версий)
|
|||
45
acsent
20.01.14
✎
14:25
|
Пока Выборка.Следующий() Цикл
Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код.Значение = Выборка.Код; Бл@ть, что это за пи..дец? |
|||
46
werta2007
20.01.14
✎
14:29
|
а что Вам непонятно? Если что не понятно смотрите в (29) только без .Значение
|
|||
47
zva
20.01.14
✎
14:30
|
Организация = МенеджерОрганизаций.СоздатьЭлемент();
Организация.Код = "00001"; Организация.Наименование = "Тест"; Организация.Записать(); Какую ошибку выдаст? |
|||
48
acsent
20.01.14
✎
14:31
|
в выборке нет наименования просто
|
|||
49
werta2007
20.01.14
✎
14:32
|
вот на этот вопрос пока не дам ответ, так как я уже не на месте. Отвечу гдето через 2 ч.
|
|||
50
werta2007
20.01.14
✎
14:34
|
(48) есть все. Я же говорю код работает прекрасно для всего кроме 83.
|
|||
51
rinatru
20.01.14
✎
14:40
|
(50) читать увлекательно... будет продолжение?
|
|||
52
hhhh
20.01.14
✎
14:42
|
(50) просто это всё на сервере надо присваивать, а вы наверняка на клиенте фигачите, вот и не получается.
|
|||
53
werta2007
20.01.14
✎
18:37
|
(47)ошибка та же: поле объекта недоступно для записи.
|
|||
54
werta2007
20.01.14
✎
18:38
|
(52) теперь исполняют дома локально и базы файловые.
|
|||
55
werta2007
20.01.14
✎
18:51
|
Ещё одна фишка. Метод объекта не обнаружен (Записать)
Организация.Записать(); |
|||
56
werta2007
20.01.14
✎
18:52
|
Что это такое? Что за бред?
|
|||
57
VRednaia
20.01.14
✎
18:54
|
Реквизит "Организация" в обработке, которую вы запускаете есть?
|
|||
58
werta2007
20.01.14
✎
18:56
|
Зашла в конфигуратор 83 стала набирать ... Метод есть, но почему при доступе к ней через ком из 82 возникает ошибка?
|
|||
59
werta2007
20.01.14
✎
18:57
|
Естественно!!!
|
|||
60
VRednaia
20.01.14
✎
18:58
|
(59) Что естественно?
|
|||
61
VRednaia
20.01.14
✎
18:59
|
В обработке, не в базе, есть реквизит, имя которого = "Организация"?
И если да, то зачем этому реквизиту присваивать значение созданного com-объекта? |
|||
62
werta2007
20.01.14
✎
19:05
|
В обработке этого реквизита нет. Этосамое постое в этой обработке, что я пытаюсь сделать. Я хочу взять справочник Организаций из 82 и перекинуть со всеми реквизитами в 83. Поэтому я создаю ком-соединение, открываю справочик и пытаюсь туда закинуть элемент справочника. Часть кода в (29).
Но возникают такие ошибки, что я просто глазам не верю. |
|||
63
werta2007
20.01.14
✎
19:07
|
Что в 83 такое, что этот код перестал работать?
|
|||
64
zva
20.01.14
✎
20:11
|
Этот код создает новый элемент в справочнике Организации в демобазе Бух 30 на платформе 83
V8 = Новый COMОбъект("V83.ComConnector"); Попытка Открытие = V8.Connect("File=""" + ПутьКБазе + """;Usr=""Любимов (администратор)"";"); Исключение Предупреждение("База данных не открыта!!!"); Возврат; КонецПопытки; МенеджерОрганизаций = Открытие.Справочники.Организации; Организация = МенеджерОрганизаций.СоздатьЭлемент(); Организация.Код = "00001"; Организация.Наименование = "Тест"; Организация.Записать(); Что там у вас происходит - нам не ведомо. По трем строчкам кода не понять. Может на форме обработки элемент есть с именем Организация |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |