Умножние Значения Из Combobox

Тема в разделе "Lotus - Программирование", создана пользователем chz, 15 фев 2013.

Наш партнер Genesis Hackspace
  1. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Здравствуйте!
    Помогите пожалуйста с решением задачи.

    В лотусе есть база в которой есть страница на которой происходит выбор критерия и оценки для него (куча числовых комбобоксов на выбор от 1 до 5 - оценки)

    Задача следущая: нужно что бы после выбора этих оценок, и сохранения документа, при определенном критерии - все значения оценок увеличивались на определенный индекс, например умножались на 20.

    В идеале хотелось бы, что бы при выборе определенного критерия и сохранения все происходило автоматически, но я слишком не компетентен..)

    Есть еще один вариант, как мне кажется более простой - добавить на страницу оценки критерия кнопку с умножением на этот самый индекс, и при нажатии все оценки умножать, но и на этот вариант меня не хватает)

    Помогите пожалуйста.)
     
  2. Kizarek86

    Kizarek86 Well-Known Member
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Какая то странная схема)
    Если нужны некоторые итоги (вопрос где они выводятся?) почему там где они нужны и не умножать?
    Как вариант можно делать это при сохранении документ (после страницы получем же документ?)

    А вообще опишите полностью проблему/задачу.
    На первый взгляд абсолютно обычная задача, и непонятно что Вам мешает это реализовать.
     
  3. Мыш

    Мыш Well-Known Member
    Lotus team

    Регистрация:
    12 фев 2008
    Сообщения:
    1.023
    Симпатии:
    8
    Т.е., Вы хотите присаоить комбобоксу значение, которого изначально не было в списке?
    Тут все зависит от свойоств комбобокса - разрешены ли значения не из списка, используются ли синонимы...
     
  4. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Вы правы, моя вина, я должен был конкретнее все описать..

    Есть база "Оценки отделов", пользователь который выставляет эти оценки - заходит в базу, нажимает кнопку "Создать оценочный лист", появляется форма "Лист оценки" где пользователь выбирает отдел и критерий по которому хочет его оценить. Выбрал отдел,критерий - поставил оценку (например от 1 до 5), нажал сохранить. В итоге, эта оценка должна быть умножена на 20. Впринципи, не важно на каком этапе это будет реализованно...

    Все эти оценки потом видны на отдельном Viewe оценок...

    Сам я не могу сделать, так как я очень плохой программист...
     
  5. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Комбобоксы хранят текстовые данные!

    Например так (для комбобоксов - Combo_1 ... Combo_n)
    в Querysave формы:
    Dim index As Integer
    index = 20
    If Cint(Source.Document.Combo_1(0)) <= 5 Then Source.Document.Combo_1 = Cint(Source.Document.Combo_1(0))*index
    . . .
    If Cint(Source.Document.Combo_n(0)) <= 5 Then Source.Document.Combo_n = Cint(Source.Document.Combo_n(0))*index

    В свойствах комбобоксов - включить "Allow values not in list" (вторая закладка), что-бы измененные значения были видны в форме.
    "If ..." - что-бы не умножалось на index каждый раз при сохранении.
    Что-бы не было ошибок при сохранении надо:
    1 что-бы во всех комбобоксах было что-то выбрано (можно задать значение по умолчанию)
    2 или проверять комбобокс на не пустое значение
    3 или в первой строке в Querysave - "On Error Resume Next"
     
  6. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    большое спасибо!

    А можно еще как-нибудь привязать к отдельному критерию свой индекс для умножения?

    Поле критерий - это обычный текст бокс

    Например:

    если критерий равен "Критерий1" или в названии содержит "блаблабла" , то умножать на 20
    если критерий равен "Критерий2" или в названии содержит "блаблабла2" , то умножать на 15

    ?
     
  7. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Поле критерий - CriterionField
    On Error Resume Next
    Dim index As Integer
    Dim crit As String
    crit = Source.Document.CriterionField(0)
    if crit = "бла-1" then
    index = 15
    elseif crit = "бла-2" then
    index = 20
    . . . . . . .
    elseif crit = "бла-n" then
    index = 100
    endif
    If Cint(Source.Document.Combo_1(0)) <= 5 Then Source.Document.Combo_1 = Cint(Source.Document.Combo_1(0))*index
    . . .
    If Cint(Source.Document.Combo_n(0)) <= 5 Then Source.Document.Combo_n = Cint(Source.Document.Combo_n(0))*index


    Но лучше CriterionField задать синонимы т.е в Choises:
    бла-1|15
    . . . .
    бла-n|100

    тогда index = Cint(Source.Document.CriterionField(0))
     
  8. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    thanks ;D
     
  9. Kizarek86

    Kizarek86 Well-Known Member
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Я бы вообще это в представлении сделал.
    Сегодня критерий/коэффициент один, завтра другой. Что то изменилось надо данные пересчитать во всех документах...
     
  10. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Если бы Вы написали как, я был бы очень признателен...
     
  11. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    и еще такой впорос)
    для каждого критерия должен быть свой список в комбобоксе

    Например,

    Критерий 1 - Оценка (1,3,5)
    Критерий 2 - Оценка (1,2,3)
    Критерий 3 - Оценка (1,5)


    Как это можно реализовать?
     
  12. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Зависимые комбобоксы
     

    Вложения:

    • test.zip
      Размер файла:
      21,5 КБ
      Просмотров:
      4
  13. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Danke !)

    Позвольте еще мне понаглеть)

    У меня оценки из формы "Лист оценки" отображаются в View'e построчно, а колонки значит - год, квартал, месяц, отдел, критерий

    И по колонке месяц находит среднее значение, и по кварталу и по году так же среднее...

    Где это нарыть? Мне нужно изменить что бы была просто сумма значений...
     

    Вложения:

    • 123.jpg
      123.jpg
      Размер файла:
      149,9 КБ
      Просмотров:
      45
  14. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    Свойство колонки (35, 05 ...), вторая закладка - внизу Totals. Сменить "Average ..." на "Total"
     
  15. chz

    chz Member

    Регистрация:
    24 янв 2013
    Сообщения:
    8
    Симпатии:
    0
    Еще раз спасибо!
     
  16. alexas

    alexas Well-Known Member

    Регистрация:
    10 июн 2009
    Сообщения:
    215
    Симпатии:
    0
    C'est mon plaisir
     
  17. Kizarek86

    Kizarek86 Well-Known Member
    Lotus team

    Регистрация:
    20 июл 2007
    Сообщения:
    857
    Симпатии:
    5
    Дизайн представление, написать формулу в колонке.
     
Загрузка...

Поделиться этой страницей