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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.09.2011, 10:48   #1  
kudrenko is offline
kudrenko
Участник
 
17 / 10 (1) +
Регистрация: 11.11.2010
Ребят подскажите, пожалуйста, как можно решить указанную ниже проблему.
Изначально стояла задача сделать отчет по дебиторской задолженности Клиентов. С целью реализации данной задачи я создал форму, основанную на таблице Customer (при этом свойство SourceTableTemporary = Yes)и на этой же форме разместил SubForm-у, основанную на соответствующей реальной таблице (там отображается задолженности клиентов). Связь между формами осуществляется по Коду Клиента.
Отчет нормально работает и все бы ничего, но теперь нужно сделать в этой же форме точно такой же отчет, но по Поставщикам. И вот тут я столкнулся вот с какой проблемой - при попытке сохранить во временную таблицу Customer «Код Поставщика», например вот так:

Код:
Customer.”No.” := ‘Поставщик-1’;
Customer.INSERT;
Выдает ошибку следующего содержания: Клиент Но. ' Поставщик-1' не существует.
Перелопатил все свойства формы чтобы это «отключить», но безрезультатно. Получается, что во временную таблицу можно записывать только те Коды Клиентов, которые сохранены в реальной таблице (мне кажется, что это как-то неправильно…). Ребят, подскажите, пожалуйста, это можно как-то обойти?
Старый 20.09.2011, 11:09   #2  
zm is offline
zm
Участник
 
44 / 10 (1) +
Регистрация: 15.07.2003
Адрес: Латвия
А на какой реальной таблице основана в новом отчете SubForm?
Старый 20.09.2011, 11:27   #3  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
А рассчетных полей на форме у вас нет? Да и как вы обходите связь с сабформой, котрая идет по номеру клиента?

И вообще зачем вам все это на одной форме? Сделайте отдельно клиентов, отдельно - поставщиков
Старый 20.09.2011, 11:27   #4  
kudrenko is offline
kudrenko
Участник
 
17 / 10 (1) +
Регистрация: 11.11.2010
Цитата:
Сообщение от zma Посмотреть сообщение
А на какой реальной таблице основана в новом отчете SubForm?
На той же самой таблице, что и для Клиентов - ее я создавал сам.
В целях тестирования делал следующее в триггере главной формы Form - OnOpenForm():
Код:
"No." := 'КЛН-1';
INSERT;
Все замечательно отрабатывает, т.к. клиент 'КЛН-1' существует в реальной таблице.

При попытке сделать тоже самое, но с "Кодом Поставщика", появляется указанная выше ошибка.
Старый 20.09.2011, 11:36   #5  
kudrenko is offline
kudrenko
Участник
 
17 / 10 (1) +
Регистрация: 11.11.2010
Цитата:
Сообщение от Fordewind Посмотреть сообщение
А рассчетных полей на форме у вас нет? Да и как вы обходите связь с сабформой, котрая идет по номеру клиента?

И вообще зачем вам все это на одной форме? Сделайте отдельно клиентов, отдельно - поставщиков
Цитата:
А рассчетных полей на форме у вас нет?
Расчётных полей нет.
Цитата:
Да и как вы обходите связь с сабформой, котрая идет по номеру клиента?
Собственно вообще не вижу в этом проблему, т.к. указываем для сабформы свойство SubFormLink = "Customer No.=FIELD(No.)" ("Customer No." - это поле в таблице которая отображает задолженности клиента, а "No." это соответственно "Код Клиента" из временной таблицы Customer) и все замечательно работает.
Цитата:
И вообще зачем вам все это на одной форме? Сделайте отдельно клиентов, отдельно - поставщиков
Да, я бы и сам рад но:
1. Так поставлена задача
2. Пользователям так удобнее (хотя конечно спорно...)
Старый 20.09.2011, 11:52   #6  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
А таблица в сабформе тоже временная???

И главное: зачем она нужна самодельная? Только из-за универсальности? Чем не устраивает показ книги операций клиента/поставщика с фильтром по ненулевому остатку?

Сливать в одной форме и клиентов и поставщиков - я бы не стал в любом случае. На крайний случай - отчетец.
Делать пользователям точно так, как они просят - это значит не любить своих пользователей.
Старый 20.09.2011, 13:19   #7  
jopagames2 is offline
jopagames2
Участник
 
151 / 11 (1) +
Регистрация: 11.02.2010
Цитата:
Сообщение от kudrenko Посмотреть сообщение
Код:
Customer.”No.” := ‘Поставщик-1’;
Customer.INSERT;
Выдает ошибку следующего содержания: Клиент Но. ' Поставщик-1' не существует.
Ребят, подскажите, пожалуйста, это можно как-то обойти?
Интересно, а INSERT(FALSE) не помогает?
Старый 20.09.2011, 14:11   #8  
kudrenko is offline
kudrenko
Участник
 
17 / 10 (1) +
Регистрация: 11.11.2010
Цитата:
Интересно, а INSERT(FALSE) не помогает?
Неа, не помогает
Старый 20.09.2011, 14:34   #9  
kudrenko is offline
kudrenko
Участник
 
17 / 10 (1) +
Регистрация: 11.11.2010
Блин, я разобрался в чем было дело... Это я сам прогнал
Дело в том, что для поля "Customer No." у меня было установлено TableRelation = Customer.No - вот поэтому и выдавало указанную выше ошибку.
Ребят, извините, что понапрасну отвлек от дел... сорри!!!
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.