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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.05.2010, 16:48   #1  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Пока не понял зачем код, выделенный жирным нужен без фильтрации или ключа??

ReqLine.RESET;
ReqLine.GET("Worksheet Template Name","Journal Batch Name","Line No.");
WHILE (ReqLine.NEXT <> 0) AND (ReqLine.Level > Level) DO
ReqLine.DELETE(TRUE);
Старый 26.05.2010, 17:24   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Цитата:
Сообщение от RedFox Посмотреть сообщение
Пока не понял зачем код, выделенный жирным нужен без фильтрации или ключа??

ReqLine.RESET;
ReqLine.GET("Worksheet Template Name","Journal Batch Name","Line No.");
WHILE (ReqLine.NEXT <> 0) AND (ReqLine.Level > Level) DO
ReqLine.DELETE(TRUE);
Если учесть что Level это отступы, а отступы обозначают вложения, то логично предположить, что данный код убивает все вложения (в том числе и вложения вложений) у записи взятой GET'ом
Старый 26.05.2010, 17:57   #3  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
имхо, гетит строчку в середине таблицы и грохает записи нижее, которые по условию подходят.
но ключик я бы установил заранее...
Старый 26.05.2010, 19:25   #4  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от Sancho Посмотреть сообщение
имхо, гетит строчку в середине таблицы и грохает записи нижее, которые по условию подходят.
но ключик я бы установил заранее...
Ребята, Спасибо - Вы оба молодцы и подметили обе стороны! Но это стандартный код OnDelete 246 таблицы.
И ни ключика, ни фильтра там нету Поэтому если запись находится в середине таблицы, то хорошо, если нумерация была последовательная - "сначала Заголовок, потом все строки для заголовка, а затем следующий заголовок.."

P.S. Я сначала думал может я совсем постарел (и как думал - пошел на пенсию), но потом вспомнил про форум..
Старый 27.05.2010, 10:39   #5  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
Мужики, вы чего? 0_о

Судя по этому куску это что-то типа удаления пункта меню. За ним должны удалиться все его дочки.
Пример (см. Рис.):

Если мы хотим удалить пункт Запись 2, то этот код удалит ровно все его вложения (Вложение 2.1, Вложение 2.1.1, Вложение 2.2). Вложения всегда идут следом за родителем в первичном ключе. И это не "Хорошо, если...", это так должно быть по стандарту. Здесь ведь нет явного указания на родительскую строку. Если они будут не по порядку, то наступит ХАОС ну и где-то замаячит конец света А как нас уверяют это произойдет только в далеком 2012-м
Если поставите там ключ другой или фильтр, то удалятся все вложения! В том числе и чужие!
Миниатюры
Нажмите на изображение для увеличения
Название: пример вложений.JPG
Просмотров: 307
Размер:	28.4 Кб
ID:	10592  
Старый 27.05.2010, 12:45   #6  
Sancho is offline
Sancho
Administrator
Аватар для Sancho
Лучший по профессии 2017
Лучший по профессии 2009
 
1,294 / 221 (10) ++++++
Регистрация: 11.01.2006
согласен
WHILE ReqLine.Level > Level не позволит удалить все ниже.
с картинкой стало понятнее спасибо!
Старый 28.05.2010, 10:38   #7  
Milk is offline
Milk
Участник
 
242 / 12 (1) ++
Регистрация: 08.06.2006
Поскольку это поле появилось в 246 табличке одновременно с появлением в Navision формы "Планирование Заказов" (и используется для создания отступов в ней), предположу, что именно для нее оно и было создано. В этой форме по нажатию плюсика раскрывается детализация заказа. Она всегда ниже его самого. Логично, что если строка заказа удаляется из таблицы, то и его детализация (имеющая больший номер уровня) должна удалиться тоже.
Старый 01.06.2010, 14:36   #8  
Storkich is offline
Storkich
Участник
 
149 / 10 (1) +
Регистрация: 08.03.2007
Ещё и с рекурсией.
 


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

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

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