Вернуться   Андрей Панько. Заметки про: > Dynamics NAV (Navision)
Регистрация Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Dynamics NAV (Navision) Заметки про Dynamics NAV (ранее Navision) и аддон LS Retail

Ответ
 
Опции темы Поиск в этой теме
  #1  
Старый 15.08.2006, 17:46
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Заметки из серии Navision Programming

07.08.06Изучая существующий функционал Navision, несколько упустил программирование, коим неплохо овладел в период внедрения разрабатывая различные отчеты. Проявилось это в том, что не смог вспомнить как программно пройтись по записям таблицы, пришлось подсмотреть:

glRec.SETRANGE("название поля в glRec","от значения"[,"до значения"]);

IF glRec.FIND('-') THEN BEGIN
REPEAT
//Обработка
UNTIL glRec.NEXT = 0;
Ответить с цитированием
  #2  
Старый 15.08.2006, 17:47
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Про чекбокс

08.08.06 (Programming)
Пару заметочек про чекбокс. Далеко не откровения, а скорее для информации:
* По умолчанию чекбокс вставляется с выключенной опцией ShowCaption (показывать заголовок).
* Если включить опцию ShowCaption, то заголовок по умолчанию выводится справа, а сам чекбокс - слева. Если есть желание поменять их местами нужно использовать опцию BitmapPos.
Ответить с цитированием
  #3  
Старый 23.08.2006, 12:14
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Да, деталям нужно уделять много внимания.

Сделал открытие, что функция GET игнорирует установленные фильтры, о чем кстати в справке написано.

Добавлю, что Deleteall наоборот, работает только в пределах установленного фильтра.

Последний раз редактировалось apanko, 29.11.2006 в 13:07.
Ответить с цитированием
  #4  
Старый 08.10.2006, 23:24
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Про lookup

Чтобы к Textbox добавить возможность осуществлять выбор из какой-либо таблицы, осуществив перед этим фильтрацию нужно в триггере элемента управлению добавить следующий код
Код:
C/AL Locals lrecItemVariant Record Item Variant lformItemVariants Form Item Variants C/AL Code OnLookup(VAR Text : Text[1024];) : Boolean lrecItemVariant.SETRANGE("Item No.",ItemNo); // фильтруем. lformItemVariants.LOOKUPMODE:=TRUE; //на тот случай если у формы свойство LookupMode = FALSE. lformItemVariants.SETTABLEVIEW(lrecItemVariant); // можно использовать SETRECORD IF lformItemVariants.RUNMODAL = ACTION::LookupOK THEN BEGIN lformItemVariants.GETRECORD(lrecItemVariant); // Предустановленные фильтры пользователь может снять (Shift+Ctrl+F7), //поэтому здесь не помешает добавить проверку выбранного значения. VariantCode:=lrecItemVariant.Code; END;
Ответить с цитированием
  #5  
Старый 09.10.2006, 18:04
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Пара банальностей

Опять про GET.
Чтобы получить доступ к таблицам, содержащим настройки нужно использовать конструкцию XxxxSetup.GET(‘’);

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

1. Для одного из полей таблицы типа Integer или BigInteger можно указать свойство AutoIncrement. В этом случае при вставке строк в таблицу, это поле будет заполняться автоматически с шагом 1.

2. Для форм можно включить свойство AutoSplitKey, тогда для последнего поля, входящего в первичный ключ будет осуществляться автоматическая нумерация, при условии, что эти поля типа Integer, BigInteger, Decimal или GUID.


Update: полезная инфа про AutoIncrement на SQL есть в теме http://apanko.ru/showthread.php?p=20391

Последний раз редактировалось apanko, 19.02.2010 в 16:05.
Ответить с цитированием
  #6  
Старый 12.01.2007, 11:17
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Фильтрация по пустым значениям

Для облегчения своего труда делал одну примочку (выложу позже, после доведения до совершенства). В процессе столкнулся с проблемой, внешним проявлением которой был отказ системы фильтровать данные по вариантам.

Пока разбирался узнал следующее:

Цитата:
SETFILTER("Variant Code",'%1','='''''); - работает
SETFILTER("Variant Code",'%1',''); - работает, но красивее.
SETFILTER("Variant Code",'%1','''''') - не работает, потому что отбирает записи, где код варианта равен '', а не пустым значениям.

Ознакомившись с вышеприведенными данными начал волноваться, однако зря, конструкция приведенная ниже - работает:
Код:
strfilter:=''; SETRANGE("Variant Code",strfilter);

Причина правда оказалась в другом...
Ответить с цитированием
  #7  
Старый 20.03.2007, 13:17
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Печать из предварительного просмотра

Иногда из предварительного просмотра печатать нельзя: "Этот отчет не может быть напечатан из Предварительного Просмотра. Завершите просмотр и запустите отчет". Такое явление часто наблюдается при печати/просмотре счетов-фактур.

Явно свойство, отвечающее за подобное поведение, не предусмотрено.

Добиться указанного эффекта можно если в коде использовать оператор CurrReport.PREVIEW.

Код:
IF CurrReport.PREVIEW THEN;

Знание почерпнуто отсюда, за что ответившему - мое уважение.
Ответить с цитированием
  #8  
Старый 04.04.2007, 17:04
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Еще вариант lookup

Код:
lrecZreportRegister.RESET; //lrecZreportRegister.SETRANGE(...); IF FORM.RUNMODAL(0,lrecZreportRegister) = Action::LookUpOk THEN BEGIN gZreportNo:=lrecZreportRegister.ZreportNo; gZreportDate:=lrecZreportRegister.ReportDate; END;

Спасибо http://forum.mazzy.ru/index.php?show...ndpost&p=30191
Ответить с цитированием
  #9  
Старый 23.08.2007, 16:14
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
Редактировал элемент управления типа Label.
Предупреждаю сразу - откровений не будет.

Изменял свойства:
LeaderDots. Отвечает за то будут ли появляться точечки в элементе управления, такие которые ведут к прямок данным.

MultiLine. Указывает системе - переносить значение или пихать все в одну строку.

После того как строки стали переноситься, захотелось этим процессом управлять. Для это в свойстве Caption применяется обратный слэш: "Строка 1 \Строка 2".
Ответить с цитированием
  #10  
Старый 13.03.2008, 15:28
apanko apanko вне форума
Администратор
 
Регистрация: 15.08.2006
Сообщения: 1,427
См. также статью Серия статей: Курс Молодого Самурая. Часть первая: управляем формой.
Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 03:17.

Контакты: e-mail, телефон: +7(926)1805967 - Архив - Вверх

Microsoft Most Valuable Professional
vBulletin v3.5.4, Copyright ©2000-2010, Jelsoft Enterprises Ltd.
Русский перевод: zCarot, Vovan & Co
Права на все материалы, опубликованные на блогофоруме принадлежат мне, если в самом материале не указано иное.
Рейтинг@Mail.ru Rambler's Top100