|
v7: Двойной клик на названии документа Ø (длинная ветка 15.03.2013 14:57) | ☑ | ||
---|---|---|---|---|
0
bananan
27.02.13
✎
18:55
|
Запрос такой:
|SELECT | DocNo, | Жур.IDDOC as [Док $Документ], | Жур.IDDOCDEF as Док_вид |FROM _1SJourn as Жур (nolock) | WHERE Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ | AND Жур.IdDocDef in ($ВидДокумента.РасходнаяНакладная, $ВидДокумента.РасходнаяНакладнаяН) |"; данные которые он возвращает попадают в ТаблицаЗначений, в Таблицу беру данные из ТаблицыЗначений, так вот курсор мыши "крест" ну и двойной клик на документе не открывате документ. По поводу таблицы код тако: ТЗ = Запрос.ВыполнитьИнструкцию(ТекстЗапроса); ТЗ.ВыбратьСтроки(); Вопрос(ТЗ.КоличествоСтрок()); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица1"); Таб.ВывестиСекцию("Шапка"); Таб.Опции(0,0,Таб.ВысотаТаблицы()); Пока(ТЗ.ПолучитьСтроку()=1) Цикл Таб.ВывестиСекцию("Документ"); КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Защита(0); ; Таб.Показать("Журнал-документов: ("+ПериодСтр(ДатаС, ДатаПо)+")", ); Чего нехватает в этом коде, чтобы по двойному клику документ открывался?: |
|||
903
bananan
11.03.13
✎
14:22
|
а Конт.ТМЦ.ПолучитьАтрибут("Цена"+Число(Прав(кат.Идентификатор(),1))); - здесь видимо нужно получить атрибут Цена1..Цена9 из документа...
Что-то я опять запутался... |
|||
904
bananan
11.03.13
✎
14:26
|
(902) Может быть, точно - не помню,
У меня такой подход к задаче, я вот уже 7-й год на фрииласне побрабатываю, правда, в это году - ниодного задания на фрилансе не брал. Так вот мнре конфортно работается когда у меня есть две-три задачи разного плана... С одной задачей зашел в тупик; - переклюбчился на другую, потом на третьтю, и т.д. Вполне возможно что такой подход к работе НЕПРАВИЛЬНЫЙ но он мне помагает... Вот с той поры как я работаю на этой фирме с 1С (а 1С мне всегда почему-то туго давалось) у меня паралельно нзадача написать программу на Делфи. С програмоой на делфи - она уже на 99% процентов готова, (надо чуть подправить выравнивание граф. объектов при печати на принтер и сделать сохранение ини-файла "Сохранить КАк".. |
|||
905
bananan
11.03.13
✎
14:32
|
+ А вообще почти все обо мне вы можете посмотрерть на моей страничке в Одноклассниках (Мыкола Баланов)- милости прошу...
|
|||
906
viktor_vv
11.03.13
✎
14:42
|
(903) Ищи раньше советы с CASE .
|
|||
907
bananan
11.03.13
✎
14:51
|
(906) Спасибо, поищу...
|
|||
908
Wobland
11.03.13
✎
14:55
|
а я даже по меньшей мере дважды что-то про кейс говорил..
|
|||
909
sapphire
11.03.13
✎
14:56
|
(901) Долбобей, если минцена равна нулю, чему будет значение минцена после этой операции:
минцена=минцена*(1+Конт.ТМЦ.СтавкаНДС.Ставка.Получить(Конт.ДатаДок)); |
|||
910
sapphire
11.03.13
✎
14:57
|
(906) (908) Там не кейс нужен :))))))))
Но, Долбобею всё равно.... |
|||
911
bananan
11.03.13
✎
15:13
|
(909) в этом случае она будет равна нулю
(910) А что там нужно (908) По поводу кейсов в даной ветке нашел три сообщения: case when $Канал.КатегорияЦены=$Перечисление.ТипыЦен.1 then $Док.ТипЦен1 when $Канал.КатегорияЦены=$Перечисление.ТипыЦен.2 then $Док.ТипЦен2 end -- -- | (case $Канал.КатегорияЦены | when $Перечисление.ТипыЦен.1 then Coalesce(ДокС.ТипЦен1, $ДокН.ТипЦен1 ) | when $Перечисление.ТипыЦен.2 then Coalesce(ДокС.ТипЦен2, $ДокН.ТипЦен2 ) | when $Перечисление.ТипыЦен.3 then Coalesce(ДокС.ТипЦен3, $ДокН.ТипЦен3 ) | when $Перечисление.ТипыЦен.4 then Coalesce(ДокС.ТипЦен4, $ДокН.ТипЦен4 ) | when $Перечисление.ТипыЦен.5 then Coalesce(ДокС.ТипЦен5, $ДокН.ТипЦен5 ) | when $Перечисление.ТипыЦен.6 then Coalesce(ДокС.ТипЦен6, $ДокН.ТипЦен6 ) | when $Перечисление.ТипыЦен.7 then Coalesce(ДокС.ТипЦен7, $ДокН.ТипЦен7 ) | when $Перечисление.ТипыЦен.8 then Coalesce(ДокС.ТипЦен8, $ДокН.ТипЦен8 ) | ELSE Coalesce(ДокС.ТипЦен9, $ДокН.ТипЦен9 END) КатегорияЦены -- --- | , ЦенаПоКатегории=(case when $Канал.КатегорияЦены=$Перечисление.ТипыЦен.Категория1 then $ПоследнееЗначение.ТМЦ.Цена1(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) | when $Канал.КатегорияЦены=$Перечисление.ТипыЦен.Категория2 then $ПоследнееЗначение.ТМЦ.Цена2(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Из этих трех мне нравится больше первое... Но, сейчас буду пробывать... |
|||
912
viktor_vv
11.03.13
✎
15:17
|
(910) Кейс, кейс, у него от категории цены из разных реквизитов ТМЦ цена расчетная берется, потом ее сравнивает с ценой в документе.
Конт.ТМЦ.ПолучитьАтрибут("Цена"+Число(Прав(кат.Идентификатор(),1))); |
|||
913
viktor_vv
11.03.13
✎
15:18
|
(912)+ А категория в каждом документе может быть разная.
|
|||
914
bananan
11.03.13
✎
15:36
|
(912, 913) конечно в каждом доументе может быть своя категория
И что с того вот здесь я не понимаю... |
|||
915
bananan
11.03.13
✎
15:51
|
Я тут вот чего намудрил:
| (case $Канал.КатегорияЦены | when $Перечисление.ТипыЦен.Категория1 then Coalesce(ДокС.ТипЦен1, $ДокН.ТипЦен1 ) | when $Перечисление.ТипыЦен.Категория2 then Coalesce(ДокС.ТипЦен2, $ДокН.ТипЦен2 ) | when $Перечисление.ТипыЦен.Категория3 then Coalesce(ДокС.ТипЦен3, $ДокН.ТипЦен3 ) | when $Перечисление.ТипыЦен.Категория4 then Coalesce(ДокС.ТипЦен4, $ДокН.ТипЦен4 ) | when $Перечисление.ТипыЦен.Категория5 then Coalesce(ДокС.ТипЦен5, $ДокН.ТипЦен5 ) | when $Перечисление.ТипыЦен.Категория6 then Coalesce(ДокС.ТипЦен6, $ДокН.ТипЦен6 ) | when $Перечисление.ТипыЦен.Категория7 then Coalesce(ДокС.ТипЦен7, $ДокН.ТипЦен7 ) | when $Перечисление.ТипыЦен.Категория8 then Coalesce(ДокС.ТипЦен8, $ДокН.ТипЦен8 ) | ELSE Coalesce(ДокС.ТипЦен9, $ДокН.ТипЦен9 END) КатегорияЦены ну и ясен пень, не пропускает: Meta name parser error: неизвестное метаимя или алиас "$Канал" Сейчас еще раз попробую сам разобраться, если не разберусь - то отправлю... ляп нашел я неправильно написал имя алиаса, но все0рвано еще один ляп.. выдает: Meta name parser error: поле таблицы не найдено "$ДокН.ТипЦен1" Посмотрел я в документе там одно поле ТипЦен, т.е. Надо выбирать если у данного документа ТипЦен равен типу цен из канала доставки... Как это в запросе написать? |
|||
916
Mikeware
11.03.13
✎
15:51
|
(904) какой нахрен "фриланс"!!
Тебе только на сцене яйцами трясти, да и то, если хирург тебе не помогал... |
|||
917
Mikeware
11.03.13
✎
15:52
|
(915) феерично...
|
|||
918
bananan
11.03.13
✎
15:54
|
(916) Тебе их цюрюпинска виднее
|
|||
919
bananan
11.03.13
✎
15:56
|
(916) Ну а здесь уж от ориентации зависит, нормальные люди смотря балет, а некоторые - на яйца глядят
|
|||
920
viktor_vv
11.03.13
✎
15:57
|
(917) Скорее хореографично :)).
(915) Ты ж только на прошлой странице с этим каналом работал, неужто забыл какой у тебя псевдоним таблицы справочника. |
|||
921
Mikeware
11.03.13
✎
15:58
|
(920) "К-анал" :-))
|
|||
922
viktor_vv
11.03.13
✎
15:59
|
(920)+ Ну и до кучи напуркуа тебе эти
Coalesce(ДокС.ТипЦен8, $ДокН.ТипЦен8 ) Опять же на прошлой страице у тебя есть получение цены из реквизита справочника. |
|||
923
viktor_vv
11.03.13
✎
16:01
|
Осталось только скомпоновать правильно конкструкции.
|
|||
924
bananan
11.03.13
✎
16:02
|
(922) Не помндю, но вроде надо... Написал так:
|from ( | SELECT | Жур.IDDoc as IDDoc | , Жур.IdDocDef as IdDocDef | , isnull($ДокС.ТМЦ, $ДокН.ТМЦ) as ТМЦ | , isnull(ДокС.lineno_, ДокН.lineno_) lineno_ | , isnull($ДокС.Кво*$ДокС.Коэффициент, $ДокН.Кво*$ДокН.Коэффициент) Количество | , isnull($ДокС.СуммаСНДС, $ДокН.СуммаСНДС) СуммаСНДС | , isnull($ДокШН.Доставка, $ДокШ.Доставка) as Доставка | , isnull($ДокШ.ТипЦен, $ДокШН.ТипЦен) ТипЦен | , $Доставка.КаналСбытаТТ as КаналСбыта | , $КаналСбыта.КатегорияЦены as КатегорияЦены | , $ПоследнееЗначение.ТМЦ.Цена1(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена1 | , $ПоследнееЗначение.ТМЦ.Цена2(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена2 | , $ПоследнееЗначение.ТМЦ.Цена3(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена3 | , $ПоследнееЗначение.ТМЦ.Цена4(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена4 | , $ПоследнееЗначение.ТМЦ.Цена5(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена5 | , $ПоследнееЗначение.ТМЦ.Цена6(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена6 | , $ПоследнееЗначение.ТМЦ.Цена7(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена7 | , $ПоследнееЗначение.ТМЦ.Цена8(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена8 | , $ПоследнееЗначение.ТМЦ.Цена9(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена9 | , $ПоследнееЗначение.ТМЦ.Цена_Прих(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена_Прих | , $ПоследнееЗначение.ВидыНалогов.Ставка($ТМЦ.СтавкаНДС, cast(left(Жур.date_time_iddoc,8) as datetime)) Ставка | , $ОбщийРеквизит.Автор as Автор | (case $КаналСбыта.КатегорияЦены | when $Перечисление.ТипыЦен.Категория1 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория2 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория3 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория4 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория5 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория6 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория7 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория8 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | ELSE Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен END) КатегорияЦены | FROM _1SJourn as Жур (nolock) | Left join $ДокументСтроки.РасходнаяНакладная as ДокС (nolock) on ДокС.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладная | Left join $ДокументСтроки.РасходнаяНакладнаяН as ДокН (nolock) on ДокН.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладнаяН | Left join $Документ.РасходнаяНакладная as ДокШ (nolock) on ДокШ.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладная | Left join $Документ.РасходнаяНакладнаяН as ДокШН (nolock) on ДокШН.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладнаяН | left join $Справочник.ТМЦ ТМЦ (nolock) on ТМЦ.id = isnull($ДокС.ТМЦ, $ДокН.ТМЦ) | left join $Справочник.Доставка Доставка (nolock) on Доставка.id = isnull($ДокШ.Доставка, $ДокШН.Доставка) | left join $Справочник.КаналыСбыта КаналСбыта (nolock) on КаналСбыта.id = $Доставка.КаналСбытаТТ | WHERE Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ | AND Жур.IdDocDef in ($ВидДокумента.РасходнаяНакладная, $ВидДокумента.РасходнаяНакладнаяН) |) Данные |WHERE Данные.Цена5=0 OR Данные.Цена7=0 Выдает: Incorrect syntax near '('. Где я там скобку не открыл или не закрыл? |
|||
926
viktor_vv
11.03.13
✎
16:03
|
(915) Не дочитал.
Вот это в условие Where Надо выбирать если у данного документа ТипЦен равен типу цен из канала доставки... |
|||
927
viktor_vv
11.03.13
✎
16:04
|
(925) Как-то грубовато получилось, не хореографично.
|
|||
928
bananan
11.03.13
✎
16:07
|
(925) Грубовато, не спорю, но - какой вопрос - такой ответ...
|
|||
929
pav007
11.03.13
✎
16:08
|
(915) помоему этот пример был написан в начале прошлой недели -так и не продвинулись:)
ELSE Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен END) "вот здесь ещё одна скобка нужна )" |
|||
930
bananan
11.03.13
✎
16:08
|
(927) А поповоду словия...
| (case $КаналСбыта.КатегорияЦены | when $Перечисление.ТипыЦен.Категория1 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория2 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория3 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория4 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория5 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория6 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория7 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория8 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | ELSE Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен END) КатегорияЦены здесь я устанавливаю категориб цены, а в вера что делать... Блин, опять запутался |
|||
931
Mikeware
11.03.13
✎
16:10
|
(927) ну почему же... как настоящий "хореограф", он знает "места охоты за яйцами" :-)
|
|||
932
bananan
11.03.13
✎
16:10
|
(929) исправил как ты советуещшь:
| ELSE Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен END)) КатегорияЦены Ве-равно: : Incorrect syntax near '('. |
|||
934
pav007
11.03.13
✎
16:14
|
(932) запятую перед кейсом
|
|||
935
sapphire
11.03.13
✎
16:17
|
(933) Долбобей, прочитай, ЧТО ТЫ НАПИСАЛ:
Когда категория цены канала сбыта равна какой-то категории тогда выбери не пустой тип цен из шапки документов... И что это дает? Это как из Бахмача в Конотоп или Шостку через Жмеринку.... |
|||
936
pav007
11.03.13
✎
16:19
|
Похоже на формулу расчёты цены на газ
|
|||
937
viktor_vv
11.03.13
✎
16:21
|
(930) Ты не тот CASE нашел.
Для сравнения категории цены в канале сбыта и документе не надо никаких CASE. В (912) Я не то имел ввиду. |
|||
938
Mikeware
11.03.13
✎
16:22
|
(935) да нихрена он не понимает, что написал...
НИ_ХРЕ_НА! копипастит тупо, и местами переставляет... |
|||
939
sapphire
11.03.13
✎
16:22
|
(930) Долбобей, тебе надо получить следующее:
соответствие Перечисление.ТипыЦен.Категория{N} - идентификатору истории реквизита Цена{N} |
|||
940
Mikeware
11.03.13
✎
16:23
|
(939) об этом еще в предыдущей ветке речь шла...
|
|||
941
viktor_vv
11.03.13
✎
16:23
|
(936) Бери круче, это скорее расчет траетории полета на Марс.
|
|||
942
bananan
11.03.13
✎
16:23
|
(934) поставил запятую перед кейсом...
выдает Incorrect syntax near the keyword 'END'. |
|||
943
sapphire
11.03.13
✎
16:24
|
(940) Ты еще предложи ему динамический текст запроса отладить :)))))))
|
|||
944
Mikeware
11.03.13
✎
16:24
|
(942) млять, даже в дельфях используются скобки и операторные скобки!
|
|||
945
Mikeware
11.03.13
✎
16:25
|
(943) я, конечно, иппанутый, но не до такой степени...
|
|||
946
sapphire
11.03.13
✎
16:25
|
(942) Долбобей, на лови, ругатся не будет, но толку от этой галиматьи никакого :
| (case $КаналСбыта.КатегорияЦены | when $Перечисление.ТипыЦен.Категория1 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория2 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория3 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория4 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория5 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория6 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория7 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория8 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | ELSE Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен) END) КатегорияЦены |
|||
947
sapphire
11.03.13
✎
16:26
|
(944) Это же Долбобей, ему простительно
|
|||
948
bananan
11.03.13
✎
16:28
|
(946) поймал - ругается:
Line 155: Incorrect syntax near '('. |
|||
949
sapphire
11.03.13
✎
16:29
|
Давайте, кто первый предложит ему рулезный case....
И кто поможет Долбобею написать скалярный запрос к _1SCONST на получение цены.... |
|||
950
viktor_vv
11.03.13
✎
16:29
|
(946) Наивный :), у него будет, такой псевдоним уже есть в запросе.
|
|||
951
sapphire
11.03.13
✎
16:30
|
(950) Ну, там не только в по-именовании дело-то...
Можно еще Долбобеюшке задать вопрос за что он так не любит таблицу ДокШ... |
|||
952
viktor_vv
11.03.13
✎
16:32
|
(951) До этого вряд ли дойдет, тут бы с запятыми разобраться :).
|
|||
953
sapphire
11.03.13
✎
16:33
|
(948)
| ,(case $КаналСбыта.КатегорияЦены | when $Перечисление.ТипыЦен.Категория1 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория2 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория3 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория4 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория5 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория6 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория7 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория8 then Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен ) | ELSE Coalesce(ДокШ.ТипЦен, $ДокШН.ТипЦен) END) КатегорияЦены |
|||
954
sapphire
11.03.13
✎
16:33
|
(952) Так, да? :))))
|
|||
955
viktor_vv
11.03.13
✎
16:34
|
(954) :)).
|
|||
956
sapphire
11.03.13
✎
16:35
|
(955) Все равно код долбобейский...
|
|||
957
pav007
11.03.13
✎
16:38
|
думаю что ТС сегодня догадается что этот кейс
и , isnull($ДокШ.ТипЦен, $ДокШН.ТипЦен) ТипЦен одно и тоже |
|||
958
bananan
11.03.13
✎
16:39
|
(954) про \де так но все равно:
Invalid column name 'ТипЦен'. это уже буду завтра искать, чтото заболел я до встречи |
|||
959
viktor_vv
11.03.13
✎
16:42
|
(956) Да понятно.
(957) Сразу видно, что ты новенький в этом сериале. |
|||
960
sapphire
11.03.13
✎
16:42
|
(958) Долбобей, ты читать умеешь?
в (951) я тебе писал : Можно еще Долбобеюшке задать вопрос за что он так не любит таблицу ДокШ... | ,(case $КаналСбыта.КатегорияЦены | when $Перечисление.ТипыЦен.Категория1 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория2 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория3 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория4 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория5 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория6 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория7 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | when $Перечисление.ТипыЦен.Категория8 then Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен ) | ELSE Coalesce($ДокШ.ТипЦен, $ДокШН.ТипЦен) END) КатегорияЦены |
|||
961
sapphire
11.03.13
✎
16:44
|
(957) учись, ему надо сразу как в (960), что бы перепастил в код и усе...
|
|||
962
batman69
11.03.13
✎
16:50
|
Ну, что - сегодня до 1000?
|
|||
963
sapphire
11.03.13
✎
16:51
|
(962) Запросто.... Вот догадайся зачем нужен огород как в (953) ?
|
|||
964
batman69
11.03.13
✎
16:52
|
(963) И зачем ?
|
|||
965
sapphire
11.03.13
✎
16:55
|
(964) Ну сам-то код, ясно-красно ...
Так вот ему надо потом для категории цены X использовать последнее значение соответствующего периодического реквизита "ЦенаX" справочника ТМЦ... |
|||
966
sapphire
11.03.13
✎
16:57
|
(965) Но, на самом деле case там скорее костыль нежели необходимость, просто Долбобеюшка не писарь, а копипастер и ждёть де ему на блюдечке, с голубой каемочкой....
|
|||
967
batman69
11.03.13
✎
17:02
|
Ну, и дожидается таки, вот ведь...
|
|||
968
Mikeware
11.03.13
✎
17:07
|
(967) Авоткуй!®
|
|||
969
Cthulhu
11.03.13
✎
17:09
|
b yt ytljtcn ;t dfv dhtvz yf f,cjk.nyj atthbxyjuj ljk,jt,f hfnbnm///
|
|||
970
batman69
11.03.13
✎
17:11
|
(968) Всегда дожидался )))
|
|||
971
batman69
11.03.13
✎
17:12
|
Есть предложение, что бы не кормить балбесов - "съесть" ветку, всего 29 постов осталось ))
|
|||
972
Mikeware
11.03.13
✎
17:12
|
(971) новую заведет. делов то...
|
|||
973
batman69
11.03.13
✎
17:13
|
Ну это может. Легко.
|
|||
974
sapphire
11.03.13
✎
17:42
|
Долбобеюшка не поймёт зело сложно, но, как-то такъ:
|SELECT | Запрос.* | ,cast(SELECT TOP 1 .История Value FROM _1SCONST История(NOLOCK) WHERE История.OBJID=Запрос.ТМЦ AND История.ID=Запрос.ИдентификаторИсторииЦены AND История.DATE<=Запрос.ДатаДок ORDER BY История.DATE DESC) as numeric(10,2)) ЦенаДляКаналаСбыта |FROM |( | SELECT | Жур.IDDoc as IDDoc | , Жур.IdDocDef as IdDocDef | , isnull($ДокС.ТМЦ, $ДокН.ТМЦ) as ТМЦ | , isnull(ДокС.lineno_, ДокН.lineno_) lineno_ | , isnull($ДокС.Кво*$ДокС.Коэффициент, $ДокН.Кво*$ДокН.Коэффициент) Количество | , isnull($ДокС.СуммаСНДС, $ДокН.СуммаСНДС) СуммаСНДС | , isnull($ДокШН.Доставка, $ДокШ.Доставка) as Доставка | , isnull($ДокШ.ТипЦен, $ДокШН.ТипЦен) ТипЦен | , $Доставка.КаналСбытаТТ as КаналСбыта | , $КаналСбыта.КатегорияЦены as КатегорияЦены | ,cast(left(Жур.date_time_iddoc,8) as datetime) ДатаДок | , $ПоследнееЗначение.ТМЦ.Цена_Прих(ТМЦ.id, cast(left(Жур.date_time_iddoc,8) as datetime)) Цена_Прих | , $ОбщийРеквизит.Автор as Автор | , case $КаналСбыта.КатегорияЦены | when $Перечисление.ТипыЦен.Категория1 then $ИсторияРеквизита.ТМЦ.Цена1 | when $Перечисление.ТипыЦен.Категория2 then $ИсторияРеквизита.ТМЦ.Цена2 | when $Перечисление.ТипыЦен.Категория3 then $ИсторияРеквизита.ТМЦ.Цена3 | when $Перечисление.ТипыЦен.Категория4 then $ИсторияРеквизита.ТМЦ.Цена4 | when $Перечисление.ТипыЦен.Категория5 then $ИсторияРеквизита.ТМЦ.Цена5 | when $Перечисление.ТипыЦен.Категория6 then $ИсторияРеквизита.ТМЦ.Цена6 | when $Перечисление.ТипыЦен.Категория7 then $ИсторияРеквизита.ТМЦ.Цена7 | when $Перечисление.ТипыЦен.Категория8 then $ИсторияРеквизита.ТМЦ.Цена8 | when $Перечисление.ТипыЦен.Категория9 then $ИсторияРеквизита.ТМЦ.Цена9 | ELSE ' ' ИдентификаторИсторииЦены | FROM _1SJourn as Жур (nolock) | Left join $ДокументСтроки.РасходнаяНакладная as ДокС (nolock) on ДокС.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладная | Left join $ДокументСтроки.РасходнаяНакладнаяН as ДокН (nolock) on ДокН.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладнаяН | Left join $Документ.РасходнаяНакладная as ДокШ (nolock) on ДокШ.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладная | Left join $Документ.РасходнаяНакладнаяН as ДокШН (nolock) on ДокШН.iddoc = Жур.iddoc and Жур.IdDocDef = $ВидДокумента.РасходнаяНакладнаяН | left join $Справочник.ТМЦ ТМЦ (nolock) on ТМЦ.id = isnull($ДокС.ТМЦ, $ДокН.ТМЦ) | left join $Справочник.Доставка Доставка (nolock) on Доставка.id = isnull($ДокШ.Доставка, $ДокШН.Доставка) | left join $Справочник.КаналыСбыта КаналСбыта (nolock) on КаналСбыта.id = $Доставка.КаналСбытаТТ | WHERE Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ | AND Жур.IdDocDef in ($ВидДокумента.РасходнаяНакладная, $ВидДокумента.РасходнаяНакладнаяН) | ) Запрос | |
|||
975
sapphire
11.03.13
✎
17:46
|
Очепяточко Долбобеюшка пусть уж сам исправит....
|
|||
976
Privalov
13.03.13
✎
13:21
|
Что-то пропал bananan
|
|||
977
Wobland
13.03.13
✎
13:27
|
может, у него всё хорошо. вот вернётся через неделю и покажет нам кузькину эм.. рабочий запрос
|
|||
978
sapphire
13.03.13
✎
13:30
|
(976) (977) Может учится, штудирует, так сказать, матчасть, бухает короче :)
|
|||
979
Wobland
13.03.13
✎
13:31
|
без него и тыщу делать неловко как-то.. с другой стороны (0) исчерпан вроде и давно
|
|||
980
Privalov
13.03.13
✎
13:32
|
Тыща была бы логична..
|
|||
981
Privalov
13.03.13
✎
13:33
|
А вдруг его того... ну заменили другим bananan, а он умный?
|
|||
982
sapphire
14.03.13
✎
09:58
|
(981) Кто же нас веселить в таком разе будет?
|
|||
983
Wobland
15.03.13
✎
14:16
|
раз автор не хочет глупые вопросы задавать, задам я.
помните, хвастался своим запросом? теперь придумал сделать его на восьмёрке к внешнему источнику данных. как бы "обзапросить" вот это "AND ЖурО.Closed&1=1"? |
|||
984
Wobland
15.03.13
✎
14:17
|
и SUBSTRING(ЖурО.Date_Time_IDDoc, 1, 8) BETWEEN &ДатаНачала AND &ДатаОкончания будет работать при Запрос.УстановитьПараметр("ДатаНачала", "20130314") ?
|
|||
985
Mikeware
15.03.13
✎
14:25
|
(983) чиво?
|
|||
986
Wobland
15.03.13
✎
14:27
|
(985) как запрос к семёрочному источнику сделать?
не знает восьмёрка битовых умножений. как проведённость в условии задать? |
|||
987
Wobland
15.03.13
✎
14:28
|
запрос работал 270 секунд, что-то выдал за 14е марта... условие про дата между, похоже, работает
|
|||
988
Mikeware
15.03.13
✎
14:31
|
(986) последняя единичка - это вроде проведение по оперучету
если семерка - только оперучет - можно =1 ну или попробуй =1 или=3 или=5 или=7, трех битовдолжно хватить... датаначала="20130314" датаокончания="20130314Z" |
|||
989
Wobland
15.03.13
✎
14:33
|
>семерка - только оперучет
не знаю точно, о чём это. компоненты установлены все три. да и неважно. 1, 3, 5, 7 - так и сделаю, пасиб |
|||
990
Wobland
15.03.13
✎
14:36
|
эх, не умею я как автор. со мной мы до тыщи не дотянем ;)
|
|||
991
Wobland
15.03.13
✎
14:37
|
"=1 или=3 или=5 или=7"
а где это писать? в какое место вставлять? |
|||
992
Wobland
15.03.13
✎
14:44
|
(991) поручики молчать!
|
|||
993
Mikeware
15.03.13
✎
14:45
|
(ЖурО.Closed=1) или (ЖурО.Closed=3) или...
|
|||
994
Wobland
15.03.13
✎
14:46
|
ожидается выражение ")"
| WHERE | SUBSTRING(ЖурО.Date_Time_IDDoc, 1, 8) BETWEEN &ДатаНачала AND &ДатаОкончания | (ЖурО.Closed=1) или (ЖурО.Closed=3) |
|||
995
Mikeware
15.03.13
✎
14:51
|
(994) а AND ()
bananan ставить будет? |
|||
996
viktor_vv
15.03.13
✎
14:52
|
(994) Ты заразился, что ли :)?
AND вася будет писать? |
|||
997
viktor_vv
15.03.13
✎
14:54
|
(986) И наверное лучше Left вместо substring, а то, судя по времени выполнения, индекс не используется, с left есть шанс .
|
|||
998
Wobland
15.03.13
✎
14:55
|
ЖурО.Closed AND 1 что ли?
|
|||
999
Wobland
15.03.13
✎
14:55
|
(997) подстрока как раз вместо лефта была вставлена. нет лефта в восьмёрочном языке
|
|||
1000
viktor_vv
15.03.13
✎
14:56
|
(987) Хотя это ж в синтаксисе восьмерки пишется, она вроде таких вещей не знает.
|
|||
1001
Wobland
15.03.13
✎
14:56
|
УРА!
|
|||
1002
viktor_vv
15.03.13
✎
14:57
|
(998) Ты реально выпей чего-нибудь для профилактики :).
| SUBSTRING(ЖурО.Date_Time_IDDoc, 1, 8) BETWEEN &ДатаНачала AND &ДатаОкончания | AND ((ЖурО.Closed=1) или (ЖурО.Closed=3)) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |