![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Связь Delphi - 1C [D7]
kyn66 © (2007-10-22 12:19:00)Уважаемые, подскажите, есть-ли какая особенность для связи Delphi с БД 1С ?
kyn66 (2007-10-22 13:50:00) [21]Это добавление, я так понимаю.Взять что -липо по такому-же пути, тока использовать getAttrib. А что такое sprFи sprE?
BoxTer (2007-10-22 13:39:00) [22]Кстати, 1С должен быть установлен на клиентской машине (или хотяб зарегин класс)
BoxTer (2007-10-22 13:35:00) [23](смена аттрибута)
try
spr:=onesobj.CreateObject('Справочник.Материалы');
if Spr.FindByCode(qryMaterial.FieldByName('Code').asString,0)<>1 then Begin
showmessage('Не смог найти!');
exit;
end;
sprD:=onesobj.CreateObject('Справочник.Материалы');
if sprD.FindByDescr('Удаленные',0)=1 then Begin
Spr.SetAttrib('Родитель',sprD.CurrentItem);
Spr.Write;
end else showmessage('Не удалено!');
except
MessageDlg('Произошла ошибка при переносе элемента справочника!',mtError,[mbOk],0);
exit;
end;
BoxTer (2007-10-22 13:31:00) [24]
var onesobj: Olevariant;
spr: Olevariant;
begin
onesobj:=createoleobject('V77S.Application'); //Создаем OLE-объект
onesobj.initialize(onesobj.rmtrade,'/D\\Путь_К_Базе\ /NИмяПользователя /PЕгоПароль','');
.....
spr:=main.onesobj.CreateObject('Справочник.Материалы');
try //вставка нового значения
Spr.New;
Spr.SetAttrib('Наименование',EditName.Text);
Spr.SetAttrib('НомНомер',EditNomNomer.Text);
Spr.SetAttrib('ГОСТ',EditTYGost.Text);
Spr.SetAttrib('Размер',EditRazmer.Text);
Spr.SetAttrib('Сорт',EditSort.Text);
Spr.SetAttrib('Марка',EditMarka.Text);
Spr.SetAttrib('Фирма',sprF.CurrentItem);
Spr.SetAttrib('ЕдиницаИзмерения',sprE.CurrentItem);
Spr.Write;
except
MessageDlg('Произошла ошибка при вставке нового элемента',mtError,[mbOk],0);
exit;
end;
// или редактирование существующего
try
if Spr.FindByCode(CodeZ,0)<>1 then Begin
MessageDlg('Запись не найдена. Сохранение не произошло!',mtWarning,[mbOk],0);
exit;
end;
Spr.SetAttrib('Наименование',EditName.Text);
Spr.SetAttrib('НомНомер',EditNomNomer.Text);
Spr.SetAttrib('ГОСТ',EditTYGost.Text);
Spr.SetAttrib('Размер',EditRazmer.Text);
Spr.SetAttrib('Сорт',EditSort.Text);
Spr.SetAttrib('Марка',EditMarka.Text);
Spr.SetAttrib('Фирма',sprF.CurrentItem);
Spr.SetAttrib('ЕдиницаИзмерения',sprE.CurrentItem);
Spr.Write;
except
MessageDlg('Произошла ошибка при обновлении элемента',mtError,[mbOk],0);
exit;
end;
Reindeer Moss Eater (2007-10-22 13:31:00) [25]Примеры в папке Demos\Db у Delphi
kyn66 (2007-10-22 13:29:00) [26]
> Да. При понимании структуры, наличии прав и соответствующих
> драйверов.
Вот это я и хотел услышать. А теперь можно ближе к теме и по пожробнее? Каким образом это делается? Могет где примеры какие есть?
NNH (2007-10-22 13:29:00) [27]В книге TRANSACT-SQL (примерно так она называется) есть отдельная глава по связям с 1С. Я не читал эту главу, но она там есть :-) Может пригодится тебе
Desdechado (2007-10-22 13:27:00) [28]Да. При понимании структуры, наличии прав и соответствующих драйверов.
Сергей М. (2007-10-22 13:26:00) [29]
> Могу-ли я брать данные из таблиц или(БД) 1С ?
>
Можешь, ибо разрешено все что не запрещено)
Reindeer Moss Eater (2007-10-22 13:24:00) [30]А что Конституция по этому поводу говорит?
kyn66 (2007-10-22 13:18:00) [31]Спрошу по другому... Могу-ли я брать данные из таблиц или(БД) 1С ?
Desdechado (2007-10-22 13:15:00) [32]Особенность в том, что никакой связи не существует.
Reindeer Moss Eater (2007-10-22 12:50:00) [33]а есть такая БД?