|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
Привет! Надо из акцесса загрузить данные. Пробелма в том что это взаимосвязанные данные и после загрузки связь не должна потеряться. Т.е. упрощу чтобы было яснее - справочник Номенклатура (к примеру) и в нем поле ID_Контрагент (причем в акцессовском варианте это просто ключевое поле, которое связано по ключу с полем ID_Контрагент в справочнике Контрагенты). Т.е. есть 2 справочника Номенклатура и Контрагенты, надо чтобы после переноса данных в справочнике Номенклатура осталась связь со справочником Контрагенты по соответствующему полю... При простой загрузке контрагенты переносятся наименованием и если создавать новый элемент в Номенклатуре, то справочник Контрагенты в поле ID_Контрагент подтягиваться не будет, как сделать такой перенос? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2008, 16:40 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
Интересно, какая связь между номенклатурой и клиентом... У 10 поставщиков у каждого свой "Домик в деревне"? О_о ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2008, 16:56 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
ПЖИнтересно, какая связь между номенклатурой и клиентом... У 10 поставщиков у каждого свой "Домик в деревне"? О_о Нет, на самом деле пример - это абстракция, нужно загрузить 2 справочника со взаимосвязанными полями, тоже самое про абонентов и адреса, где в абонентах связь со справочником улиц, т.е. гружу данные, где есть ссылка на другой справочник, а у меня наименования гонятся при экспорте, а мне нужно чтобы была связь со вторым справочником ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2008, 17:03 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
Приблизительно так Код: plaintext 1. 2. 3.
или получив GUID записанного объекта его можно использовать например вот так: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2008, 18:13 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
DmitryOrlovПриблизительно так Код: plaintext 1. 2. 3.
или получив GUID записанного объекта его можно использовать например вот так: Код: plaintext
Спасибо большое! Сейчас попробую! ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2008, 07:32 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
Создала СправочникУлицыТест, Создала СправочникКонтрагентыТест, в СправочникКонтрагентыТест в Реквизите Улицы сделала ссылку на СправочникУлицыТест, вот код обработки: Пока НаборЗаписей.EOF()=0 Цикл НовыйЭлемент=Справочники.КонтрагентыТест.СоздатьЭлемент(); НовыйЭлемент.Наименование=Строка(НаборЗаписей.Fields("Контрагент").Value); НовыйЭлемент.Улица=Справочники.УлицыТест.ПолучитьСсылку(); НовыйЭлемент.УстановитьСсылкуНового(НовыйЭлемент); НаборЗаписей.MoveNext(); НовыйЭлемент.Записать(); КонецЦикла; НаборЗаписей.Close(); вот ошибка: {Обработка.ЗагрузкаКонтрагентовТест.Форма.Форма(48)}: Ошибка при вызове метода контекста (УстановитьСсылкуНового): Несоответствие типов (параметр номер '1') НовыйЭлемент.УстановитьСсылкуНового(НовыйЭлемент); как и что мне исправить чтобы заработало? вот в акцессе: Таблица Улицы: Код Наименование 1 Улица1 2 Улица2 Таблица Контрагенты: Код Контрагент Улица 1 Иванов1 Улица1 2 Иванов2 Улица2 3 Иванов11 Улица1 4 Иванов111 Улица1 5 Иванов22 Улица2 ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2008, 08:27 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
Что-то не получается... вот в акцессе: Таблица Улицы: Код Наименование 1 Улица1 2 Улица2 Таблица Контрагенты: Код Контрагент Улица 1 Иванов1 Улица1 2 Иванов2 Улица2 3 Иванов11 Улица1 4 Иванов111 Улица1 5 Иванов22 Улица2 ПолучитьСсылкНового() - да еще с попыткой грохнуть сам объект - здесь ни к чему. Дстаточно: 1. обработать таблицу улиц (добавить в соотв. справочник 1С элементы, если не найдены по наименованию) 2. при обработке справочника Контрагенты сделать: НовыйЭлемент=Справочники.КонтрагентыТест.СоздатьЭлемент(); НовыйЭлемент.Наименование=Строка(НаборЗаписей.Fields("Контрагент").Value); НовыйЭлемент.Улица=Справочники.УлицыТест.НайтиПоНаименованию(ИмяУлицы,истина); Это если улицы по наименованию синхронизируются. Или .НайтиПоКоду(), или .НайтиПоРеквизиту() - смотря как задача синхронизации поставлена. А ПолучитьСсылкуНового() нужно только в одном случае - если есть перекрестные ссылки типа Улица.Контрагент и Контрагент.Улица, и загружаются эти объекты одновременно (т.е. оба еще не записаны, и каждому нужна ссылка на другого) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2008, 09:00 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
[quot pail] НовыйЭлемент.Улица=Справочники.УлицыТест.НайтиПоНаименованию(ИмяУлицы,истина); quot] т.е. это получается каждую улицу надо грузить отдельно... когда я написала именно так, то программа выдала: {Обработка.ЗагрузкаКонтрагентовТест.Форма.Форма(50,64)}: Переменная не определена (ИмяУлицы) НовыйЭлемент.Улица=Справочники.УлицыТест.НайтиПоНаименованию(<<?>>ИмяУлицы,истина); Сработало только когда я написала в кавычках и точное название улицы: НовыйЭлемент.Улица=Справочники.УлицыТест.НайтиПоНаименованию("Улица1",истина); , но при этом программа всем контрагентам поставила Улица1, хотя правильно - ссылка есть, как сделать чтобы все улицы грузились? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2008, 09:19 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
Ну так надо для каждого контрагента именно ЕГО улицу найти. А откуда ее взять - ваши проблемы. Переменная ИмяУлицы, в котрой должно быть наименование улицы обрабатываемого контрагента - некоторая абстракция. За вас полностью работающий код никто написать в форуме не сможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2008, 09:32 |
|
ЗагрузкаДанных1С8
|
|||
---|---|---|---|
#18+
pailНу так надо для каждого контрагента именно ЕГО улицу найти. А откуда ее взять - ваши проблемы. Переменная ИмяУлицы, в котрой должно быть наименование улицы обрабатываемого контрагента - некоторая абстракция. За вас полностью работающий код никто написать в форуме не сможет. понятно... а надо было именно одновременное сопоставление улиц у всех абонентов... ну что же ладно... нет так нет... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2008, 09:45 |
|
|
start [/forum/topic.php?fid=28&fpage=162&tid=1524536]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 156ms |
0 / 0 |