AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.06.2007, 12:40   #1  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
То Gennady Antropov
Извините за задержку, были проблемы с интернетом
Понятно, что каждый использует то, что ему нравится, но все же интересно сравнить возможности разных подходов к выгрузке
Про размерность массива - да, есть такая проблема. Как динамически размерность массива указать я так и не нашел. Тут тока при создании сразу врубить ему на порядок большую размерность, чем может быть записей в таблице, чтоб хоть какоето время спать спокойно. Но это не очь хорошо все равно.
А вот про то, что можно кроме самих записей еще что-то (неважно что) в этой таблице сохранять а в массиве нельзя - это вы зря. Во-первых в таблице можно сохранять только ограниченный набор настроек. Их можно расширить, доработав таблицу, но он все равно будет ограничен. Во-вторых, хоть в массив настройки сохранять и нельзя я не считаю это недостатком. Зачем вобще это делать? Вспомните, мы применяем массив при работе с excel напрямую через сервер автоматизации. А с его помощью мы имеем полный доступ к листу, включая и форматирование и формулы и любые функции использовать...
И насчет того, что в стандарте есть... Есть то он есть, я просто не уверен в эффективности реализации этого ресурса. Скорее наоборот, имеем потерю в скорости. Это и понятно, ради универсальности имеем потерю в гибкости, обычная ситуация, даже если предположить, что писал это дело грамотный программер и сделал всю на 5+. Хотя в последнем тоже можно усомнится. Знаете на какие перлы я натыкаюсь в стандартной конфигурации? Для примера, цикл на пять итераций и в цикле проверка - если переменная пустая, то присвоить ей пустое значение. Кроме шуток. И это не единственный пример.
Так что получается, что единственное преимущество Excel Buffer - это ее безразмерность? А в остальном только недостатки, не так ли?
Старый 29.06.2007, 13:10   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от smoyk Посмотреть сообщение
Для примера, цикл на пять итераций и в цикле проверка - если переменная пустая, то присвоить ей пустое значение.
Сдается мне кто-то ловил ошибку с пустой переменной и забыл стереть
Старый 30.06.2007, 05:23   #3  
smoyk is offline
smoyk
Участник
 
188 / 13 (1) ++
Регистрация: 20.04.2007
Цитата:
Сообщение от Fordewind Посмотреть сообщение
Сдается мне кто-то ловил ошибку с пустой переменной и забыл стереть
Это как?
Старый 30.06.2007, 12:06   #4  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от smoyk Посмотреть сообщение
Это как?
Например, есть неверно работающая программа. Одно из подозрений падает на то, что в некоторый момент переменная пуста.
Тогда вставляем две строчки:

ЕСЛИ перменная = пусто ТО
перменная := переменная;

После чего включаем дебаггер, ставим остановку на 2-ю строчку и запускаем. Т.е. мы ничего не поменяли, но ситуацию отлловим, если будет.
В Nav такого не делал, а в Delphi как то было
Старый 02.07.2007, 05:32   #5  
gennady is offline
gennady
Участник
 
92 / 11 (1) +
Регистрация: 27.09.2004
Адрес: Иркутск
Цитата:
Сообщение от smoyk Посмотреть сообщение
Про размерность массива - да, есть такая проблема. Как динамически размерность массива указать я так и не нашел.
И не найдете. В C/AL нет такой возможности.
Цитата:
Сообщение от smoyk Посмотреть сообщение
А вот про то, что можно кроме самих записей еще что-то (неважно что) в этой таблице сохранять а в массиве нельзя - это вы зря. Во-первых в таблице можно сохранять только ограниченный набор настроек. Их можно расширить, доработав таблицу, но он все равно будет ограничен. Во-вторых, хоть в массив настройки сохранять и нельзя я не считаю это недостатком. Зачем вобще это делать? Вспомните, мы применяем массив при работе с excel напрямую через сервер автоматизации. А с его помощью мы имеем полный доступ к листу, включая и форматирование и формулы и любые функции использовать...
Когда настройки идут в потоке с выводимыми значениями, их удобней обрабатывать. Делая это в перемежку с запросами к БД при формировании отчета, и обращениями к Excel, мы как раз и теряем в скорости. При использовании же временных таблиц мы, по сути, имеем и некий эквивалент запроса, и можем создавать
своего рода объектную переменную (ведь временная таблица существует локально, у клиента, нет обращений к серверу, поэтому потери в скорости не так уж ощутимы).
Цитата:
Сообщение от smoyk Посмотреть сообщение
И насчет того, что в стандарте есть... Есть то он есть, я просто не уверен в эффективности реализации этого ресурса. Скорее наоборот, имеем потерю в скорости. Это и понятно, ради универсальности имеем потерю в гибкости, обычная ситуация, даже если предположить, что писал это дело грамотный программер и сделал всю на 5+. Хотя в последнем тоже можно усомнится. Знаете на какие перлы я натыкаюсь в стандартной конфигурации? Для примера, цикл на пять итераций и в цикле проверка - если переменная пустая, то присвоить ей пустое значение. Кроме шуток. И это не единственный пример.
Ну, стандарт делают не боги, а такие же программисты. Естественно, нам всем свойственно ошибаться. Но никто не мешает стандарт доработать "под себя", я, к примеру, объект типа таблица Excel Buffer основательно доработал, чтобы
мне удобно было им пользоваться.
Цитата:
Сообщение от smoyk Посмотреть сообщение
Так что получается, что единственное преимущество Excel Buffer - это ее безразмерность? А в остальном только недостатки, не так ли?
Ну, во-первых, безразмерность в нашем случае - весьма ощутимое преимущество. И почему же оно единственное? А возможность объединения в едином как бы массиве разных типов данных?
(это уже во-вторых :О)? А место, где мы можем создавать и хранить свои функции, необходимые нам именно для выгрузки в Excel? Имхо, массивы лучше использовать когда не нужна динамичность
их размерности, когда важна сама эта размерность, и для определенного типа данных.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:23.