:: Вопросы по 1С
можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
Увидел, что Piva на форуме, хочу задать вопрос - см в теме, имеется ввиду не вызов 1с как сом а COM с написанными в нем методами , пока только спортивный интерес (Навеяно - для синхронной записи данных из 1с в таблицы фокса я сделал соответствующий сом на фоксе с метдами, реализующими все манипуляции с данными как это было на родном фоксе, возник вопрос а можно ли делать наоборот - из фокса вызвать методы(в которых прописана логика на 1с) сом 1с мс передачей необходимых параметров)
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Скорее всего НЕТ. Но вдруг кто-то знает больше, с удовольствием послушаю
В 1С даже свое класса создать нельзя


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Собственно, а что ты Саня хотел-то ?
Для того что бы не грузить "огромные" конфы - может просто сделать свою конфу с "нуля" с необходимым функционалом ?


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
piva
Скорее всего НЕТ. Но вдруг кто-то знает больше, с удовольствием послушаю В 1С даже свое класса создать нельзя
я как-то предполагал, что ответ будет таким т.е. только вариант - подобный этому (когда сложно понять а на чем это )
obj1 = Createobject("V81.COMConnector")
obj = obj1.Connect([Srvr="ERP";Ref="Enterprise02";Usr="ххххх";pwd="ххх"])
...
cfirma=obj.Справочники.Организации.НайтиПоКоду('000000001')
Файл=obj.NewObject('XBase')
Файл.Поля.Добавить("in","S",8,0)
...
Файл.Поля.Добавить("gv","n",4,0)
NameBase = "c:\robor\b_obort.dbf"
Файл.СоздатьФайл(NameBase)
oQue=obj.NewObject('Запрос')
TEXT TO текст46 NOSHOW
SELECT
МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство.НаименованиеПолное AS Наименование,
ВложенныйЗапрос.ИнвентарныйНомерРегл AS ИнвентарныйНомер,
МЕСЯЦ(ВложенныйЗапрос.ДатаВводаВЭксплуатациюРегл) AS МесяцВводаВЭксплуатацию,
ГОД(ВложенныйЗапрос.ДатаВводаВЭксплуатациюРегл) AS ГодВводаВЭксплуатацию,
ВложенныйЗапрос.ПервоначальнаяСтоимостьБУ AS ПервоначальнаяСтоимость,
ВложенныйЗапрос.ПервоначальнаяСтоимостьБУ - CASE
WHEN СтоимостьОСБухгалтерскийУчетОстатки.АмортизацияОстаток IS NULL
THEN 0
ELSE СтоимостьОСБухгалтерскийУчетОстатки.АмортизацияОстаток
END AS ОстаточнаяСтоимость,
ВложенныйЗапрос.СрокПолезногоИспользованияБУ AS СрокПолезногоИспользования,
МестонахождениеОСБухгалтерскийУчетСрезПоследних.МОЛ AS МОЛ,
МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство.АмортизационнаяГруппа AS АмортизационнаяГруппа
FROM
РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&Период, ) AS МестонахождениеОСБухгалтерскийУчетСрезПоследних
LEFT JOIN (SELECT
ВводНачальныхОстатковОСОС.ИнвентарныйНомерРегл AS ИнвентарныйНомерРегл,
ВводНачальныхОстатковОСОС.ДатаВводаВЭксплуатациюРегл AS ДатаВводаВЭксплуатациюРегл,
ВводНачальныхОстатковОСОС.СрокПолезногоИспользованияБУ AS СрокПолезногоИспользованияБУ,
ВводНачальныхОстатковОСОС.ПервоначальнаяСтоимостьБУ AS ПервоначальнаяСтоимостьБУ,
ВводНачальныхОстатковОСОС.ОсновноеСредство.Ссылка AS ОсновноеСредствоСсылка
FROM
Документ.ВводНачальныхОстатковОС.ОС AS ВводНачальныхОстатковОСОС
UNION ALL
SELECT
ПринятиеКУчетуОСОсновныеСредства.ИнвентарныйНомер,
ПринятиеКУчетуОСОсновныеСредства.Ссылка.Дата,
ПринятиеКУчетуОСОсновныеСредства.Ссылка.СрокПолезногоИспользованияБУ,
ПринятиеКУчетуОСОсновныеСредства.Ссылка.СтоимостьБУ,
ПринятиеКУчетуОСОсновныеСредства.ОсновноеСредство
FROM
Документ.ПринятиеКУчетуОС.ОсновныеСредства AS ПринятиеКУчетуОСОсновныеСредства) AS ВложенныйЗапрос
ON МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство.Ссылка = ВложенныйЗапрос.ОсновноеСредствоСсылка
LEFT JOIN РегистрНакопления.СтоимостьОСБухгалтерскийУчет.Остатки(&Период, ) AS СтоимостьОСБухгалтерскийУчетОстатки
ON МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство = СтоимостьОСБухгалтерскийУчетОстатки.ОсновноеСредство
AND МестонахождениеОСБухгалтерскийУчетСрезПоследних.Организация = СтоимостьОСБухгалтерскийУчетОстатки.Организация
WHERE
МестонахождениеОСБухгалтерскийУчетСрезПоследних.Организация = &Организация
ORDER BY
ИнвентарныйНомер
ENDTEXT
oQue.Текст=Текст46
oQue.УстановитьПараметр("Организация", cfirma)
oQue.УстановитьПараметр("Период", tekdt)
oRes = oQue.Выполнить().Выгрузить()
FOR EACH oRow IN oRes
Файл.Добавить()
Файл.in=oRow.ИнвентарныйНомер
Файл.no=oRow.Наименование
Файл.fio=oRow.МОЛ
Файл.st=oRow.ПервоначальнаяСтоимость
Файл.nap=oRow.СрокПолезногоИспользования
Файл.ost=oRow.ОстаточнаяСтоимость
Файл.kn=oRow.АмортизационнаяГруппа
Файл.mv=oRow.МесяцВводаВЭксплуатацию
Файл.gv=oRow.ГодВводаВЭксплуатацию
Файл.Записать()
ENDFOR
Файл.ЗакрытьФайл()
RELEASE obj1
RELEASE obj
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Вызов запроса из 1С по основным средствам и выгрузка его в DBF файл
Причем что меня сильно удивило, это приплетание документа к запросу из регистров сведений и накоплений. Как-то коряво написано вобщем

