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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2005, 15:48   #21  
Константин! is offline
Константин!
Участник
 
180 / 10 (1) +
Регистрация: 13.04.2005
Адрес: Казань
Спасибо все ясно.
Старый 28.06.2005, 15:51   #22  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Цитата:
Легко (с) будущая актриса
SVG еще раз прошу-следите за своей речью и не переходите на личности.
Старый 28.06.2005, 15:57   #23  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Вообще люди похихикали над моим "слушать и записывать"
Старый 28.06.2005, 18:33   #24  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
SVG я все таки с вами не согласна, обязательно проведу эксперимент. Только хотелось бы уточнить-ваше утверждение что SIFT и flowfield разные понятия это для SQL? Или для обычного Навижина тоже?
Старый 28.06.2005, 18:56   #25  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Посмотрела даже специально версию 2.0-а там вообще не было галочки sift
- там есть только keys и sumindexfields. И flowfield поле не вычисляется-если нет ключей,состоящих из полей по которым вычисляется. И все таки SIFT-это общее понятие которое включает в себя и flowfield и flowfilter и sumindexfields.
А в вашем примере вы просто использовали свойство sumindexfields-оно и будет работать не зависимо от галочки sift.
Наверно правильнее будет убрать галочку sift -создать ключ и попробовать создать flowfield поля и посмотреть посчиталась ли сумма (кстати когда не хватало полей в ключе-у меня лично ругалось-что не может подсчитать сумму). После убрать галочку или для чистоты эксперимента-создать новый ключ без галочки, и создать новое flowfield поля и посмотреть результат.
И в отчете тогда считать не по calcsums (это св-во считает по полю прописанному в ключе sumindexfields) а по calcfields/
Обязательно попробую.
Старый 29.06.2005, 09:37   #26  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Цитата:
Сообщение от Галина
SVG я все таки с вами не согласна, обязательно проведу эксперимент. Только хотелось бы уточнить-ваше утверждение что SIFT и flowfield разные понятия это для SQL? Или для обычного Навижина тоже?
Собственно SIFT - это технология, подразумевающая именно дополнительную служебную таблицу где будут лежать заранее посчитанные суммы - заполнение и модификация этой служебной таблицы происходит при модификации исходной таблицы.
А FlowFields - это вычисляемые поля, и считать суммы свои они будут независимо от того, есть SIFT или есть только ключик - причем даже не обязательно чтоб был SQL ключ, достаточно только в Navi создать.
В общем, вы попробуйте.
Для работы FlowField достаточно просто ключа - без единой галки - без SQL, без SIFT.
Точно так же и наоборот - можно создать ключ с SIFT, но при этом не создавать вычисляемое поле, а использовать просто в коде для вычисления некой суммы.
В общем, попробуйте.
Старый 29.06.2005, 10:01   #27  
rov_imported is offline
rov_imported
Участник
 
176 / 10 (1) +
Регистрация: 20.01.2005
Я немного уточню по этой теме.

Мне кажется надо различать 3 вещи:
- вычисляемые поля (FlowField)
- суммовые поля(SumFields)
- технологию служебных таблмц для хранения сумм (SIFT)

И весь спор свелся к тому, что понятия суммовые поля и SIFT смешивались - что привело к бурной дискуссии

To SVG:
Первоначальный запрос звучал так: "Если нетрудно приведите примеры использования SIFT без вычисляемых полей, и наоборот."
Да, SIFT без выч. полей будет работать - это и так понятно.
Обратное тоже верно - только если мы не подразумеваем под SIFT суммовые поля Navision. А мне кажется именно это и имели в виду некоторые участники дискуссии.
И без суммовых полей вычисляемые поля конечно же не будут считаться - что в общем, тривиальный факт. Именно это и надо было прояснить.

И еще. SVG! Человека, который не умеет вежливо общаться в форуме совершенно не хочется слушать. И тем более записывать.
Вам сделали замечание - постарайтесь следить за речью.
Старый 29.06.2005, 10:20   #28  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
rov
Не хочешь - не слушай. И не записывай. Я совершенно не расстроюсь.
Кому интересно - тот почитает, запомнит, запишет. А кому надо не знаний, а вежливости, могут закрыть глаза и читать порнографию методом брайля.
Я никого не оскорбил, не нахамил, ни разу не перешел на личности, терпеливо двадцать раз объяснил одно и то же с примерами и с разных сторон и разными словами. Достаточно.

