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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.07.2003, 08:39   #1  
KuDm is offline
KuDm
Участник
 
18 / 10 (1) +
Регистрация: 04.07.2003
? Navision 3.60.03 Открыть документ одной фирмы из другой
Есть такая ситуация:
Две фирмы. Одна оптом продает другой товар. При учете документа продажи в одной фирме, автоматически создается и учитывается документ покупки в другой фирме. Ссылки при этом у этих документов друг на друга сохраняются. Заказчик желает находясь в любой из фирм, открыть связанный документ в другой фирме.
Я описывал переменную как таблицу заголовок (продажи/покупки), для этой таблицы делал ChangeCompany, потом переменной типа Forms применял SetRecord описанной таблице и запускал форму.
Открывается документ с нужным заголовком из другой фирмы, но табличная часть берется из текущей фирмы, причем не понятно по какому принципу...
Может кто-нибудь сталкивался с проблемой и подскажет что-нибудь.
Старый 21.07.2003, 10:50   #2  
Shm is offline
Shm
Участник
 
26 / 10 (1) +
Регистрация: 27.05.2003
Видимо для субформы, которая отображает строки документа тоже требуется команда CHANGECOMPANY.
Старый 21.07.2003, 12:33   #3  
Nataly is offline
Nataly
Участник
 
101 / 10 (1) +
Регистрация: 17.06.2003
Адрес: Екатеринбург
Точнее сказать, CHANGECOMPANY необходимо сделать для таблицы, в которой хранятся строки документа (вообще документ есть совокупность записи из таблицы заголовков и записей из таблицы строк). При продажи это таблица Sales Line, при покупке - Purchase Line.
Старый 21.07.2003, 18:23   #4  
KuDm is offline
KuDm
Участник
 
18 / 10 (1) +
Регистрация: 04.07.2003
Я выполнял ChangeCompany и для таблицы со строками документа. Но результат нулевой... При вызове формы, в качестве параметров можно передать только одну таблицу... Я передаю заголовок. Для него тоже делаю ChangeCompany. Для таблицы в субформе - тоже. Но при открытии - заголовок береться из нужной компании, а субформа заполняется из текущей... Получается бред. Вообщето задача сводится к тому, что бы открыть документ продажи/покупки компании № 2, находясь в компании № 1. Помогите!!!
Или так:
К таблице можно применить ChangeCompany. А как потом у таблицы можно прочитать к какой компании она применена? Если прочитать у заголовка формы имя компании, то для субформы ее изменить не сложно...
Старый 22.07.2003, 10:00   #5  
Grizzly is offline
Grizzly
Участник
 
85 / 10 (1) +
Регистрация: 30.01.2003
Адрес: Омск
Что бы по заказу отображались не только заголовок, но и строки нужной фирмы сделать можно. И это не сложно. Но путь этот тупиковый. Из любого заказа пользователь может получить доступ практически ко всем данным системы, на которые ему даны права (например, через справочник поставщиков и покупателей, далее учтенные операции и т.д.). Для какой компании нужно будет открывать все эти формы и отчеты? Как пользователь будет их различать?

Для начала нужно ответить на вопрос: "Для чего это нужно?" Если для того чтобы пользователю дать возможность получить информацию о связанном заказе, то лучше это сделать через отчет. Если выполнить какую-нибудь функцию, то существует множество вариантов как это сделать, но для этого опять же не обязательно открывать форму такого заказа. Если же вы хотите предоставить пользователю полную функциональность по одновременной работе с несколькими (в данном случае - с двумя) компаниями, то вас ждет большая работа.
Старый 22.07.2003, 10:13   #6  
Shm is offline
Shm
Участник
 
26 / 10 (1) +
Регистрация: 27.05.2003
Вот так оно работает:
- в субформе заказа добавляется функция
ChangeCompany(CompanyName : Text[50])
IF NOT CHANGECOMPANY(CompanyName) THEN ERROR('Error');
- в форме заказа добавляется
глобальная переменная
CompanyName Text 50
функция
ChangeCompany(lCompanyName : Text[50])
CompanyName := lCompanyName;
в триггер OnOpenForm()
if CompanyName <> '' then begin
IF NOT CHANGECOMPANY(CompanyName) THEN ERROR('Error');
CurrForm.SalesLines.FORM.ChangeCompany(CompanyName);
end;


Для того, чтобы все это заработало, объявляется переменная
SF Form Sales Order
вызывается функция
SF.ChangeCompany('Фирма 1')
SF.RUN;

Но это еще не самое страшное, все переменные в данной форме продолжают смотреть на текущую фирму. Когда вскроются все подводные камни, Вы откажетесь от такой идеи
Вот и все.
Если не секрет, то как реализован автоматический учет в другой фирме?
Старый 22.07.2003, 15:22   #7  
KuDm is offline
KuDm
Участник
 
18 / 10 (1) +
Регистрация: 04.07.2003
Вот так оно работает:
- в субформе заказа добавляется функция
ChangeCompany(CompanyName : Text[50])
IF NOT CHANGECOMPANY(CompanyName) THEN ERROR('Error');
- в форме заказа добавляется .........
--------------------------------------------------------------------------------------------------

Спасибо... Это я попробую...

На счет учета:
Создание самого документа, наверно вопросов не вызывает. А вот на счет его учета - взял на вооружение способ предложенный в этом же форуме (вот и ссылка:
http://www.axforum.info/forums/showth...=&threadid=2460 где-то с середины топика)
Старый 22.07.2003, 17:07   #8  
Shm is offline
Shm
Участник
 
26 / 10 (1) +
Регистрация: 27.05.2003
Цитата:
Изначально опубликовано KuDm
http://www.axforum.info/forums/showth...=&threadid=2460 где-то с середины топика)
Спасибо за ссылку, хотя над многоточием пришлось поработать .
Посмотрел на свой код и нашел ошибки, а вернее конфликты имен.
Переменную CompanyName и функции ChangeCompany
придется "переобозвать".
Старый 22.08.2003, 17:20   #9  
DID is offline
DID
Участник
 
6 / 10 (1) +
Регистрация: 22.08.2003
Адрес: Moscow
Lightbulb HYPERLINK
Обратите внимание на метод HYPERLINK
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вызов функций одной формы из другой Greggy NAV: Программирование 3 26.01.2005 12:36
Navision 3.60.03 Среда разработки KuDm NAV: Программирование 8 13.07.2004 17:46
Merge Wizard navision developer's toolkit 1.03 Alex_V NAV: Программирование 11 17.05.2004 11:58
Товарные кредиты. Navision 3.60 KuDm NAV: Функционал 1 09.07.2003 20:32
Navision 3.60 Учет документа одной фирмы из другой фирмы KuDm NAV: Функционал 1 04.07.2003 13:54

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:31.