И снова Загрузка операций в 1С | |
---|---|
Равиль Сообщений: 6604 Откуда: Уфа Дата регистрации: 01.08.2003 |
Всем привет - в 1С есть штатный механизм загрузки из xml - мне показали пример для переноса из Торговли в Бухгалтерию (DTr9_Ac4.xml) - смотрю на него и грустно - немаленький файл ))
Из www.its1c.ru понял, что используются некие правила обмена описанные уже в других xml - RTr9_Ac4 и RAc4_Tr9 - их еще не видел )) Вопрос - насколько перспективна попытка разобраться в этой кухне и из своего приложения на фоксе лепить файл обмена - никто не пробовал ? ------------------ Тяжело согнать курсором муху с монитора ... |
Re: И снова Загрузка операций в 1С | |
---|---|
PaulWist Сообщений: 14720 Дата регистрации: 01.04.2004 |
Равиль привет.
Для УРБД делал такой финт, в конфигурации ОбщиеМодули пишешь свой модуль для выгрузки-загрузки. Из фокса обращение:
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: И снова Загрузка операций в 1С | |
---|---|
Равиль Сообщений: 6604 Откуда: Уфа Дата регистрации: 01.08.2003 |
Паш, спасибо - это я понимаю - ты выгружаешь из одной 1С в другую - у меня же задача из своей базы крутящейся на фоксе создать такой файл, чтоб в 1С его загружали без меня ))
------------------ Тяжело согнать курсором муху с монитора ... |
Re: И снова Загрузка операций в 1С | |
---|---|
Taran Сообщений: 13774 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Равиль. в ветке про фокс глянь мой пост.
forum.foxclub.ru Исправлено 1 раз(а). Последнее : Taran, 23.11.09 23:20 |
Re: И снова Загрузка операций в 1С | |
---|---|
Равиль Сообщений: 6604 Откуда: Уфа Дата регистрации: 01.08.2003 |
Олег, спасибо
Правда в примере только отрывок - похоже до EndWith там еще много кода, да еще и ВО_Строки надо заполнять ))) Тоже игрался в свое время с 1С через com-объект (как и многие из нас) - такие решения симпатичны, но как показывает практика - часто требуют сопровождения на месте в случае нестандартных конфигураций у разных клиентов. К тому же неприменимы в тех случаях, когда фокс и 1С на разных компьютерах. Хочется сделать нечто универсальное - например файл, который могли бы отослать бухгалтеру по майлу - поэтому сижу разбираюсь со структурой вышеупомянутых xml, чтобы лепить их самому )) ------------------ Тяжело согнать курсором муху с монитора ... |
Re: И снова Загрузка операций в 1С | |
---|---|
Taran Сообщений: 13774 Откуда: Красноярск Дата регистрации: 16.01.2008 |
2Равиль.
Да, действительно кода не мало. Но: 1.XML универсально, что не всегда лучше. 2.XML также требует донастройки при изменении конфы. 3.теоретически и практически ясно что на парсинг XML тратится много системных ресурсов. 4.Однозначно файл XML больше по размеру чем DBF при том же объеме данных. Цитата:На разных машинах? Ну так и делай на машине с фоксбазой - COM для формирования промежуточных файлов. На машине с 1С-делай COM который коннектится к 1C-COM. И на любой рабочей станции EXEшник для управления. Данные между машинами любыми путями, по расшаренной папке например или по email. Насчет доработок непосредственно обработки документов. четвертый файл, который бадет задействован - непосредственно и есть обработчик всего. Он лежит отдельным пргшником (или .TXT) В моем примере примерно 85% повторяет синтаксис 1С, остальное доделать не вопрос через #DEFINE. Кусок из DLL для 1С машины
намудрено все было до безобразия, но никакими другими путями не добиться желаемой скорости. 1С запущенная визуально конкретно занимает больше ресурсов нежели 1C-Connector. Обработка сообщений видимо и лишние модули в памяти. Как то уже писал, повторюсь: создание и проводка документа при выгрузке из фокса через connector занимает 3-7 секунд. Перепроводка силами 1С 15-20. А если выгрузка раз в месяц, то это выливается в несколько часов разницы. Плюс на время выгрузки всех надо бы выгонять из 1С, поскольку: если на одной машине идет конкретная обработка и часто (и надолго) блокирует документы, то простые операторы получат сообщение об отказе. Ну, а на фоксе ж элементарно вставишь тайм-аут через каждые 5 документов =20сек. (есть гдето в 1С параметр - время ожидания блокировки, часто видел установлено 20 сек. Ну и собственно вопрос с выгоном всех из базы. Или на 30минут или на 10 часов? !+ запуск по расписанию интегрированному в интерфейсный EXEшник. P.S.---- не исключаю что вся проделанная работа это просто спортивный интерес и нежелание сваливать с фокса, а также игрушки в написание 1С-подобного синтаксиса и межмашинной обработки. и еще один плюс: загружать серьезную обработку надо на машине с базой 1С (не SQL версия), а при расположении твоегоо COM а нет необходимости скакать по машинам или рулить терминал (лицензия и пр.). Исправлено 2 раз(а). Последнее : Taran, 24.11.09 09:58 |
Re: И снова Загрузка операций в 1С | |
---|---|
Равиль Сообщений: 6604 Откуда: Уфа Дата регистрации: 01.08.2003 |
Видно что в 1с Олег как рыба вводе - это хорошо - будем обращаться если что
------------------ Тяжело согнать курсором муху с монитора ... |
Re: И снова Загрузка операций в 1С | |
---|---|
Taran Сообщений: 13774 Откуда: Красноярск Дата регистрации: 16.01.2008 |
Да куда ж от нее денешься. FoxPro "помирает" уж лет 20.
Не то, чтобы я сильно знаю 1С, просто нравится делать интеграцию с внешними программами, было дело и с БЭСТом интегрировался. Ну и конечно амбиции: Быстрее и надежнее. Обращайся. |
Re: И снова Загрузка операций в 1С | |
---|---|
oleg_km Сообщений: 487 Откуда: СПб Дата регистрации: 02.12.2002 |
Только мужики, давайте все-таки казывать версию 1С: 7.7 или 8?
|
Re: И снова Загрузка операций в 1С | |
---|---|
Юрий Чувашов Сообщений: 278 Откуда: г.Серпухов Дата регистрации: 17.05.2005 |
Я вот тоже сейчас подумываю насчет переноса.
Только просматривая форум к сожалению не нашел варианта для SQL-версии 1с, и запускается 1с через терминал, а тут все как-то кулуарно. или может при подключении к 1с не важно где находится 1с и SQL? Сейчас работает следующая схема : В фоксе делается таблица для 1с, а в 1с(7.7 SQL) эта таблица заливается. А Если в фоксе загрузка в 1с идет быстрей то наверно имеет смысл заливать эти данные в фоксе. и конечно при загрузке идет проверка, в данном случае загружаются накладные на продукцию, Если есть накладная, то проверяется значение каждой позиции накладной, при несовпадении данных делается исправление и накладная перепроводится, если накладной нет, то она добавляется и проводится. |
Re: И снова Загрузка операций в 1С | |
---|---|
Taran Сообщений: 13774 Откуда: Красноярск Дата регистрации: 16.01.2008 |
2 Юрий Чувашов
Насколько я понимаю, то: если заполнение базы идет штатными средствами 1С (OLE, COM etc.) то разница в работе SQL и file-version только в строке подключения к 1С. А далее все единообразно. Не знаю, к сожалению или нет, но я не внедрял 1С SQL и особо не тестил. Обратную операцию твоей (2Юрий) задаче делал - перенос из 1С-SQL на фокс. Падала эска как это не парадоксально, даже по терминалом явно проигрывала в скорости. А VFP & native DBF держались. Насчет скорости мысли такие: 1ц теряет в скорости из-за: 1.визуальной отработки во время переноса. 2.множества проверок на валидность кода и данных в стандартных процедурах переноса данных. В своей-же процедуре ТЫ делаешь и отвечаешь "за базар". Тестишь все на этапе разработки и отдаешь "пушку". ИМХО. P.S.Старею... забыл. К 1С-SQL тоже цеплялся из фокса и заполнял таблицы и поля физически, а не через функции 1С-COM. Подзабыл чутка. Исправлено 1 раз(а). Последнее : Taran, 04.12.09 20:42 |
Re: И снова Загрузка операций в 1С | |
---|---|
Taran Сообщений: 13774 Откуда: Красноярск Дата регистрации: 16.01.2008 |
2Юрий Чувашов
из архива кусок. За работоспособность не отвечаю. *BEG:˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜˜#1297 *#: ConnectExtApp(cAppType, cAppVer) *D: Выполняет подключение к внешнему коннектору (COM), например: "V81.COMConnector" *>: tcAppType Тип внешней базы данных, например "FILE" *>: tcAppVer Версия внешней базы данных, например "8.1" PROCEDURE ConnectExtApp(tcAppType as String, tcAppVer as String) as Logical LOCAL loErr AS Exception LOCAL loApp WITH this tcAppType = EVL(tcAppType, 'FILE') tcAppVer = EVL(tcAppVer, '7.7') tcAppType = ALLTRIM(tcAppType) tcAppVer = ALLTRIM(tcAppVer) .ExtAppType = tcAppType .ExtAppVer = tcAppVer DO CASE CASE tcAppType = "FILE" .SendMessage("INF", [Создаю объект "COMConnector"]) TRY DO CASE CASE tcAppVer = "7.7" * loApp = CREATEOBJECT('V1CEnterprise.Application') * loApp = CREATEOBJECT('V77M.Application') && сетевая loApp = CREATEOBJECT('V77.Application') && версия зависимый ключ IF VARTYPE(loApp) # "O" loApp = CREATEOBJECT('V77L.Application') && локальная IF VARTYPE(loApp) # "O" loApp = CREATEOBJECT('V77M.Application') && сетевая IF VARTYPE(loApp) # "O" loApp = CREATEOBJECT('V77S.Application') && SQL IF VARTYPE(loApp) # "O" loApp = CREATEOBJECT('V1CEnterprise.Application') && независимый ключ ENDIF ENDIF ENDIF ENDIF .App = loApp ENDCASE .SendMessage("END") CATCH TO loErr .SendMessage("ERR", "Ошибка создания внешнего коннектора",,loErr) ENDTRY IF VARTYPE(loErr) = 'O' OR ISNULL(.App) RETURN .F. ENDIF OTHERWISE .SendMessage("ERR", "Неизвестный тип и версия внешнего приложения") RETURN .F. ENDCASE ENDWITH ENDPROC *END:¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤ |
Re: И снова Загрузка операций в 1С | |
---|---|
alw39 Автор Сообщений: 17 Дата регистрации: 04.12.2009 |
Загружал доки из фокса простой обработкой 1c используя XBase,-содал необходимый документ, из дбф получил реквизиты нашел их в объектах 1с,заполнил реквизиты документа, провел и все дела.
|
© 2000-2024 Fox Club  |