|  19.12.2012, 15:06 | #1 | 
| Участник | 
			
			В таблице Sales Header достигнут предел объёма памяти, занимаемый полями одной записи таблицы, и всё равно необходимо добавить новые текстовые поля. Выбран вариант решения, когда создаётся дополнительная новая таблица связанная по первичному ключу как 1:1 к Sales Header. В таком варианте никаких препятствий для добавления новых текстовых полей нет, но есть проблема с отображением всего этого "добра" на форме 42 Sales Order. Хочется чтобы для пользователя подобные технические решения остались незаметными, не доставляли неудобств: 
 Спасибо | 
|  | 
|  19.12.2012, 20:44 | #2 | 
| Участник | 
			
			Само собой FlowFields в должны быть в таблице Editable=No, такие поля в НАВ'е не для редактирования ! У нас тоже дошло до предела с полями, сделали: 1. На карточке 42, где вы показываете FlowField, надо заменить в SourceExpression FlowField из Sales Header на глобальную переменную. 3. В OnOpenForm(), OnAfterGetRecord(), OnAfterGetCurrRecord: - делаете CALCFIELDS на требуемый FlowField и показываете его значение в глоб. переменнной 4. В OnAfterValidate поля (где SourceExpression=глобальную перемення!) запускаете функцию, которая передаёт значение глоб. переменнной (которое user именил) в поле доп. таблицы. Само собой из-за подмены на карточке в SourceExpression табл. поля на глобальную переменную теряется возможность F7-фильтрации, но остаётся по прежнему возможность CTRL+F7 фильтрации | 
|  | 
|  20.12.2012, 09:31 | #3 | 
| Участник | 
			
			Вот этого и хотелось избежать путём перехватывания изменения FlowField. Пользователям будет трудно объяснить почему старые поля фильтруются нормально, а с новыми надо работать по другому
		 | 
|  | 
|  20.12.2012, 10:26 | #4 | 
| Участник | 
			
			Видимо, остается такой вариант - в дополнительной таблице должны быть все поля, которые видны в форме 42. Включая дублирующие из 36-й. Уж суммарная длина видимых на форме полей точно не превысит максимальную для таблицы. Источником в 42 форме должна стать новая таблица. Повесить на новую таблицу триггеры, обновляющие соответствующие поля в 36-й (и наоборот, чтобы избежать вычисляемых полей). Лучше, конечно, сделать новую форму вместо 42-й.
		 | 
|  | 
|  20.12.2012, 11:04 | #5 | 
| Участник | 
			
			Выводите новые поля из доп таблицы на новую закладку и объясните пользователям, что по полям на этой закладке ничего фильтроваться не будет.
		 | 
|  | 
|  20.12.2012, 12:49 | #6 | 
| NavAx | 
			
			Оставьте отображение полей как есть (только запретите редактирование, разумеется) Тогда фильтроваться все будет как обычно Нарисуйте к этим полям, например, ассистедиты, напишите там код, обновляющий значение в связанной таблице, научите юзеров 
				__________________ "Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери | 
|  | 
|  20.12.2012, 15:24 | #7 | 
| Участник | 
			
			Спасибо всем за внимание. Раз нет обходного решения, придётся пользователям "прогнуться"
		 | 
|  | 
|  20.12.2012, 17:25 | #8 | 
| Участник | 
			
			Никто не предложил вроде бы, но можно еще вьюшку сделать и открывать списочную форму на ней. Кнопки открытия карточек документов придется переделывать. Как пример делал вьюшку для поставщик оборотной ведомости только по тем поставщикам по которым в организации есть операции. (Справочник поставщиков глобальный и их очень много, при том что в каждой организации используется хоть и небольшая но местами пересекающаяся часть поставщиков). 
				__________________ Want to believe... | 
|  | 
|  20.12.2012, 22:33 | #9 | 
| Участник | Цитата: Ведь тогда придётся заодно переписать весь код во всех menue-buttons, Info-Pane итд. 42-й формы (или заново сдублировать в новой форме), потом не забыть обыскать все обьекты в базе, в которых используется 42-я форма и там всё поменять итд. | 
|  | 
|  21.12.2012, 13:36 | #10 | 
| Участник | Цитата:  /> | 
|  |