powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delphi, FireBird создать таблицу в памяти клиента
25 сообщений из 368, страница 12 из 15
Delphi, FireBird создать таблицу в памяти клиента
    #39281149
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch,

а нафига оно надо собирать ещё какие промежуточные форматы?

Ты ещё XSLT ему предложи чтобы из XML в любой формат преобразовывать
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281152
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneПолюбасу - берется файлик и вычитывается от первого до последнего байта, с анализом "а ты кто?"

...а если он не только парсится ? или даже не столько парсится, сколько выполняются другие операции поверх парсинга ? типа валидации и построения дерева объектов, без чего можно бы и обойтись.

цитату я приводил, скорость парсера в 2-3 раза выше скорости чтения винчестера ( в идеальном дял посленего случае ) - так что ограничение все равно не в парсере будет
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281157
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quote Симонов Денис]а нафига оно надо собирать ещё какие промежуточные форматы?

1. чтобы не дублировать код импорта в БД ни по программам, ни по компьютерам
2. чтобы можно было вести истрию обновлений
3. чтобы можно было раследовать ошибки, с помощью п.2

Симонов ДенисТы ещё XSLT ему предложи чтобы из XML в любой формат преобразовывать

у него задача противоположная, так что ты cильно не в кассу с XSLT
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281161
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arioch - что дали то и жуй

- Ыщо один...:-)))))

PS. Для разрядки.
Как-то давным давно пристала фирма "хотим экспорт-импорт с вами!"
Ну лана, раз хОчите и денег даете, так пуркуа бы не па?...
Давайте через пару дней встретимся и согласуем тех. моменты.

В назначенный срок приехал к ним. Ихний сам-глав и главный кодер.
Дают мне листок с 2-мя строчками "ТЗ-импорт" и в 3 строки "ТЗ-экспорт".
- Хм...
Отдал им свою бамашку: 15 страниц "ТЗ-импорт" и 25 стр с "ТЗ-экспорт".

Внимание вапрос:
- Кто курил бамбук, а кто переплюнул Сизифа?
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281169
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochцитату я приводил, скорость парсера в 2-3 раза выше скорости чтения винчестера ( в идеальном дял посленего случае ) - так что ограничение все равно не в парсере будет
Отсыл к скорости винта - прыжок в сторону.
- Щетай это константой и выноси за скобки, как в математике.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281171
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

с хрена ли выносить за скобки, если в нрмальном парсере к окончанию загрузки файла 90% его уже будет разобрано ?

ну а если и выносить, то тогда время парсинга считай не в секундах, а в процентах от ВСЕЙ задачи в целом
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281172
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne - Кто курил бамбук, а кто переплюнул Сизифа?

а смотря чей ТЗ выбрали в итоге

я вот не думаю, что 1С согласитс на ТЗ написанный автором
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281173
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я это к тому, штоп прекратить кидание на вентилятор терминов.
А перевернуть задачу:
- Пусть 1-Цешник выгружает дельты, в удобном для меня формате, в удобное место.

- Не, ну ачёткова? (одно слово)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281182
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochа смотря чей ТЗ выбрали в итоге

я вот не думаю, что 1С согласитс на ТЗ написанный автором

Пытаешься опровергнуть постулат:
- Кому больше надо, тот и пашет?
:-)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281187
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ariochс хрена ли выносить за скобки, если в нрмальном парсере к окончанию загрузки файла 90% его уже будет разобрано ?

- Сие не есть факт, мистер Дюк. (кина про Неуловимых)
Это - оптимистичный прогноз. ;-)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281190
Arioch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIne,

ну если сравнивать пессимистичные парсеры - то я со всем согласный, кривые парсеры XML на порядки хуже хороших парсеров JSON
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281194
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Di_LIneВопрос на засыпку то Олл:
- Чем отличается кодер и прогера?
Тем, что на "ой, нада сделать ко вчера!" прогер с начала думает "как сделать, штоп ни чего не делать?", а кодер - "Да я ща, за 6 сек наваяю!"

:-))


