![]() |
#14 |
Участник
|
Ок, постараюсь как-то объяснить что я сделала .Может быть не очень красивое решение но во всяком случае оно работает.
1. Создаем Purchase order в Сompany A --- в Company B автоматически создается Sales order. a ) В company A создаем Vendor с именем и всеми данными company B .В таблице vendor добавляем поле Сompany c TableRelation-Company ,Data Type –Text b) В company B создаем Customer с именем и всеми данными company A В таблице Сustomer добавляем поле Сompany c TableRelation-Company, Data Type –Text c) В форме 50 Purchase Order создаем отдельную страницу например у меня это Intercompany где я помещаю следующие данные (естественно добавлены соответствующие поля в Purchase Header) : Sales order сделан для company…. Sales order номер ….. d ) )В форме 42 Sales Order создаем отдельную страницу Intercompany где я помещаю следующие данные (естественно добавлены соответствующие поля в Sales Header): Cделан для компании …… Для Purchase Order номер…. e) Создаем таблицу InterCompanyRefTable DataPerCompany-No Type,SourceCompany,Source No.,Destination Company,Destination No Я думаю здесь все понятно для чего f) Следующее что я сделала создала отдельный CоdeUnit InterCompany где находяться все мои функции И так создаем Purchase order в company A (Buy-from Vendor No –выбираем того у кого поле Соmpany –нужная нам Company B) в меню выбираем –Создать InterCompanyOrder B CodeUnit создается функция СreateInterCompanySales order Я думаю дальше все ясно ,что нужно сделать чтобы создать Sales order автоматически В начале создаете Sales Header идете в табель Sales & Receivables Setup делаете CHANGECOMPANY(Vendor.Company)находите следующии номер Находите Customer в Company B у которого Company = Company A и заполняете все оставшиеся поля как они заполняются в таблице Sales header .Понятно что VALIDATE применить не получиться Здесь лучше всего написать отдельный код. Например создать функцию CreateDimansion где использовать codeunit DimenssionManagement где в свою очередь создать функию UpdateDocDefaultDimInterCompany куда следует добавить параметр txtInterCompany Обязательно заполнить поля в c) и d) C помощью таблицы InterCompanyRefTable создаем Sales line…… Думаю, как делать Post всех документов уже легко догадаться --- c) и d)….. Здесь я не стала конечно переписывать код как в случае с Sales header и Sales line а сделала все гораздо проще хоть и там можно было сделать все аналогично Если нужно продолжу описание следующий раз 2 Как из Sales Order автоматически создать Purchase Order + Sales Order я думаю тоже должно быть понятно Вопросы ????? |
|