Mazzy, можешь влепить мне плюсик за офтоп и личную переписку в теме.
Старый 29.06.2005, 11:00   #29  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
SVG- это вы уверенны что вы объяснили правильно-но это не значит что других это убедило. И если вы привыкли к авторитету на работе-это не значит - что по умолчанию здесь тоже у вас такой же авторитет. И объясняйте хоть 50 раз-если кого то не убеждает-то увы это и не убедит. А оскорбить можно по разному-можно напрямую-сказатть "дурак" , а можно сделать так как это сделали вы
Цитата:
Легко (с) будущая актриса
.
Культурно-но абслютно не возникает желание после этого вести конструктивный разговор.
И хотите принимайте это к сведению -хотите нет, я абсолютно не расстроюсь.
Вы же общаетесь с людьми (так что если такое общение у вас не вызывает проблем-то вери гуд-рада за вас).
А теперь конкретный вопрос-из вашего объяснения тогда я не понимаю-зачем же галка "sift"?
Цитата:
Точно так же и наоборот - можно создать ключ с SIFT, но при этом не создавать вычисляемое поле, а использовать просто в коде для вычисления некой суммы.
Замечатльно-только подскажите вы какую команду имеете ввиду calcsums?для ключа с sift и без вычисляемого поля? (если calcsums то по какому полю-по полю sumindexfields в ключе?)
Старый 29.06.2005, 11:08   #30  
Yoil is offline
Yoil
NavAx
NavAx Club
Лучший по профессии 2017
Лучший по профессии 2009
 
1,574 / 70 (6) ++++
Регистрация: 20.11.2002
Адрес: Msk
Бррр... Дамы и господа, да что у вас за настрой такой, если вы умудряетесь во фразах типа "Легко (с) будущая актриса" оскорбление увидеть? Шутка по дефолту является оскорблением что ли?
__________________
"Моей лошадке ядрышком полмордочки снесло..."
А.В.Суворов, письма к дочери
Старый 29.06.2005, 11:14   #31  
rov_imported is offline
rov_imported
Участник
 
176 / 10 (1) +
Регистрация: 20.01.2005
Цитата:
Сообщение от SVG
rov
Не хочешь - не слушай.....Я никого не оскорбил,
Уверены? Я вам вроде не тыкал, водку мы с вами не пили - так с чего так фамильярно то? В детстве не научили правилам поведения?

Цитата:
Сообщение от SVG
терпеливо двадцать раз объяснил одно и то же
Ну если за 20 раз никто не понял - может дело то в объяснятеле? :P
Старый 29.06.2005, 11:24   #32  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Дуд,да вроде вполне нормально отношусь к шуткам.
Просто если бы SVG после
Цитата:
Ну понеслась... Не надо со мной "как-то не соглашаться", меня надо слушать и записывать. Последний раз повторяю, что вычисляемые поля и суммовые индексы - это совершенно разные и отдельные друг от друга вещи.
поставил смайлик и после будущей актрисы тоже-тогда без проблем-все понятно-человек хотел пошутить (ну а удачно или нет это уже второй вопрос-по всякому бывает). Но смайлика я негде не увидела- по этому расцениваю как есть. Написано серьезно. И все. А почему то мне кажется что если бы человек действительно пошутил-он бы так на мое реагирование-и написал-народ я неудачно пошутил. И все. Проблем нет.А тут как то все по другому-наоборот SVG еще и Rov на место поставил. Ну ладно меня -тупая ни фига с первого раза не понимаю - блин -все пора на кладбище , а то и другим досталось.
Но вообще думаю обсуждение манеры ответов SVG разумнее прекратить-так как это путь в никуда. Но убедить все таки он меня не убедил.
Старый 29.06.2005, 11:46   #33  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Пожав плечами, дасвиданя...
Старый 29.06.2005, 11:49   #34  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
SVG - "SIFT - это технология суммовых индексов - это как раз служебные структуры, хранящие готовые суммы по выбранным группирующим полям. Штука довольно вредная, и сделанная довольно топорно " - Вы это серьезно?
Как я понимаю - это одна из наиболее "мощных" составляющих Navision, кот. при грамотном использовании на порядки увеличивает эффективность приложения.
Старый 29.06.2005, 12:13   #35  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
zma
Собственно топорность ее в том, что галки по умолчанию стоят.
Если посмотреть на кронусовую базу, или на 70% клиентских баз, то можно увидеть например с десяток индексов на таблице 37, 81, 83 - и все они будут иметь и SQL и SIFT - это не только не ускорит работу, а с точностью до наоборот замедлит ее - замедлится вставка и модификация записей, из-за тучи индексов на книжках сильно вырастет размер БД, а толку будет -30.
К построению SIFT структур и SQL индексов надо подходить грамотно, а не абы как втыкая галки куда ни попадя.
Собственно SIFT - действительно мощная штука, которую сами навиженцы преподносят как одно из своих самых суперпупердостижений.
И если с ней обращаться умело - эффект будет. И немалый. Но мало кто умеет.

