|
![]() |
#1 |
Administrator
|
Цитата:
Сообщение от VadimVN
СМне не трудно переписать Insert и Delete на InventTableModule чтобы пихать записи ещё и в соседнюю компанию, но можт существует более изящный способ?
Цитата:
Сообщение от gl00mie
На буржуйском форуме нашел такой вот рецепт определения...
![]() X++: boolean isVirtual; ; isVirtual = (select firstonly DataArea where DataArea.id == new DictTable(tableId).makeRecord().dataAreaId).isVirtual;
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: gl00mie (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Maxim Gorbunov
А почему бы не переписать insert и delete на InventTable и не заморачиваться с виртуальными компаниями?
Цитата:
Сообщение от Maxim Gorbunov
Или, еще лучше, написать периодическое задание, которое будет синхронизировать справочники номенклатуры в компаниях.
Цитата:
Сообщение от Maxim Gorbunov
X++: select firstonly DataArea where DataArea.id == new DictTable(tableId).makeRecord().dataAreaId; ![]() |
|
![]() |
#3 |
Administrator
|
Цитата:
Сообщение от gl00mie
Судя по моим ковыряниям с отладчиком, эти вставки делаются из формы InventTable (в стеке вызова значится \Classes\FormDataSource\write)
![]() Цитата:
Сообщение от gl00mie
Ситуация такая: таблица InventTable - общая меж н-цати компаний, InventTableModule - везде своя. В одной компании создаем новую номенклатуру, все остальные ее не видят, потому что запись с новым InventTable.ItemId у них есть, а записей в InventTableModule с этим ItemId у них нет. При чем тут периодические задания?..
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от Maxim Gorbunov
если Вы все это затеваете только для того, чтобы иметь общий номенклатурный справочник, может проще этот справочник просто синхронизировать периодически.
![]() |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от Maxim Gorbunov
X++: select firstonly DataArea where DataArea.id == new DictTable(tableId).makeRecord().dataAreaId; ![]() X++: static str getVirtualCompanyId(TableId _tableId, CompanyId _companyId = curExt()) { VirtualDataAreaList virtDataAreaLst; TableCollectionList tableColList; SysDictTableCollection dictTableCol; ; while select virtDataAreaLst where virtDataAreaLst.id == _companyId join tableCollection from tableColList where tableColList.virtualDataArea == virtDataAreaLst.virtualDataArea { dictTableCol = new SysDictTableCollection(tableColList.tableCollection); do { if (tablename2id(dictTableCol.nextTable()) == _tableId) return virtDataAreaLst.virtualDataArea; } while (tableName); } return ''; } |
|
![]() |
#6 |
Administrator
|
Цитата:
Сообщение от gl00mie
А можно поподробней относительно смысловой нагрузки этого выражения с DictTable? А то я такой класс в AOT не нашел...
![]() new DictTable(tableId) - создает новый объект класса DictTable для таблицы tableId makeRecord() - возвращает пустой буфер для таблицы (хоть буфер и пустой, dataAreaId в нем уже инициализирован).
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
![]() |
#7 |
Участник
|
Цитата:
Сообщение от Maxim Gorbunov
А почему бы не переписать insert и delete на InventTable и не заморачиваться с виртуальными компаниями?
![]() Цитата:
Сообщение от Maxim Gorbunov
Или, еще лучше, написать периодическое задание, которое будет синхронизировать справочники номенклатуры в компаниях.
|
|
Теги |
виртуальные компании, как правильно, номенклатура, компания |
|
![]() |
||||
Тема | Ответов | |||
Виртуальные компании | 8 | |||
виртуальные компании | 5 | |||
Таблица DocuRef и виртуальные компании | 2 | |||
Виртуальные компании или фин. отчеты | 20 | |||
Виртуальные компании | 7 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|