Можно выполнить запрос на 1С - а результат выборки - заливать в DBF уже в фоксе


------------------
Часто бывает так, что есть над чем задуматься, а нечем.




Исправлено 1 раз(а). Последнее : piva, 19.03.11 07:43
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
это для демонстрации мешанины - что написали - то и вставил!
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
А если тема про COM то создать общий модуль который будет виден из Коннектора. Написать процедуру на 1С полностью, передавая ей дату на когда формируется запрос, и имя файла куда выгружать - чем городить слонопотама


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
вобщем вопрос ради которого я все спрашиваю это запись данных из фокса в данные 1с - в real-time
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Ну всяко бывает, возможно именно так и надо, трудно сказать. Хотя конструкция жизнеспособная.


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Дык здесь записи в 1С я не вижу - запрос со сбросом в DBF'ку - больше ничего не вижу. ну хочешь писать - пиши - в принципе такая же база данных как и все


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
приведенный пример к теме записи не относится - просто хотелось иметь возможность синхронной записи данных в 1с без замусоривания кода фоксовской программы инородными словами а обойтись вызовом типа
com1.mymetod1(ggg,hhh,...)
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
видимо я слишком многого хочу...
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Я только что тебе это говорил
forum.foxclub.ru


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Где-то так

[attachment 11734 1.png]


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
piva
Где-то так
[attachment 11734 1.png]
нет, Вадим, хочется не экспорт файла а синхронно с insert, replace по каждой записи - я то им (1с) именно такой сервис дал!
Ratings: 0 negative/0 positive
Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
Автор

Сообщений: 18655
Откуда: Курган
Дата регистрации: 24.03.2004
Записи куда ? При записи документа или что ? Триггеров в 1С нету - но есть "Подписки на события" некий BindEvent - с ограниченным набором событий, в таком случае делается пописка, к примеру "ПередЗаписью" на конктетный тип документа или на все, потом смотришь твои ли - при этом будешь знать, записыватеся он или проводится - вот тут и рули куда надо, только если нагрузишь это событие вызовами всяких COM - то потом тебя бухи просто убьют - потому что дождаться записи документа будет очень долго


------------------
Часто бывает так, что есть над чем задуматься, а нечем.




Исправлено 1 раз(а). Последнее : piva, 19.03.11 08:29
Ratings: 0 negative/0 positive


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

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

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