|
|
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
Добрый день, программисты! Столкнулся вот с какой проблемой. Есть запрос: |Период с ДатаНач" + ПериодПо + "; | |ВидМПЗ = Регистр.Партии.ВидМПЗ; |СчетУчета = Регистр.Партии.МПЗ; |МПЗ = Регистр.Партии.МПЗ; |Партия = Регистр.Партии.Партия; |Контрагент = Регистр.Партии.Владелец; |Качество = Регистр.Партии.Качество; |МестоХранения = Регистр.Партии.МестоХранения; |Заявка = Регистр.Партии.Заявка; |КодОперации = Регистр.Партии.КодОперации; |ТекДок = Регистр.Партии.ТекущийДокумент; |Количество = Регистр.Партии.Количество; |Сумма = Регистр.Партии.Сумма; |СуммаНУ = Регистр.Партии.СуммаНУ; |СуммаПР = Регистр.Партии.СуммаПР; |"; Хочется получить что-нибудь типа такого: |Период с ДатаНач" + ПериодПо + "; | |ВидМПЗ = Регистр.Партии.ВидМПЗ; |СчетУчета = Регистр.Партии.МПЗ; |МПЗ = Регистр.Партии.МПЗ; |Партия = Регистр.Партии.Партия; |Контрагент = Регистр.Партии.Владелец; |Качество = Регистр.Партии.Качество; |МестоХранения = Регистр.Партии.МестоХранения; |Заявка = Регистр.Партии.Заявка; |КодОперации = Регистр.Партии.КодОперации; |ТекДок = Регистр.Партии.ТекущийДокумент; |Количество = Регистр.Партии.Количество; |ВЫБОР КОГДА Регистр.Партии.СуммаУпр <> 0 ТОГДА Сумма = Регистр.Партии.СуммаУпр ИНАЧЕ Сумма = Регистр.Партии.Сумма; КОНЕЦ; |СуммаНУ = Регистр.Партии.СуммаНУ; |СуммаПР = Регистр.Партии.СуммаПР; |"; Но это, естественно, не 8.1, в семерке такого синтаксиса нет. А цель такая же: в первом запросе должно браться Регистр.Партии.СуммаУпр если оно не ноль, если же ноль, то просто Регистр.Партии.Сумма... Помогите кто чем сможет... Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 16:18 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
Хм, на сколько я помню, в 7 в качестве функции в запросах можно использовать функцию, реализованную на встроенном языке. т.е. Код: plaintext 1. 2. 3. И перед процедурой выполнения запроса определяете свою функцию Код: plaintext 1. 2. Но скорость работы такого метода прямо скажем не айс... куда проще сделать в запросе 2 ваших поля и при обходе в выборке просто сравнивать их... Вот как-то так... Поиграйтесь, мб что то и получится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 16:23 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ. Об обработке запроса при выводе я тоже думал, но проблема в том, что текст запроса очень здоровый, меняется в зависимости от кучи параметров, поэтому решил найти "халявный" способ :)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 16:29 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
есть опция когда сумма(количество) когда склад=мойсклад вроде как ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 16:42 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
Как я понимаю у вас там валютная сумма и обычная? Тогда спрашиваеться - зачем вы суммируете рубли+Доллары?... Или что-то не так записывали в регистр? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 20:40 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
вариант ещё с "когда" сумма1 = Сумма(парам) когда условие1 сумма2 = сумма(парам) когда условие2 а в выводе выводить (сорри за тавтологию) сумма1+сумма2... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.09.2009, 22:27 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, кто ответил! Может меня не так поняли, объясню тогда ситуацию поподробнее... Обе суммы рублевые. Я добавил в регистр "Партии" новый ресурс "СуммаУпр" (в конфе его не было). Работает как и обычный "Сумма", приходуется товар по суммеупр, потом списывает. СуммаУпр естественно отличается от Сумма. Заполнять СуммуУпр перепроведением документов за два года не представляется возможным :( Но хочу, чтобы при заполненном ресурсе (<> 0) запрос писал в поле именно его, в оставшихся случаях брал просто сумму. Глубже говоря, чтобы себестоимость товара выводилась с учетом заполненных "СуммаУпр". to Last1Cmen: При выводе "выводить" не получиться, потому что в запрос же считает итоги. Так вот хочу очень, чтобы таки в одно поле записывалась либо одна сумма, либо вторая :( Иначе потом в итогах не разобраться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 03:33 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
авторПри выводе "выводить" не получиться, потому что в запрос же считает итоги. получиться... ты в "когда" поставь проверку на равенство одной из сумм (пусть упр) на нуль и если оно таки нуль тогда суммируй простую по итогам если не нуль тогда упр (а простая нуль) а потом складывай и выводи суммой в сумму упр. :) а простую сумму отдельно считай как обычно (я так понял там как ходяли данные так и сейчас параллельно ходят) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 10:35 |
|
||
|
Язык запросов в 7.7. Есть ли замена "ВЫБОР КОГДА"?
|
|||
|---|---|---|---|
|
#18+
Хм, если параллельно ходят, то верное решение, спасибо! Сейчас попробую реализовать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.09.2009, 17:08 |
|
||
|
|

start [/forum/topic.php?fid=28&fpage=130&tid=1523262]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
96ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
26ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 393ms |

| 0 / 0 |