Симонов ДенисНо я думаю что ТС в любом случае придётся работать с тем что ему дадут 1Cники
Это - подход кодера.
:-)
Ща обидно было. И да у меня варианта нет. Или лазить самому по базам. Или 1сники формируют файл как могут. А я уже потом к этому формату сведу и текстовые файлы и выгрузки из других БД.

Всем ответить не могу. Да даже прочитать всех не могу. Вот:

Есть у них там выгрузка (написал один товарищ) и выложил всем. которая устраивает 1Сника. Там ему напильником делать особо нечего, только подсунуть мой запрос для выгрузки МНЕ НУЖНЫХ данных.

Работает эта шляпа так: Бухгалтер поработал, внес изменения в платежки (импортировал из банка или т.п.) если ЗАКОНЧИЛ на сейчас глобальные внесения. Жмет кнопку. Формируется файл с изменениями в платПоручениях.
я его забираю. грохаю.

Если бух забыл жмякнуть вовремя кнопку. То такой файл будет сформирован при закрытии 1С. (если бухгалтер забыл жмякнуть кнопку и держит 1с сутками открытую а там критические и срочные данные - это проблема бухгалтера, с начальством РЕШЕНО, карательные меры придуманы и будут доведены до пользователей)

Если я файл не грохнул(не забрал) еще, а изменения уже есть. Файл будет дописан... и так до посинения пока 1С при старте не увидит что файла НЕТ. С этого момента она (при изменениях и только при них) сформирует новый файл только с актуальными с последней версии файла(уже полученного мной) данными.


2. Вижу так: Файлы с удаленок летят в каталоги на сервере (ну не может 1Сник переименовать файлы)))) ему проще по каталогам их разложить).
Сижу (сервисом) на серваке: Курю бамбук и отъедаю ресурсы... бах. В каталоге XXX появляется файл "тоЧеНадо.xml". Стартую утилиту импорта с параметрами "d:\\xxx\тоЧеНадо.xml" и потащил его в GTT. Удачно унес? Ок. Переношу исходный файл в архив. Грохаю файл(сигнал 1с = я тебя понял, этот импорт получен. Следующий импорт с этого места)


Вот немного не ясно как поведет себя ГТТ когда 2 таких таблиц прилетит одномоментно... но это просто надо опытным путем на игрушке смотреть
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281208
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogЩа обидно было.
А что бы было время на "пообижаться", сядь и не спеша продумай формат этих файликов.
Что тебе(!) потом было проще с ними разбираться и вносить изменения/дополнения при расширении данных/объемов и тп.
В опчем - речь про ТЗ одноЦешнику.

А не кидаться терминами, типа "в XML-формате".
Бо каждый это понимает по своему и доказать обратное ты не сможешь, если нету ТЗ.
А он, цешник, за тебя думать не будет и тем более лишнее напрягаться, кое и нафех ему не надо.
А ТЗ на экспорт/импорт утверди у начальства.
Штоп прикрыть свою точку G, если чё. ;-)
А это "чё", с 90% вероятностью наступит.

И потом бум вместе "обижаться" граммов эдак три-по-стописят. :-)
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281209
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arioch...я вот не думаю, что 1С согласитс на ТЗ написанный автором

- а вот так можешь?
1C - нет.
- а в текстовый?
1c - возможно. Но не факт.
- а как можешь?
1с - ну XML родной формат.
- ну х*й с тобой пусть xml. а давать только измененную инфу с последнего импорта можешь?
1c - нет. Ну... быть может, если ты мне как в интернет магазинах будешь ответный файл давать че у тебя есть и сколько, а чего у тебя нет...
...
- Я вот тут порылся в вашей ё*аной ОдынЭс. Смотри если два плана выгрузки завести и следить ... вот так, так и так... вот ссылка на форум 1с там все что надо чувак сделал для стороннего интернет магазина. Обмен файлами. За актуальностью следит сам. Только вместо запроса товара надо чтоб выгружались платежки ВСЁ.
1с - эээ... ну я попробую. На одной базе... но не обещаю. И будет как у него xml.
- Дай ченить я уж разгребу формат. Все лучше чем к базам коннектиться...
1с - попробую к пятнице
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281212
Го-стхи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AriochГо-стхипропущено...

