for flooders
:: Главная :: Решения :: Статьи :: Сайт М. Дроздова :: Файловый архив :: Книга по VFP 9 :: Русский Help Online :: OFF-LINE Форум
   Л и с о в о д ы   в с е х   с т р а н,  о б ъ е д и н я й т е с ь !!!  

Список Форумов  :: Вопросы по 1С
   :: Помощь сайту :: 

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

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

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

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


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

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


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

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

Сообщений: 2656
Откуда: Новосибирск
Дата: 19.03.11 06:34:36ОтветитьЦитировать
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
[Болтун]

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

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


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




Исправлено: piva, 19.03.11 06:43
Ratings: 0 negative/0 positive

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

Сообщений: 2656
Откуда: Новосибирск
Дата: 19.03.11 06:44:20ОтветитьЦитировать
это для демонстрации мешанины - что написали - то и вставил!
Ratings: 0 negative/0 positive

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

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


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

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

Сообщений: 2656
Откуда: Новосибирск
Дата: 19.03.11 06:46:48ОтветитьЦитировать
вобщем вопрос ради которого я все спрашиваю это запись данных из фокса в данные 1с - в real-time
Ratings: 0 negative/0 positive

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

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


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

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


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

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

Сообщений: 2656
Откуда: Новосибирск
Дата: 19.03.11 06:58:50ОтветитьЦитировать
приведенный пример к теме записи не относится - просто хотелось иметь возможность синхронной записи данных в 1с без замусоривания кода фоксовской программы инородными словами а обойтись вызовом типа
com1.mymetod1(ggg,hhh,...)
Ratings: 0 negative/0 positive

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

Сообщений: 2656
Откуда: Новосибирск
Дата: 19.03.11 06:59:26ОтветитьЦитировать
видимо я слишком многого хочу...
Ratings: 0 negative/0 positive

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

Сообщений: 18533
Откуда: Курган
Дата: 19.03.11 07:01:59ОтветитьЦитировать
Я только что тебе это говорил
forum.foxclub.ru


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive

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

Сообщений: 2656
Откуда: Новосибирск
Дата: 19.03.11 07:07:26ОтветитьЦитировать
Ratings: 0 negative/0 positive

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

Сообщений: 18533
Откуда: Курган
Дата: 19.03.11 07:12:09ОтветитьЦитировать
Где-то так

[attachment 11734 1.png]


------------------
Часто бывает так, что есть над чем задуматься, а нечем.
Ratings: 0 negative/0 positive


Вложения:
[1.png (11.6KB)]  

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

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

Re: можно ли создать COM на 1с аналогично как это делается на фоксе
piva
[Болтун]

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


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




Исправлено: piva, 19.03.11 07:29
Ratings: 0 negative/0 positive



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

On-line: 18 and Guests: 18


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