:: Вопросы по 1С
Как поиметь в фоксе таблички из 1С (семёрка)?
SirEdward
Автор

Сообщений: 5
Дата регистрации: 03.06.2008
вопщемто весь вопрос ...
Ratings: 0 negative/0 positive
Re: Как поиметь в фоксе таблички из 1С (семёрка)?
SoccerStudio

Сообщений: 5055
Откуда: Подмосковье
Дата регистрации: 28.11.2006
А что понимается под словом "поиметь"?
Ratings: 0 negative/0 positive
Re: Как поиметь в фоксе таблички из 1С (семёрка)?
Myhailo

Сообщений: 750
Дата регистрации: 07.02.2006
use sc153679
и дальше все что угодно
Ratings: 0 negative/0 positive
Re: Как поиметь в фоксе таблички из 1С (семёрка)?
rvc44

Сообщений: 2211
Откуда: Тамбов
Дата регистрации: 06.12.2005
Помнится, как-то так мне удавалось ее поиметь...
LOCAL onesobj, result, employee, Code_1S, Name, Dolg, Podr, DR, Sex
onesobj = CreateObject('V77.Application')
WAIT WINDOW NOWAIT "Запуск 1C..."
* result = onesobj.Initialize(onesobj.RMTrade,'/DD:\PRBBasic /M /NАдминистратор /P1111111','NO_SPLASH_SHOW')
result = onesobj.Initialize(onesobj.RMTrade,'/DD:\PRBBasic','NO_SPLASH_SHOW')
If result
WAIT WINDOW NOWAIT "1C успешно инициализирован..."
EndIf
employee = onesobj.EvalExpr('CreateObject("Справочник.Сотрудники")')
employee2 = onesobj.EvalExpr('CreateObject("Справочник.Сотрудники")')
dolgnost = onesobj.EvalExpr('CreateObject("Справочник.Должности")')
podrazd = onesobj.EvalExpr('CreateObject("Справочник.Подразделения")')
employee.SelectGroup(1) && Устанавливаем режим выборки групп ВыборГруппы()
employee.SelectItems(1) && Открываем выборку элементов справочника ВыбратьЭлементы()
DO While employee.GetItem(1) > 0 && Выбираем все элементы ПолучитьЭлемент()
If employee.Level('') = 1 && Если мы выбрали группу первого уровня, то
pf = -1
Else && Иначе ищем элемент-родитель
employee2.FindItem(employee.GetAttrib('Родитель'))
* If table2.findkey([employee2.getattrib('Код')]) &&Если этот элемент мы уже импортировали
* pf = table2.FieldByName('ID').AsInteger &&, то получаем его код
* Else
pf = -1 && иначе помещаем элемент в группу первого уровня
* EndIf
EndIf
If employee.DeleteMark('') = 0 && Если элемент не удален, то
*!* begin
*!* table1.append &&добавляем новое поле к таблице
&&Заполняем поля таблицы значениями соответствующих атрибутов элемента справочника
m.Code_1S = employee.getAttrib('Код')
? m.Code_1S
m.Name = employee.getAttrib('Наименование') && Заполняем поле наименования
? m.Name
dolgnost.UseOwner(employee)
dolgnost.SelectItems()
dolgnost.GetItem()
m.Dolg = dolgnost.getAttrib('Наименование')
? m.Dolg
podrazd.UseOwner(employee)
podrazd.SelectItems()
podrazd.GetItem()
m.Podr = podrazd.getAttrib('Наименование')
? m.Podr
m.DR = employee.getAttrib('ДатаРождения')
? m.DR
m.Sex = employee.getAttrib('Пол') && Справочник ОКИН
? m.Sex
*!* table1.fieldbyname('PARENT_FOLDER').AsInteger = pf
*!* table1.fieldbyname('FULLNAME').AsString = employee.getAttrib('ПолнНаименование')
* m.FullName = employee.getAttrib('ПолнНаименование')
*!* &&Ищем соответствующую запись в справочнике "единицы измерения"
*!* edizm.finditem(employee.getattrib('ЕдиницаИзмерения'))
*!* &&Заполняем поле единицы измерения
*!* table1.fieldbyname('EDIZM').AsString = edizm.getattrib('Наименование')
*!* &&так мы получаем значения периодических реквизитов
*!* table1.fieldbyname('SEBESTOIM').AsFloat = employee.getAttrib('Себестоимость').GetValue(datetostr(now))
*!* table1.fieldbyname('PRICEOPT').AsFloat = employee.getAttrib('Цена')
*!* nds.finditem(employee.getAttrib('СтавкаНДС').GetValue(datetostr(now)))
*!* np.finditem(employee.getAttrib('СтавкаНП').GetValue(datetostr(now)))
*!* &&Заполняем поле ставки НДС
*!* table1.fieldbyname('STNDS').AsFloat = nds.getAttrib('Ставка')
*!* &&Заполняем поле ставки НП
*!* table1.fieldbyname('STNP').AsFloat = np.getAttrib('Ставка')
*!* table1.fieldbyname('ARTICUL').AsString = employee.getAttrib('Артикул')
If employee.IsGroup('') = 1 && Если мы выбрали группу товара, то
* table1.fieldbyname('IS_FOLDER').AsInteger = 1
* else
* table1.fieldbyname('IS_FOLDER').AsInteger = 0
* table1.post
* table2.refresh
EndIf
EndIf
EndDo
WAIT WINDOW NOWAIT "Импорт из/в 1C завершен..."
RELEASE onesobj
Ratings: 0 negative/0 positive
Re: Как поиметь в фоксе таблички из 1С (семёрка)?
southpole

Сообщений: 19
Дата регистрации: 17.01.2006
для dbf семерки
m.F1C = CREATEOBJECT("V77.Application")
?m.F1C.initialize(F1C.rmtrade,'/DD:\PRBBasic','NO_SPLASH_SHOW')
m.Fle=m.F1C.CreateObject('ФС')
m.C1Path=m.Fle.ТекКаталог()
use m.C1Path+[\1SCONST] in 0 alias 'C1Const'
use m.C1Path+[\1SJOURN]in 0 alias 'C1JOURN'
Ratings: 0 negative/0 positive
Re: Как поиметь в фоксе таблички из 1С (семёрка)?
Ytuzov

Сообщений: 944
Откуда: Нижний Новгород
Дата регистрации: 17.05.2005
А я как-то так ...
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 5 (Гостей: 5)

© 2000-2024 Fox Club 
Яндекс.Метрика