Сильно сомневаюсь, что план тут влияет, тем более по справочникам - думаю, время его построения находится за разрядной сеткой.

А если там сортировка без индексов? пока ВСЕ строки не выберешь - не отсортируешь...
Вообще речь шла про подготовку планов, а не выполнение запроса вместе с фетчем.
А про разрядную сетку - это значит, что величина настолько мала, что не помещается в отведенный вещественный тип (стремится к нулю, проще говоря :) )

По поводу PickList: если я правильно понимаю, сейчас весь справочник фетчится, перегоняется в stringlist и присваивается соотв свойству столбца грида? А почему бы не сделать Lookup, который будет связан с датасетом, фетча записи при необходимости? Да и фильтрацию можно запросами реализовать.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281215
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogа давать только измененную инфу с последнего импорта можешь?
1c - нет.
Врёт. Ещё в 8.0 была штатная процедура экспорта только изменённых документов, используемая
для репликации.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281226
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovdgdogа давать только измененную инфу с последнего импорта можешь?
1c - нет.
Врёт. Ещё в 8.0 была штатная процедура экспорта только изменённых документов, используемая
для репликации.

Знаю, что лень ему (или некогда). У него отпуск с первого числа. Ребенок маленький. Баз по городу (на содержании) штук 20-30. Обновления постоянно летят. Везде разные версии... там допили, тут переработай тут напиши доп.обработку. А тут я такой "срочно кнопку. срочно импорт." Как бы понятно все. Про механизм "репликации" сам посмотрю и у него спрошу.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281231
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogСтартую утилиту импорта с параметрами "d:\\xxx\тоЧеНадо.xml" и потащил его в GTT. Удачно унес? Ок. Переношу исходный файл в архив. Грохаю файл

...............

Вот немного не ясно как поведет себя ГТТ когда 2 таких таблиц прилетит одномоментно... но это просто надо опытным путем на игрушке смотреть

Что-то у тебя с логикой работы GTT не складывается

Если "утилита импорта" будет только переносить в промежуточную табличку то они (временные таблицы) тебе не помогут ибо по завершении транзакции(коннекта) все данные в них грохнутся.

Если же "утилита" будет полностью обрабатывать все данные, т.е. пересла их в GTT и обработала (раскидала как надо и куда надо)
то тогда GTT это то что надо. Вот только при этом "Грохать файл" надо после обработки всех данных, а не после их переноса в GTT.

ну и по поводу "как поведет себя ГТТ когда 2 таких таблиц прилетит одномоментно" - хорошо поведет себя
тобишь об этом беспокоиться не надо "никто/ничего и не узнает"
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281238
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdog- а вот так можешь?
1C - нет.
- а в текстовый?
1c - возможно. Но не факт.
- а как можешь?
1с - ну XML родной формат.
- ну х*й с тобой пусть xml. а давать только измененную инфу с последнего импорта можешь?
1c - нет. Ну... быть может, если ты мне как в интернет магазинах будешь ответный файл давать че у тебя есть и сколько, а чего у тебя нет...
... (скип)...
1с - попробую к пятнице

Как там у Классика?
- Вдарил раз. Специалист! Видно по нему....
:-)))
(Что, в опщем-то, и предполагалось по дефоулту.)

Раз ни как не магёт, пусть дельты пихает в отдельную таблю.
А если он и этого...
автор Не смогешь -- кого винить? --
Я должон тебя казнить.
Государственное дело --
Ты улавливаешь нить?..
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281244
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m7m...Если же "утилита" будет полностью обрабатывать все данные, т.е. пересла их в GTT и обработала (раскидала как надо и куда надо)
то тогда GTT это то что надо. Вот только при этом "Грохать файл" надо после обработки всех данных, а не после их переноса в GTT.

ну и по поводу "как поведет себя ГТТ когда 2 таких таблиц прилетит одномоментно" - хорошо поведет себя
тобишь об этом беспокоиться не надо "никто/ничего и не узнает"

Понял спасибо. Утилита ГТТ (планирую) по подключению. Т.е. Утилита подняла исходный файл, вживила данные в ГТТ. Запустила ХП. Доработала остатки напильником. Отдала команду перенести все что осталось из ТТГ в по табличкам. Проверила. Отпустила базу. Закрылась (эта версия ТТГ схлопнулась)... вроде так.

В какой момент грохать файл? Это же сигнал для 1с, что импорт получен. Вот я забрал данные и обрабатываю, а ну как 1С в имеющийся ещё файл чего дописать решит. Дописала, я не вкурсе. Обработал данные и грохаю файл. 1С ведь думает, что она мне и последние строчки передала... да...

Вижу: или дату изменения файла проверять перед импортом и в момент удаления файла (если не сошлись, то импорт переделать)
или тащить файл в темповую папку и оттуда имортировать уже. А 1с пусть дальше че хочет то и создает. (контроль папок сделать по таймеру, ну пусть раз в 5-10 минут. (чтоб если че успеть отработать прошлую версию точно такого же файла)

Вот это огород)))
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281246
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogСтартую утилиту импорта с параметрами "d:\\xxx\тоЧеНадо.xml" и потащил его в GTT. Удачно унес? Ок. Переношу исходный файл в архив.

Нет не так. Ты так и не понял что такое GTT и для чего оно предлагалось.

Правильно как-то так:
1. Стартую утилиту импорта с параметрами "d:\\xxx\тоЧеНадо.xml"
2. Start Trasaction
3. потащил его в GTT.
4. Следом запускаем ХП, которая проверяет дубликаты и раскладывает данные по полочкам.
5. Всё OK? Тогда COMMIT. Переношу исходный файл в архив.
6. Произошла ошибка? Тогда ROLLBACK, сообщаем об этом юзеру или тупо пишем в лог, а файл остаётся на своём месте или переносится в папку для корректировки.

В данном случае GTT это просто временный буфер для быстрой переливки данных как есть на сторону сервера, а уж в ХП он пусть разбирается что делать.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281251
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dgdogВ какой момент грохать файл?
Перед тем, как начнёшь читать из него данные.

То есть переименовываешь его, пробуешь открыть на эксклюзивный доступ и только если
получилось - начинаешь читать данные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281265
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денис...
2. Start Trasaction...
...а уж в ХП он пусть разбирается что делать.

Болеменее понятно. Но ведь Start Trasaction ты явно указал - это если ГТТ по транзакии. Вот (ссу я если честно) на транзакцию вешать ГТТ... если намудрю с транзакциями. А я намудрю))) то не понятно чем дело кончится. Думаю ГТТ по сессии запускать. Стартанула утилитка. Подключилась к базе - вот рабочая ГТТ... и как не намудри с транзакциями, будет медленней, сильней загрузка ЦП, но хоть ГТТ будет жива. Закрылась утилитка. Потеряла коннект с базой. ГТТ списали в утиль. Вроде так (хотя НЕ ВНИКАЛ Я еще в ГТТ - это только между дел мысли)

Про ХП: всю логику проверок я в ХП не осилю. Тупо знаний не хватит внутренних возможностей и грамматики ХП. Мне лично, проще часть функций оставить за утилиткой импорта. пусть приложение соображает и кидает SQL запросы. Ну конечный контроль остается за приложением, прежде чем отпустить ГТТ
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281270
dgdog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovdgdogВ какой момент грохать файл?
Перед тем, как начнёшь читать из него данные.

То есть переименовываешь его, пробуешь открыть на эксклюзивный доступ и только если
получилось - начинаешь читать данные.


Разумно. Очень. И проверяем, что 1С отцепилась уже от файла. И файл из под носа 1С уже выдернут... годится.
...
Рейтинг: 0 / 0
Delphi, FireBird создать таблицу в памяти клиента
    #39281272
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зелёный свисток в воздух:
-А потом не получится, что еще дельту из дельто-файлов вылущивать надо?

Чёй-та не нравится мне енто ни фига...
Костыль к гипсу, который сполз с головы.
...
Рейтинг: 0 / 0
25 сообщений из 368, страница 12 из 15
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Delphi, FireBird создать таблицу в памяти клиента
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]