Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Delphi+1C. Поиск документов


emelin ©   (2007-10-02 12:36:00) 

Помогите, пожалуйста!
Необходимо найти документы (Счет, ОказаниеУслуг, СчетФактура) конкретного контрагента и изменить значения некоторых реквизитов.
Как реализовать в делфях поиск документа 1С с фильтром по реквизиту?
возможно ли что-то типа:

doc:=Ole1C.CreateObject('Документ.ОказаниеУслуг');
doc.SelectByValue(Дата1, Дата2, 'Контрагент', 'НужныйКонтрагент');
while doc.GetDocument = 1 do
begin
// дальше делаю что то с doc
doc.Write;
doc.MakeActions;
end;

С 1С работаю ну ооочень недавно, помогите плиз!


emelin   (2007-10-02 16:47:00) [1]


> под Ole1c, вероятно, имеется ввиду как раз тот самый ранее
> созданный автором объект 1СV7.Application.
>

Именно.
Проблема не в создании объекта 1СV7.Application.
Вопрос в реализации поиска документа по реквизиту.
Делаю так:
spr=Ole1C.CreateObject('Справочник.Контрагенты'); //создаем справочник контрагентов
if spr.FindByCode(1)=0 then raise exception.create('Не найден контрагент'); // Ищем контрагента в справочнике, для дальнейшей сверки с документами.
doc:=Ole1C.CreateObject('Документ.ОказаниеУслуг');
doc.SelectDocuments(1);//выбираем все документы
while doc.GetDocument(1)<>0 do //Перебираем документы
begin
 if doc.GetAttrib('Контрагент').GetAttrib('Код')=spr.GetAttrib('Код') then
 //Проверяем тот контрагент или нет
  begin
    // Что то делаю
    // Но после этих действий (обновления существующих значений
    //реквизитов) обновление реально не происходит
    doс.Write;
    doc.MakeActions;
 end;
end;


Сергей М.   (2007-10-02 16:04:00) [2]


> oxffff ©   (02.10.07 15:37) [5]


под Ole1c, вероятно, имеется ввиду как раз тот самый ранее созданный автором объект 1СV7.Application.

А в сабже автор требует у этого объекта создать объект 'Документ.ОказаниеУслуг'


oxffff   (2007-10-02 15:38:00) [3]


> и

=или


oxffff   (2007-10-02 15:37:00) [4]


> ваши предложения ?)


Ole1C.CreateObject('V77.Application');

Далее ищи disp и dual интерфейс в google до "Документ.ОказаниеУслуг"


emelin   (2007-10-02 15:18:00) [5]


> > возможно ли что-то типа:
> >
> > doc:=Ole1C.CreateObject('Документ.ОказаниеУслуг');
>
>
> Невозможно.


ваши предложения ?)


Сергей М.   (2007-10-02 14:20:00) [6]


> НО зачем?


Что"зачем" ?)


Sairex   (2007-10-02 14:13:00) [7]

Интересно. НО зачем?
там есть файлик "чегото там.dd" внем написано где и какая база.
Но возиться с этим долго. проще сделать в 1С конфиге. и быстрей получиться и проще. Хотя можешь и 1с передавать в прогу. а так РТФМ


Сергей М.   (2007-10-02 13:55:00) [8]


> возможно ли что-то типа:
>
> doc:=Ole1C.CreateObject('Документ.ОказаниеУслуг');


Невозможно.


Наверх

Титульная страница Поиск, карта сайта Написать письмо