Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 21:50

Delphi и 1с

Автор elert, 16 окт 2012, 12:53

0 Пользователей и 1 гость просматривают эту тему.

elert

Доброго времени суток... Прошу вашей помощи !!!
Есть база 1с и delphi приложение
Вопрос в следующем.
я создал ком соединение. успешно приконектился к базе все ок.
у меня есть в конфе  общий модуль  CitiPay в этом модуле запрос. Из справочник.контрагенты ищет контрагента по заданному  № договора. и возвращает строкой такие реквизиты: ОКПО, Название СПД, и сумма тек. задолженности. помогите это привязать к делфям. све что нужно будет опишу, покажу прошу вашей помощи спасибо !!!!!

mixqn

Цитата: elert от 16 окт 2012, 12:53помогите это привязать к делфям
чем именно и как помочь? задача то в целом какая, я так и не понял?

elert

Функция Request(НомерДоговора) Экспорт
       
        //Сообщить(НайденныйСотр.Владелец);

    СчетаВзаиморасчетов = Новый Массив;
        СчетаВзаиморасчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыСОтечественнымиПокупателями);
        СчетаВзаиморасчетов.Добавить(ПланыСчетов.Хозрасчетный.РасчетыПоВыданнымАвансам);
        Запрос = новый Запрос ;
        запрос.Текст =
        "ВЫБРАТЬ
        |       СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток,
        |       ХозрасчетныйОстатки.Субконто2
        |ИЗ
        |       РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счет В (&СчетаВзаиморасчетов), , Субконто2.Номер = &НомерДоговора) КАК ХозрасчетныйОстатки
        |
        |СГРУППИРОВАТЬ ПО
        |       ХозрасчетныйОстатки.Субконто2" ;
        Запрос.УстановитьПараметр("ДатаОстатков"                , КонецДня(ТекущаяДата()));
        Запрос.УстановитьПараметр("СчетаВзаиморасчетов" , СчетаВзаиморасчетов);
        Запрос.УстановитьПараметр("НомерДоговора", НомерДоговора);
        Выборка = Запрос.Выполнить().Выбрать();             
       
        Если Выборка.Следующий() Тогда
                СтрокаВозврата = СтрЗаменить(Выборка.Субконто2.Владелец.КодПоЕДРПОУ,";","") + ";" + СтрЗаменить(Выборка.Субконто2.Владалец.Наименование,";","") + ";" + Формат(Выборка.СуммаОстаток,"ЧГ=0");
        Иначе
                СтрокаВозврата = "Error";
        КонецЕсли;
       
        Возврат СтрокаВозврата;
       
КонецФункции



Это общий модуль 1с



s1C8_ole:=ConnectTo1C8_COM(Trim(Edit_1C8_Name.Text),
                                   Trim(Edit_Init.Text));
   if YesLinkToVariant(s1C8_ole) then begin
    form1.Memo1.Lines.Add('Database connected...');
   end
   else begin
     ShowMessage('Ошибка');
   end;
form1.Button4.Enabled:=false;



Кусок кода из делфи (конект)



Как именно из делфей прописать вызов модуля и забрать данные которые выберет модуль

Iwan

Если я правильно понял Вы создаете Ком объект приложения 1с предприятие 8.2
Логично подумать что для управления базой и конфигурацией бд вам нужно из этого ком объекта установить соединение с ИБ...

вот например ссылка http://v8.1c.ru/overview/IntegrationCOM.htm с

Попробуйте еще поискать информацию в интернете...  на тему "1с предприятие как com объект" или что то в этом роде

Dethmontt


T:=s1C8_ole.<ИмяОбщегоМодуля>.<ИмяФункции>
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

elert

Цитата: Dethmontt от 16 окт 2012, 16:26

T:=s1C8_ole.<ИмяОбщегоМодуля>.<ИмяФункции>
хорошо выполнил гуд а как поймать то что выдал мне общий модуль ????
иле он мне передается в переменную T:

Dethmontt

Да в переменную T:


Ты только в начале Объяви переменную Т: с типом строка

MessageBox(T)
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

cska-fanat-kz

Цитата: Dethmontt от 16 окт 2012, 16:26

T:=s1C8_ole.<ИмяОбщегоМодуля>.<ИмяФункции>


Либо в модуле внешнего соединения делаете экспортную функцию и

T:=s1C8_ole.<ИмяФункции>
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск