AXForum  
Zurück   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 30.10.2012, 16:52   #1  
Lapunder ist offline
Lapunder
Участник
 
40 / 10 (1) +
Registriert seit: 24.04.2008
Доброго дня!

Дано. Форма, созданная на основе временной таблицы, использующей структуру 5700 Stockkeeping Unit
Форма имеет вид - параметры (фильтры по дате, складу, поставщику, а так же галочка - скрывать или показывать записи с нулевым количеством) и табличная часть.

При нажитии на галку (параметр на форме) - скрываются нулевые записи. При выключении галки - показываются все записи. И вот тут начинается страшное: при тыке в табличную часть выходит следующая ошибка

"Единица хранения нельзя изменить в этой форме."

Хотя по сути дела галочка - это либо установка фильтра по полю "Количество", либо снятие.

Понимаю, что тут какая-то ерунда мелкая, но время на эту ошибку уже убито
Alt 30.10.2012, 17:36   #2  
InTacto ist offline
InTacto
Участник
Benutzerbild von InTacto
 
323 / 11 (1) +
Registriert seit: 09.08.2005
Такая ошибка обычно возникает, если у вас не хватает прав на изменение. Есть подозрение, что форма у вас открыта на редактирование. Без тыкания по галке такая ошибка возникает?
Alt 30.10.2012, 21:28   #3  
.Quattro. ist offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Registriert seit: 22.05.2006
CurrForm.UPDATE(FALSE) стоит на OnAfterValidate в триггере простановки галочки? Он нужен там.
Alt 31.10.2012, 14:24   #4  
DA_NEAL ist offline
DA_NEAL
Участник
Benutzerbild von DA_NEAL
Лучший по профессии 2017
Лучший по профессии 2009
 
788 / 54 (3) ++++
Registriert seit: 05.08.2002
Ort: Королев
Можно попробовать после кнопки обновления сделать что то вроде

IF FINDFIRST THEN;

xRec.COPY(Rec);
__________________
Want to believe...
Alt 31.10.2012, 15:12   #5  
ОльгаМ ist offline
ОльгаМ
Участник
 
36 / 10 (1) +
Registriert seit: 07.09.2004
Ort: Москва
В триггере OnValidate Поля "простановки галочки" навесьте на таблицу Фильтры выбора таблицы, а
в триггере OnAfterValidate этого же поля пусть будет только CurrForm.UPDATE, без FАLSE.
Alt 31.10.2012, 23:18   #6  
alexb_imported ist offline
alexb_imported
Участник
 
256 / 12 (1) ++
Registriert seit: 25.08.2006
Zitat:
Zitat von Lapunder Beitrag anzeigen
При нажитии на галку (параметр на форме) - скрываются нулевые записи. При выключении галки - показываются все записи. И вот тут начинается страшное: при тыке в табличную часть выходит следующая ошибка

"Единица хранения нельзя изменить в этой форме."

Хотя по сути дела галочка - это либо установка фильтра по полю "Количество", либо снятие.
Может у вас те же пробемы, что обсуждались уже здесь
- в property всей формы в строке в TableBoxID стоит что-нибудь?
- в property всей формы: что стоит в ModifyAllowed?
- табличная часть: Editable = No ?
В общем копайте в эту сторону
Alt 31.10.2012, 23:29   #7  
alexb_imported ist offline
alexb_imported
Участник
 
256 / 12 (1) ++
Registriert seit: 25.08.2006
Zitat:
Zitat von helga7289 Beitrag anzeigen
а в триггере OnAfterValidate этого же поля пусть будет только CurrForm.UPDATE, без FАLSE.
А разве дефолтное значение CurrForm.UPDATE (без передачи параметра) -> TRUE ?
По-моему FALSE, т.е. CurrForm.UPDATE и CurrForm.UPDATE(FALSE) -> одно и тоже.
Alt 01.11.2012, 16:14   #8  
ОльгаМ ist offline
ОльгаМ
Участник
 
36 / 10 (1) +
Registriert seit: 07.09.2004
Ort: Москва
Скорее всего при навешивании фильтра срабатывает валидейт какого-то поля в табл.5700.
Ничего страшного не будет, если вы снабдите свою форму косвенными правами на табл.5700 (в свойствах формы свойство Permissions).
Alt 02.11.2012, 12:23   #9  
alexb_imported ist offline
alexb_imported
Участник
 
256 / 12 (1) ++
Registriert seit: 25.08.2006
Zitat:
Zitat von helga7289 Beitrag anzeigen
Скорее всего при навешивании фильтра срабатывает валидейт какого-то поля в табл.5700.
А можете првести пример кода, который путём наложения фильтров вызывает Validatе какого-нибудь поля?
Я лично такой фичи в НАВе не знаю.

Zitat:
Zitat von helga7289 Beitrag anzeigen
Ничего страшного не будет, если вы снабдите свою форму косвенными правами на табл.5700 (в свойствах формы свойство Permissions).
Проблема не в отсутствии косвенных прав на внесение изменений в табл.5700, а в том, что форма пытается при тыке в табл. часть эти изменения в таблицу 5700 вообще ввести. А ведь форма Lapunder'a основана на временной таблице, значит предназначена не для внесения изменений в табл. 5700.

И в чём всё же по Вашему разница между CurrForm.UPDATE и CurrForm.UPDATE(FALSE) ?
Alt 02.11.2012, 12:53   #10  
.Quattro. ist offline
.Quattro.
Участник
Лучший по профессии 2009
 
194 / 22 (1) +++
Registriert seit: 22.05.2006
Zitat:
Zitat von AlexB Beitrag anzeigen
А можете првести пример кода, который путём наложения фильтров вызывает Validatе какого-нибудь поля?
Я лично такой фичи в НАВе не знаю.
Попробуйте в таблице Bin Content наложить фильтр на несуществующий товар
Alt 02.11.2012, 16:44   #11  
alexb_imported ist offline
alexb_imported
Участник
 
256 / 12 (1) ++
Registriert seit: 25.08.2006
Zitat:
Zitat von .Quattro. Beitrag anzeigen
Попробуйте в таблице Bin Content наложить фильтр на несуществующий товар
Если Вы имеете ввиду вылетающую при этом ошибку "Товар номер **** не существует", то да, про этот вариант я как-то подзабыл,
т.к. обхожу всегда известным трюком: фильтрую не с SETRANGE a с SETFILTER.
И вылетает эта ошибка только потому, что номер товара входит в перв. ключ таблицы "Bin Content". Если наложить фильтр, например, на несуществующий "Warehouse Class Code", то ошибка не вылетает.
Если наложить фильтр на несуществующий товар XYZ по подобию SETFILTER например с PIPE, т.е. XYZ|XYZ, то и в этом случае ошибка не вылетает.
Опять же: всё это не имеет никакого отношения к проблематике с формой у Lapunder'a, он просто фильтрует (временную!) т. 5700 на записи без нулевого кол-ва (очевидно decimal поле Inventory не входящее в перв. ключ!) и форма пробует сразу внести какие-то изменения (во временнную!) т. 5700, чего по не должно быть и при этом ругается.
Alt 13.11.2012, 12:37   #12  
Lapunder ist offline
Lapunder
Участник
 
40 / 10 (1) +
Registriert seit: 24.04.2008
Zitat:
Zitat von .Quattro. Beitrag anzeigen
CurrForm.UPDATE(FALSE) стоит на OnAfterValidate в триггере простановки галочки? Он нужен там.
спасибо. затык был именно в этом. было написано просто CurrForm.UPDATE, а в нем по умолчанию триггер вызывался.
 


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 09:07 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.