Перейти к содержимому


Условие для вычисления в шаблоне


Сообщений в теме: 8

#1 Жанночка

    Активный участник

  • Пользователи
  • PipPipPip
  • 48 сообщений
  • Пол:Женщина
  • Город:Усть-Илимск

Отправлено 21 Май 2014 - 03:47

Помогите пожалуйста правильно написать такое условие:
Нужно выводить итоговую сумму за вычетом сумм, оплаченных наличными и соответственно не входящими в общую сумму средств, переведенных для оплаты.
примерно так:
если {$Vid_otpravki}="оплачено наличиными" то {$Summa_K_oplate}-{$K_oplate} тех полей, где такой атрибут стоит иначе {$Summa_K_oplate}
я конечно как надо правильно описать не смогу, надеюсь на вашу помощь!
Короче я лох, надеюсь вы мне поможете!

#2 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 21 Май 2014 - 10:19

Если речь про итоговую сумму в шаблоне, то там вы ее не подсчитаете никак таким макаром, т.к. там невозможно в одном условии смешать итоговый результат из подвала со значениями полей из тела шаблона. Это все равно что ваш объем суммировать с длиной вашего тела (извиняюсь).

Вам нужно создать отдельное вычисляемое поле в таблице и там считать по каждой строке сумму за вычетом наличных. И затем выводить ее итог в подвале шаблона.

if ($line['Вид оплаты']=="оплачено наличиными") $line['К оплате без наличных'] = 0; else $line['К оплате без наличных'] = $line['К оплате'];


#3 Жанночка

    Активный участник

  • Пользователи
  • PipPipPip
  • 48 сообщений
  • Пол:Женщина
  • Город:Усть-Илимск

Отправлено 22 Май 2014 - 05:30

Я создала еще колонку "К оплате без наличных", в тело написала {$K_oplate_bez_nalichnyh}, в подвал {$Summa_K_oplate_bez_nalichnyh}
Создала отображение вычисления к оплате с вашей строкой, создала вычисление и теперь вообще даже к оплате считать не хочет!!! хотя раньше спокойно высчитывал это поле, формула работала исправно, теперь везде ставит по нулям, я уже все утро бьюсь и ничего не понимаю.
может быть что-то в отображении делаю не так, вот что у меня получилось:
if ($line['Тип заказа']=="Оплата наличными") $line['К оплате без наличных'] = 0; else $line['К оплате без наличных'] = $line['К оплате'];
поставила вычислять при условии: изменение поля - тип заказа, может еще какое-то условие добавить?
и как только я создаю это отображение, так сразу "к оплате" перестает работать, пробовала его удалить, тогда "к оплате" считает нормально.

Сообщение отредактировал Жанночка: 22 Май 2014 - 07:22

Короче я лох, надеюсь вы мне поможете!

#4 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 22 Май 2014 - 08:26

Цитата

поставила вычислять при условии: изменение поля - тип заказа

Лучше поставить событие на отображение - оно гарантировано подсчитает. Событие на изменение актуально больше для новых записей.

Цитата

и как только я создаю это отображение, так сразу "к оплате" перестает работать, пробовала его удалить, тогда "к оплате" считает нормально

Очень странно, т.к. это вычисление не должно влиять никак на поле "К оплате"...

#5 Жанночка

    Активный участник

  • Пользователи
  • PipPipPip
  • 48 сообщений
  • Пол:Женщина
  • Город:Усть-Илимск

Отправлено 22 Май 2014 - 10:19

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

Сообщение отредактировал Жанночка: 22 Май 2014 - 10:23

Короче я лох, надеюсь вы мне поможете!

#6 Жанночка

    Активный участник

  • Пользователи
  • PipPipPip
  • 48 сообщений
  • Пол:Женщина
  • Город:Усть-Илимск

Отправлено 23 Май 2014 - 05:32

Теперь вопрос, а как бы мне написать так вычисление еще одно, чтобы выдернуть ту сумму, которая идет как раз в оплате наличными,т.е.теперь моему начальнику захотелось. чтобы в отчете еще и писалось вот так:
<tr> <p style="text-align: right;">
<strong style="text-align: right;">Всего {$Summa_K_oplate} руб.</strong>
</p>
<p style="text-align: right;">
<strong style="text-align: right;">Получено наличными {сумма наличных} руб.</strong>
</p>
<p style="text-align: right;">
<strong style="text-align: right;">Итого за вычетом наличных {$Summa_K_oplate_bez_nalichnyh} руб.</strong>
</p></tr>

- этот вопрос снимается, это оказалось просто сделать, лишь создать соответствующее после с итоговой суммой и в конструкторе указать простое математическое действие - от суммы отнять сумму без наличных :)

Сообщение отредактировал Жанночка: 23 Май 2014 - 05:55

Короче я лох, надеюсь вы мне поможете!

#7 Жанночка

    Активный участник

  • Пользователи
  • PipPipPip
  • 48 сообщений
  • Пол:Женщина
  • Город:Усть-Илимск

Отправлено 23 Май 2014 - 05:35

Еще нужно сделать вычисление, чтобы если у заказа атрибут Тип заказ="мой заказ", то "к оплате"=0, т.е. со всеми другими атрибутами "к оплате" считается число, а с этим атрибутом оно не должно считаться.
а то я как обычно понимаю что нужно сделать. а как пока не могу додуматься.

- и этот вопрос снимается, сама додумалась, сделать такое условие if ($line['Тип заказа']=="Мой заказ") $line['К оплате'] = 0; else $line['К оплате'] = $line['К оплате']; и вставить его в вычисление "к оплате" с отображением на изменение поля "тип заказа"
ну разве я не молодец, шарю уже чуть-чуть :P

Сообщение отредактировал Жанночка: 23 Май 2014 - 07:13

Короче я лох, надеюсь вы мне поможете!

#8 CbCoder

    Активный участник

  • Программист ООО "КБ"
  • PipPipPip
  • 8 759 сообщений
  • Пол:Мужчина
  • Город:Казань

Отправлено 23 Май 2014 - 10:32

Цитата

этот вопрос снимается, это оказалось просто сделать, лишь создать соответствующее после с итоговой суммой и в конструкторе указать простое математическое действие - от суммы отнять сумму без наличных

Можно было еще проще, без создания поля: {$Summa_K_oplate - $Summa_K_oplate_bez_nalichnyh} прямо в шаблоне.


Цитата

ну разве я не молодец, шарю уже чуть-чуть :P


					
					<br />
					
				</div>
				
<script type= ipb.global.registerReputation( 'rep_post_23849', { domLikeStripId: 'like_post_23849', app: 'forums', type: 'pid', typeid: '23849' }, parseInt('0') );

#9 Жанночка

    Активный участник

  • Пользователи
  • PipPipPip
  • 48 сообщений
  • Пол:Женщина
  • Город:Усть-Илимск

Отправлено 23 Май 2014 - 11:06

:D
Короче я лох, надеюсь вы мне поможете!





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных