Цитата:
Сообщение от
mazzy
я просто призываю обратить внимание, что я постарался сформулировать минимально необходимые условия в вопросе. я очень рад, что народ в этой ветке пытается "пошевелить" вопрос и переформулировать требования. но пока не вижу продуктивных попыток.
Я тогда не понял тебе подходит ответ, который "правильный" для хотя бы одной ситуации, подпадающей под твой вопрос? Изначально был пример импорта из excel, так как мы знаем, что в ax2012 у нас есть OOXML, то можно импорт из excel выполнить на сервере а "действия, которые необходимо сделать на клиенте" - это прочитать этот файл и загрузить на сервер.
Тут возникает вопрос, почему именно, надо делать на пакетном сервере. Если, чтобы сделать расписание (в полночь, когда никто не работает, должны ездить фуры и загружать наш пакетный сервер) то логично его настроить один раз и не давать менять простым пользователям. Соответственно это должно быть одно пакетное задание с одним расписанием которое будет просыпаться, читать из очереди файлы и импортировать (для распараллеливания использовать таски). А простые пользователи пользуются отдельным интерфейсом, чтобы положить файлы в очередь и утром дождаться уведомления. Этот интерфейс должен быть отдельным ранбейзом или формой (или просто сетевой папкой). Как-то так. У другого сценария - другие решения.
Цитата:
причины "почему действия должны быть выполнены на клиенте" не важны, на мой взгляд.
А на мой взгляд важны. Теоретически, например, если у нас есть машина с особенным платным кодеком, то может быть желательно делать по другому - запустить именно на ней пакетный сервер который будет для всех клиентов перекодировать что-то и результат передавать, например, на пакетный сервер на АОСе.
Цитата:
Но если хочется - рассмотрите, конечно. расскажите какие требования и как могут изменить мою формулировку.
Вот про это я писал. Надо либо выдумывать все сценарии из головы, либо угадать тот сценарий, который ты неявно имеешь ввиду либо делиться опытом по тем сценариями с которыми мы имели дело.
Цитата:
канешно!
а также пустой и несуществующий файл.
Импорт несуществующего файла, это, наверное, что-то пелевинское, а, вот, пустые файлы иногда играют роль флагов. Всякие фидошные тоссеры их создавали и удаляли, насколько я помню.
Цитата:
и снова и снова: ни в коем случае не хочу запрещать обсуждение вопроса диалога с разными категориями пользователей. это очень интересный вопрос. но его лучше обсуждать в отдельной ветке.
У тебя к первому моему решению сразу же появилась претензия именно к UX.
Цитата:
зачем? ты о real time системах? на java?
Имелось ввиду время на разработку.
Цитата:
и? как это поможет обсуждению среди профессионалов на публичном форуме?!
извини, когда я создавал эту ветку, то не предполагал как-то помочь программистам, сидящим у вендора.
Я просто привел два экстремума по клиентской базе чтобы обозначить диапазон.
Цитата:
Даже если сделать такое предположение, то ответ на исходный вопрос то какой?
Если единственный пользователь сисадмин Вася, решение надо срочно, я бы вставил выкачку файла в getFromDialog: сисадмин Вася единственный в мире потребитель нашего решения и мы с ним договорились что ему надо получить работающий код как можно быстрее, он зависшего диалога не испугается а просто посмотрит, что resmon показывает ax32 читающий myfile.xlsx.
Мое глубокое убеждение, что любой дизайн есть продукт компромиссов. Что именно приносить в жертву чему - зависит от конкретных требований. Если требования описаны недостаточно полно, пробелы заполнятся исходя из того, что тот, кто интерпретирует требования посчитает наиболее вероятным.
P.S. На практике до Dyn365FO я чаще всего встречался с кодом, который не читал с клиента файл, а просто надеялся, что пользователь введет путь к сетевой папке. Т.е. задачу старались обойти. В одном месте видел свой специализированный мультитредный сервер закачек, когда я спросил, почему не воспользовались сетевой папкой, ответили, что не хотят администрировать доступ к общей папке.