|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
Привет всем! Вот и кактастрофа. Даже не знаю с какой стороны подойти и что делать? У меня есть акцессовские таблицы, я их могу экспортировать в эксель, двф - без разницы, знаю что мне надо будет их загружать в созданную конфигурацию, но я понятия не имею с какой стороны к этому подойти...Какие есть методы? способы? с чего начать? с какой стороны подойти? у нас сейчас в 5 отключат инет, но я ОЧЕНЬ-ОЧЕНЬ буду ждать ответов, даже приблизительно не знаю в каком направлении двигаться... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2008, 16:57 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
Nata75Привет всем! Вот и кактастрофа. Даже не знаю с какой стороны подойти и что делать? У меня есть акцессовские таблицы, я их могу экспортировать в эксель, двф - без разницы, знаю что мне надо будет их загружать в созданную конфигурацию, но я понятия не имею с какой стороны к этому подойти...Какие есть методы? способы? с чего начать? с какой стороны подойти? у нас сейчас в 5 отключат инет, но я ОЧЕНЬ-ОЧЕНЬ буду ждать ответов, даже приблизительно не знаю в каком направлении двигаться... попробуй сначала поковыряться в типовых сервисных обработках. Если структуры не сложные - может и этого хватит. http://slil.ru/25602842 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2008, 17:08 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
С access и напрямую можно работать. Вот кусочек кода для примера ado=СоздатьОбъект("ADODB.Connection"); ado.ConnectionString= "Provider=Microsoft.Jet.OLEDB.4.0; |Data Source="+ СокрЛП(путь)+"ldb.mdb; |Persist Security Info=False"; ЗапросТекст="select * from [myTableName]" ; ado.Open(); тб=ado.execute(ЗапросТекст); пока тб.Eof() =0 цикл датаДок = дата(тб.Fields("myField1").Value); если тб.Fields("myField2").Value = -1 тогда ну и так далее. имена таблицы и полей условны ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2008, 17:16 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
Уважаемые ПЖ и pail спасибо вам огромное что не бросаете меня, вчера уже после 5 выяснилось что меня перебрасывают на очень срочный проект в акцессе и загрузка переносится на чуть более поздний срок. Если бы Вы только знали как я Вам благодарна!!! pail, я только не поняла датаДок - это наименование документа в 1С который должен быть связан с таблицей myTableName? а дата {дата(тб.Fields("myField1").Value);} - это имя поля документа куда будет записываться myField1? и -1 {тб.Fields("myField2").Value} означает что записи закончились? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 08:22 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
или -1 {тб.Fields("myField2").Value} когда поле надо загружать при этом проверяя условие? и еще - у меня база данных не из отдельных таблиц, а со справочниками - которые по ключу связаны с другими таблицами, вот это обстоятельство можно сразу в запросе определить? в документе то я потом смогу переопределить что поле - справочник, а как это отражается на загрузке? а как при загрузке указать что поле - ключ и что будет с данными если я буду грузить как просто отдельные таблицы без учета связок? уже загруженные документы не будут знать что они связаны со справочниками? ПЖ, я только несколько дней вообще с 1С я еще не доизучала до epf - так понимаю что это так называемый внешний отчет, но как с ним работать, как залезть вовнутрь и посмотреть что и где изменять еще не доизучала :), но попробую изучить поскорее. Сложно, безумно сложно без курсов, без наставников, за несколько дней до 1 апреля перейти с акцесса и изучить 1С, если бы не Вы, то мне вообще была бы крышка. Спасибо огромное! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 08:35 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
Это просто кусочек кода, выдранный из действующей обработки - для примера. Имена полей как базы-источника, так и получателей, для целей иллюстрации никакого значения не имеют. Запрос "select * from table" - это тоже простейший вариант запроса к источнику (access) Вы можете написать сколь угодно сложный запрос, в том числе и к нескольким связанным таблицам - лишь бы источник его сумел выполнить. Более того, нужные запроса лучше сконструировать и отладить непосредственно в access - а в коде 1с использовать уже готовый и отлаженный текст ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 08:59 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
pailЭто просто кусочек кода, выдранный из действующей обработки - для примера. Имена полей как базы-источника, так и получателей, для целей иллюстрации никакого значения не имеют. Запрос "select * from table" - это тоже простейший вариант запроса к источнику (access) Вы можете написать сколь угодно сложный запрос, в том числе и к нескольким связанным таблицам - лишь бы источник его сумел выполнить. Более того, нужные запроса лучше сконструировать и отладить непосредственно в access - а в коде 1с использовать уже готовый и отлаженный текст да-да, я понимаю что такое select (в моих базах язык запросов тоже используется) я просо не могу понять каким образом я должна связать поля документа в 1С и таблицы акцесс. Вот когда я делаю select или update в своих акцесовских таблицах (они у меня лежат в MSSQL) там все просто - просто указываю с одной стороны одну таблицу, другую, работа с полями, а с какой стороны к 1С подойти? в 1С же документы там же не просто таблицы с которыми можно напрямую вот и не могу понять как надо... я наверно еще не по 1С-совски мыслю, даже код присланный Вами пытаюсь привязать по смыслу как будто там таблицы... вот эта тонкость до меня не доходит -как поля таблицы акцесс связать с полями документа 1С? В голове: ПолеТаблицаАкцесс = ПолеДокумента1С, вот саму логику уловить не могу... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 09:25 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
А с документом 1С вы работаете средствами языка 1С Если нужно заполнить существующий документ - его надо как-то найти. Если новый - то док=СоздатьОбъект("Документ.Накладная"); док.Новый(); А дальше - все одинаково, методичное присваивание реквизитам документа значений полей запроса. Док.Поле1 = тб.Fields("Field1").Value; Затем док.Записать(); тб.MoveNext(); пока тб.Eof() не скажет что записей в выборке больше нет. Если надо еще и таб.часть документа заполнять - чуть посложнее, цикл ее заполнения внутри цикла обработки документов. Т.е. все "связывание" данных 1с и Access - только программным кодом Поле1 - это из схемы базы 1С. А Field1 - из схемы базы (запроса) access ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 09:42 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
Nata75 pailЭто просто кусочек кода, выдранный из действующей обработки - для примера. Имена полей как базы-источника, так и получателей, для целей иллюстрации никакого значения не имеют. Запрос "select * from table" - это тоже простейший вариант запроса к источнику (access) Вы можете написать сколь угодно сложный запрос, в том числе и к нескольким связанным таблицам - лишь бы источник его сумел выполнить. Более того, нужные запроса лучше сконструировать и отладить непосредственно в access - а в коде 1с использовать уже готовый и отлаженный текст да-да, я понимаю что такое select (в моих базах язык запросов тоже используется) я просо не могу понять каким образом я должна связать поля документа в 1С и таблицы акцесс. Вот когда я делаю select или update в своих акцесовских таблицах (они у меня лежат в MSSQL) там все просто - просто указываю с одной стороны одну таблицу, другую, работа с полями, а с какой стороны к 1С подойти? в 1С же документы там же не просто таблицы с которыми можно напрямую вот и не могу понять как надо... я наверно еще не по 1С-совски мыслю, даже код присланный Вами пытаюсь привязать по смыслу как будто там таблицы... вот эта тонкость до меня не доходит -как поля таблицы акцесс связать с полями документа 1С? В голове: ПолеТаблицаАкцесс = ПолеДокумента1С, вот саму логику уловить не могу... 1С среда объектно-ориентированная, п.э. в ней лучше оперировать её объектами. Твои таблицы в 1С - это структуры в которых хранятся структуры этих объектов - справочники, документы, перечисления и т.д. Т.е. некий более высокий уровень абстракции. Твои таблички в SQL - суть тоже отражение таких объектов. П.э. достаточно сопоставить данные твоих табличек SQL и структруру базы 1С на уровне объектов, написать в 1С код с алгоритмом формирования объектов 1С и заполнения их реквизитов и записать их используя встроенный язык платформы 1С. Система сама "разложит" данные по нужным полям в БД 1С. ЗЫ Зачастую создавая структуры для хранения данных, разработчик не задумывается (или даже не знает) в какой реальной физической таблице эти данные лежат. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 09:44 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
ПЖ 1С среда объектно-ориентированная Не объектно-ориентированная, а объектно-базированная это среда, увы. Новых объектных классов в ней не создать - только экземпляры существующих. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 10:02 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
да вот как раз в этом и есть весь фокус - сопоставление, но все ясно, если надо писать код в 1С с алгоритмом формирования объектов , то это на моем уровне нереально... Я вначале предполагала что надо в 1С создать документ с какими-то полями, а потом делать что-то типа ПолеТаблицыАкцесс=ПолеДокумента1С, т.е. представляла документ как пустую таблицу и думала что можно туда каким-то образом передавать данные, причем не понимала как в этом случае указать какому-либо ПолюТаблицы1С что оно по ключу связано с ПолемТаблицыАкцесс (со справочником), а это оказывается надо в алгоритме формировать сам документ 1С, ну что же... дальше не имеет смысла Вас мучить вопросами потому что это тогда мне надо будет чтобы Вы мне написали просто весь пример ввода хотя бы 1 таблицы и связанного справочника, а это я понимаю сложно и совести не хватит у меня попросить Вас о подобном... Спасибо огромное что откликнулись! пусть меня убивают... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 10:10 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
pailА с документом 1С вы работаете средствами языка 1С Если нужно заполнить существующий документ - его надо как-то найти. Если новый - то док=СоздатьОбъект("Документ.Накладная"); док.Новый(); А дальше - все одинаково, методичное присваивание реквизитам документа значений полей запроса. Док.Поле1 = тб.Fields("Field1").Value; Затем док.Записать(); тб.MoveNext(); пока тб.Eof() не скажет что записей в выборке больше нет. Если надо еще и таб.часть документа заполнять - чуть посложнее, цикл ее заполнения внутри цикла обработки документов. Т.е. все "связывание" данных 1с и Access - только программным кодом Поле1 - это из схемы базы 1С. А Field1 - из схемы базы (запроса) access ой, мамочки, становится что-то по местам в голове!!! нет, табличных частей никаких нет, только связанные поля со справичниками!!! хотя могут потребовать преобразовать в табличную часть... но это уже второе дело... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 10:17 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
pail ПЖ 1С среда объектно-ориентированная Не объектно-ориентированная, а объектно-базированная это среда, увы. Новых объектных классов в ней не создать - только экземпляры существующих. Ну ИМХО не суть. Создайте в ООП абстрактные классы (справочник, документ) и "объявите" что создавать от них можно только изолированные (справочник.контрагенты, документ.реализация). ЗЫ уйдем щас в дебри - есть ли ООП в 1С :)) >>Новых объектных классов в ней не создать справочник.контрагенты справочник.физлица это не 2 разных класса, созданных разработчиком? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 10:18 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
pail, ПЖ!!! чтобы я без Вас делала!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2008, 10:18 |
|
Загрузка из Excel
|
|||
---|---|---|---|
#18+
Самое время спросить у Nata75 фотку ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2008, 12:55 |
|
|
start [/forum/topic.php?fid=28&fpage=171&tid=1524899]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 123ms |
0 / 0 |