Как пример - на нанешней работе в таблице 32 1.5 миллиона записей, а в ОДНОЙ из суммовых таблиц 7 миллионов!
Старый 29.06.2005, 12:42   #36  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
Вы знаете SVG я вообще то Вам еще и вопрос задала.
Цитата:
А теперь конкретный вопрос-из вашего объяснения тогда я не понимаю-зачем же галка "sift"?
Ну и дальше по тексту. А предложить я закрыла обсуждение вашией манеры вести разговор, а не тему.Так что говорить
Цитата:
дасвиданя...
необязательно.
Старый 29.06.2005, 12:59   #37  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Цитата:
Сообщение от Галина
Культурно-но абслютно не возникает желание после этого вести конструктивный разговор.
Вы же общаетесь с людьми (так что если такое общение у вас не вызывает проблем-то вери гуд-рада за вас).
Если нет желания - зачем мучаться и спрашивать опять?
А проблемы с общением не у меня, это у слушателей какие-то претензии к изложению материала.
Ну короче... Я тут для себя решил игнорировать выпады любителей изящной словесности - кому надо - тот прочитает, а у кого комплекты по поводу записывания - пусть мучается с ними самостоятельно, и желательно молча.

Для того, чтоб посчитать сумму по записям некой таблицы, надо
1. создать ключ, куда войдут все поля, по которым мы будем ставить фильтр.
2. в этом ключе указать в поле SumIndexFields поле, кот. мы будем суммировать.
Все. Этого достаточно как для работы вычисляемого поля, которое будет считать сумму по этой таблице, так и для работы CALCSUMS()

Далее. У нас есть две галки - MaintainSQL и MaintainSIFT
Можно поставить обе, можно любую из них. По идее, должны получить прирост скорости при расчете суммы. SQL опускаю. SIFT -
Если в ключе 10 полей, если в ключе дата, то построение суммовой таблицы скорее всего ничего не даст - подчеркиваю - скорее всего, каждый случай надо рассматривать отельно.
А если мы сделаем скажем на 32й таблице SIFT в ключе ItemNo,LocationCode

<div class='CALtop'>C/AL</div><div class='CAL'>Item.No := 'Item1'
Item.SETRANGE(LocationFilter, 'Location1');
Item.Calcfields(Inventory)</div>
будет выполняться очень быстро.
Старый 29.06.2005, 13:07   #38  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
Да, конечно, главный акцент при использовании SIFT-технологии - это обращаться с ней грамотно и умело, как впрочем и с любым индексированием, понимать за счет чего происходит увеличение быстродействия на операциях чтения и чем приходится жертвовать для достижения этого. У нас есть клиент (швейное предприятие) с номенклатурой Item + Item Variant ~ 100000 ед. и годовым приростом базы в 50 Гб, так вот, время вывода разных оперативных производственных отчетов уменьшилось на 2 порядка после творческого внедрения SIFT-технологии.
Старый 29.06.2005, 13:14   #39  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
zma
Ну это вы молодцы
Собственно почти всегда через год после внедрения остро встает вопрос быстродействия.... поэтому предлагается сразу в отчетах вставлять SLEEP'ы, чтоб потом можно было в настройках ставить галки
Работать нормально
Работать быстро
Работать еще быстрее

Старый 29.06.2005, 13:38   #40  
Галина is offline
Галина
Участник
 
1,132 / 28 (3) +++
Регистрация: 01.07.2003
[QUOTE]
Далее. У нас есть две галки - MaintainSQL и MaintainSIFT
Можно поставить обе, можно любую из них. По идее, должны получить прирост скорости при расчете суммы. SQL опускаю. SIFT -
Если в ключе 10 полей, если в ключе дата, то построение суммовой таблицы скорее всего ничего не даст - подчеркиваю - скорее всего, каждый случай надо рассматривать отельно.
А если мы сделаем скажем на 32й таблице SIFT в ключе ItemNo,LocationCode

C/ALItem.No := 'Item1'
Item.SETRANGE(LocationFilter, 'Location1');
Item.Calcfields(Inventory)
будет выполняться очень быстро
[QUOTE]
Поле Inventory-это же flow field поле?
Если оно flow field-то в чем лично у меня не понимание вашего объяснения-если подсчитанные суммы где-то хранятся в служебных структурах-то я тогда не понимаю как обратится к этой сумме использую команды кода?Calcfields обращается же к flow filed полю?Если flow filed не часть SIFT -то поидеи мы как то должны напрямую обратится к подсчитанным суммам, хранящимся в служебных структурах? Я не правильно понимаю?
 

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

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:27.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.