|
v7: Запрос по обработке документов... Ø (длинная ветка 27.02.2013 18:51) | ☑ | ||
---|---|---|---|---|
0
bananan
15.02.13
✎
17:57
|
Значит так, написал (ко нечно же с вашей помощью) скрипт который проверяет расходные документы за указанный период и если в документе находит "ошибку" (скорее неточность) - то он и сообщает этот документэ, эго автора строку документа товар и выдает описание ошибки...
ТАк вот документы за ноябрь прошлого года - скрипт обрабатывал 13,5 минут - это долго... как бы оптимизировать работу чтобы скрипт работал раза в 2-3 быстрее? |
|||
903
Mikeware
26.02.13
✎
16:58
|
(894) только с извратом - получить все цифровые, умножить на 1/0,ну и сложить...
|
|||
904
sapphire
26.02.13
✎
16:59
|
(903) По уму, пора предложить ему использовать временные таблицы... Но, знаете ли, сервер жалко...
|
|||
905
sapphire
26.02.13
✎
17:00
|
(903) ... а потом взять фсио и ... поделить!
|
|||
906
sapphire
26.02.13
✎
17:01
|
(903) Вот кста, ТС в решении отсутствующей цены зело разумом не радует...
|
|||
907
sapphire
26.02.13
✎
17:02
|
(903) При чем, ключевое чаво он не понел, так это то, що немае цены...
|
|||
908
bananan
26.02.13
✎
17:05
|
(885) в функции скрипта такой код:
минцена=Конт.ТМЦ.ПолучитьАтрибут("Цена"+Число(Прав(кат.Идентификатор(),1))); Если Метаданные.Справочник("ТМЦ").Реквизит("Цена"+Число(Прав(кат.Идентификатор(),1))).Периодический=1 Тогда минцена=минцена.Получить(Конт.ДатаДок); КонецЕсли; минцена=минцена*(1+Конт.ТМЦ.СтавкаНДС.Ставка.Получить(Конт.ДатаДок)); Если минцена=0 Тогда //2/ВсеВыбрано = ?((ДоступАдмина+ДоступБуха)=2,0,ВсеВыбрано); ТЗ.НоваяСтрока(); ТЗ.Товар = Конт.ТМЦ; ТЗ.Ошибка = " не встановлена ціна категорії "; т.е. Видимо минцена=минцена*(1+Конт.ТМЦ.СтавкаНДС.Ставка.Получить(Конт.ДатаДок)); будет $ПоследнееЗначение.ВидыНалогов.Ставка... ДА? |
|||
909
Mikeware
26.02.13
✎
17:06
|
(906)(907)
Стоит негр на улице и пьёт молоко. Мимо проходит белый, останавливается перед ним, смотрит так пристально и говорит: - Не-е-е, не поможет... © |
|||
910
sapphire
26.02.13
✎
17:08
|
(908) Зачем тобi ся ставка далась?
|
|||
911
sapphire
26.02.13
✎
17:09
|
(909) Смотри какой упорный. А может это происки разведки сопредельной державы? На нас так сказать, свои программерские штучки тестируют? :)
|
|||
912
sapphire
26.02.13
✎
17:16
|
(908) Вот что тебе надо получить:
минцена=Конт.ТМЦ.ПолучитьАтрибут("Цена"+Число(Прав(кат.Идентификатор(),1))); |
|||
913
Mikeware
26.02.13
✎
17:21
|
(905) а зачем делить-то? мы ж не отнимаем...
|
|||
914
bananan
26.02.13
✎
17:25
|
(912) Кажетсыя ты мне и сказал что Конт.ТМЦ.ПолучитьАтрибут("Цена"+Число(Прав(кат.Идентификатор(),1))); это вроде как ЦенаБезНДС??
|
|||
915
Mikeware
26.02.13
✎
17:26
|
а разве Число(Прав(кат.Идентификатор(),1)) может быть равно "БезНДС" ?
|
|||
916
bananan
26.02.13
✎
17:26
|
м вообще - я тото не пойму...
минцена=минцена*(1+Конт.ТМЦ.СтавкаНДС.Ставка.Получить(Конт.ДатаДок)); Как минЦена может быть равной нулю?? |
|||
917
sapphire
26.02.13
✎
17:27
|
(914) И чо?
|
|||
918
bananan
26.02.13
✎
17:27
|
(915) тут, наксолько я понимаю берется цена без НДС для данного товара в гривне, ну или в рубле
|
|||
919
bananan
26.02.13
✎
17:28
|
(917) ЦенаБезНДС в запросе уже выбирается:
| , $ДокН.ЦенаБезНДС AS ЦенаБезНДС |
|||
920
sapphire
26.02.13
✎
17:30
|
(918) Ну и? Ну и что дальше-то?
|
|||
921
Mikeware
26.02.13
✎
17:31
|
То, что эта цена без НДС - это понятно из дальнейших вычислений. а вот может ли Число(Прав(кат.Идентификатор(),1)) быть равно "БезНДС" ?
|
|||
922
sapphire
26.02.13
✎
17:32
|
(919) А зачем, спрашивается, это надо?!
В (914) ОТКУДА ЦЕНА БЕРЕТСЯ, БЕСТОЛОЧЬ?! |
|||
923
sapphire
26.02.13
✎
17:33
|
(921) Теоретически, да, но интересно, когда цена вообще не установлена. В этом, так сказать цель егойного очередного опуса...
|
|||
924
sapphire
26.02.13
✎
17:33
|
(921) А вот интересно, его работодатель мисту не читае?
|
|||
925
Mikeware
26.02.13
✎
17:37
|
(923) даже теоретически не может.
значения могут, конечно, совпадать - но явно не обязаны. иначе не было бы нужды во всей этой тряхомудии... |
|||
926
sapphire
26.02.13
✎
17:38
|
(925) Мишь, ты об чем, собсно?
|
|||
927
sapphire
26.02.13
✎
17:39
|
(925) Егойное поделко:
минцена=Конт.ТМЦ.ПолучитьАтрибут("Цена"+Число(Прав(кат.Идентификатор(),1))); Если Метаданные.Справочник("ТМЦ").Реквизит("Цена"+Число(Прав(кат.Идентификатор(),1))).Периодический=1 Тогда минцена=минцена.Получить(Конт.ДатаДок); КонецЕсли; минцена=минцена*(1+Конт.ТМЦ.СтавкаНДС.Ставка.Получить(Конт.ДатаДок)); Если минцена=0 Тогда Ключевая строка - последняя |
|||
928
Mikeware
26.02.13
✎
17:43
|
(927)
в военное время пи равняется четырем, а синус может достигать 3!! может, у них ставка НДС -100% - обычное дело? |
|||
929
sapphire
26.02.13
✎
17:44
|
(928) Ну таки лягко проверить :)
|
|||
930
Mikeware
26.02.13
✎
17:45
|
(926) о том, что Число(Прав(кат.Идентификатор(),1)) - это какая-то цифра от 0 до 9
соответсвенно, минцена - это одно из {Цена0...Цена9} |
|||
931
sapphire
26.02.13
✎
17:47
|
(930)
аааа, от оно че, михалыч! Дык, там ранее он публиковал кусок сей поделки где категория определяется каким-то атрибутом, то ли доставка, то ли еще чем-то.... Короче, тупо назвали так переменную и усе. |
|||
932
sapphire
26.02.13
✎
17:50
|
(930) 9 UNION-ов или ТС выберет 9 left join?
|
|||
933
Mikeware
26.02.13
✎
17:53
|
(932) тупой case не спасет отца русской пиз... пардон, демократии?
|
|||
934
sapphire
26.02.13
✎
18:13
|
(933) Точно, и к каждому варианту кейса прилепить скалярный запрос :)
|
|||
935
Mikeware
26.02.13
✎
18:15
|
(934) ТКВ
|
|||
936
bananan
27.02.13
✎
12:52
|
Добрый день!
Вопрос: данный которые возвращает прямой запрос я вывожу в таблицу значений, можно ли всю информацию из таблицы значений сбросить через клипборд и есле можно то как? |
|||
937
Wobland
27.02.13
✎
12:54
|
нет
|
|||
938
Wobland
27.02.13
✎
12:54
|
а на зачем?
|
|||
939
bananan
27.02.13
✎
12:56
|
(938) Чтобы с помощью Екселя сравнить результаты работы скрипта и запроса...
|
|||
940
Mikeware
27.02.13
✎
12:57
|
Ну и выведи ТЗ в таблицу. в чем проблемы?
|
|||
941
Wobland
27.02.13
✎
13:00
|
(940) а это уже вполне себе отдельная ветка. с тысячей вакантных постов
|
|||
942
Mikeware
27.02.13
✎
13:03
|
(941) да там кода строк 30 - в универсальном выводе любой ТЗ в таблицу. если без заголовков, то вообще 11 строк.
|
|||
943
bananan
27.02.13
✎
13:05
|
(942) У тебя что-то кроме желчи есть???
|
|||
944
Wobland
27.02.13
✎
13:06
|
ох уж мне ваши семёрки...
ТабДок=Новый ТабличныйДокумент; Построитель=Новый ПостроительОтчета; Построитель.ИсточникДанных=Новый ОписаниеИсточникаДанных(ТЗ); Построитель.Вывести(ТабДок); ТабДок.Показать(); |
|||
945
bananan
27.02.13
✎
13:06
|
+(943) Сори предыдущее сообщение адресовалось ВобландУУУ
|
|||
946
Wobland
27.02.13
✎
13:07
|
(945) есть
|
|||
947
bananan
27.02.13
✎
13:07
|
(944) Новый ТабличныйДокумент - вот изит? Ты это на 1С 7.7. запустишь???
|
|||
948
Wobland
27.02.13
✎
13:08
|
(947) это восьмёрка
|
|||
949
Privalov
27.02.13
✎
13:18
|
(948)Зачем ты с ним так ? ))
|
|||
950
Mikeware
27.02.13
✎
13:31
|
(947) еще раз: _всего 11 строк!
причем самых-самых тупых. Инициализация таблицы, два вложенных цикла, две строки внутри, вывод... по строке в минуту - и мог бы с 12:52 до 15:03 написать.... |
|||
951
bananan
27.02.13
✎
13:33
|
(950) Да сейчас буду писать
|
|||
952
Wobland
27.02.13
✎
13:33
|
(950) вот наверняка Присоединить там. а это уже второе измерение, не у всех мозг справляется (ничего личного, таких людей есть)
|
|||
953
Privalov
27.02.13
✎
13:35
|
Что будет когда ветка закончится?
|
|||
954
Wobland
27.02.13
✎
13:38
|
(953) всем участникам выдадут медаль "за долготерпение"
|
|||
955
Mikeware
27.02.13
✎
13:42
|
(954) орден сутулого. с завязкой на спине...
|
|||
956
bananan
27.02.13
✎
14:09
|
Что-то непойму. код:
ТбЗн = Запрос.ВыполнитьИнструкцию(ТекстЗапроса); ТбЗн.ВыбратьСтроки(); Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Таблица1"); Таб.ВывестиСекцию("Шапка"); Таб.Опции(0,0,Таб.ВысотаТаблицы()); // цикл для вывода значений из ТЗ1 в Таблица1 Пока(ТбЗн.ПолучитьСтроку=1) Цикл Выдает ошибку Пока(ТбЗн.ПолучитьСтроку=1) Цикл {\\SERVER12\VPKTEST$\EXTFORMS\ЦІНАПОКАТЕГОРІЇ.ERT(250)}: Поле агрегатного объекта не обнаружено (ПолучитьСтроку) Почему? |
|||
957
Mikeware
27.02.13
✎
14:10
|
(956) и чего тут понимать? все по-русски написано...
|
|||
958
Privalov
27.02.13
✎
14:11
|
ПолучитьСтроку()
|
|||
959
bananan
27.02.13
✎
14:13
|
(957) Не знаешь, так и скажи..
ТбЗн.ВыбратьСтроки(); - полеагрегатного объкта есть и работает а надо было так написать (опечатался я): Пока(ТбЗн.ПолучитьСтроку()=1 |
|||
960
viktor_vv
27.02.13
✎
14:14
|
(956) Ты уж извини, но перед тем как постить вопрос, ты хотя бы немного подумать над ошибкой можешь, ну так, чисто для разнообразия.
|
|||
961
Wobland
27.02.13
✎
14:17
|
(960) у него в организме нет органа, которым думают
|
|||
962
Wobland
27.02.13
✎
14:18
|
пять лет человек с семёркой общается...
|
|||
963
Mikeware
27.02.13
✎
14:20
|
(962)
снял пожилой профессор проститутку... залез на нее... ока как подмахнула, он аж с нее свалился... встал, поправил очки на носу, и заявляет - "я не понял, тут кто кого иппет?" © зы. это не он с программой общается, а программа с ним... ибо программа поинтеллектуальнее будет... |
|||
964
Wobland
27.02.13
✎
14:26
|
нашёл тут прекрасное:
Логическое И возвращает истину когда ВСЕ условия истинны? |
|||
965
Wobland
27.02.13
✎
14:26
|
(964) это спросил человек, называющий себя программистом
|
|||
966
Privalov
27.02.13
✎
14:29
|
(959) Не разглядел? (958)
|
|||
967
Wobland
27.02.13
✎
14:31
|
добьём уже до тыщи, а?
А что нам по этому вопросу говорит Отладчик?
|
|||
968
Privalov
27.02.13
✎
14:34
|
Ушел автор, сегодня не добьем. )))
|
|||
969
Wobland
27.02.13
✎
14:36
|
(968) сейчас он результат запроса научится видеть и вернётся обратно
|
|||
970
Privalov
27.02.13
✎
14:45
|
(969) Угу ))
|
|||
971
bananan
27.02.13
✎
15:20
|
Вобла-нд вышел на крыльцо да и изрыгнул...
|
|||
972
bananan
27.02.13
✎
17:28
|
еще один вопро возник, из прымого запроса данные передаются в таблицу значений, из таблицы значений в экранную таблицу...
Какое поле надо передать в таблицу, чтобы в ней можно былу кликнуть на данное поле и поле этого открылся бы документ..? |
|||
973
Mikeware
27.02.13
✎
17:34
|
зачет!
|
|||
974
Mikeware
27.02.13
✎
17:35
|
(972) предай любое поле, однозначно идентифицирующее тот объект, который хочешь открыть...
|
|||
975
bananan
27.02.13
✎
17:45
|
Если передать номер документа - так сойдет?
|
|||
976
Mikeware
27.02.13
✎
17:50
|
(975) а номер однозначно идентифицирует данный объект?
в принципе, сожещь хоть строку передавать, типа "документ, созданый банананом в тихую лунную ночь" - только обрабатывай это сам. |
|||
977
bananan
27.02.13
✎
17:53
|
(976) А что предать запрос простейший:
|SELECT | DocNo |FROM _1SJourn as Жур (nolock) | WHERE Жур.Date_Time_IDDoc BETWEEN :НачДата AND :КонДата~ | AND Жур.IdDocDef in ($ВидДокумента.РасходнаяНакладная, $ВидДокумента.РасходнаяНакладнаяН) |"; Потому я и спрашивал о номере документа.. |
|||
978
viktor_vv
27.02.13
✎
17:56
|
Это задел на следующую тему до тысячи постов :).
|SELECT | DocNo, | Жур.IDDOC as [Док $Документ], | Жур.IDDOCDEF as Док_вид Передавай Док . |
|||
979
viktor_vv
27.02.13
✎
17:58
|
И это, на всякий случай, а что в твоем понимании
"Какое поле надо передать в таблицу" |
|||
980
viktor_vv
27.02.13
✎
17:59
|
(979)+ Имеется ввиду понимание тобой механизма расшифровки.
|
|||
981
bananan
27.02.13
✎
18:04
|
(978) Передал Док - все нормально показывает, но там чтобы его кликнуть можно было и открыть какие-то ньюансы в работае с таблицей?
|
|||
982
Mikeware
27.02.13
✎
18:05
|
(981) эти "ньюансы" описаны в локументации.
а примеры "ньюансов" - есть в типовой конфинурации. |
|||
983
bananan
27.02.13
✎
18:07
|
(982) Спасибо за "исчерпивающий ответ"
|
|||
984
viktor_vv
27.02.13
✎
18:08
|
(983) В (980) есть ключевое слово "Расшифровка".
|
|||
985
bananan
27.02.13
✎
18:28
|
взял из типовой конфигурации такой код:
Таб.Опции(0,0,Таб.ВысотаТаблицы()); Пока(ТЗ.ПолучитьСтроку()=1) Цикл Таб.ВывестиСекцию("Документ"); КонецЦикла; Таб.ТолькоПросмотр(1); Таб.Защита(0); ; Таб.ОбластьПечати(2); Таб.Показать() В ячейках таблицы : идет документ (номер и дата в скобаках), но он не выбирвается... |
|||
986
Mikeware
27.02.13
✎
18:36
|
Неправильный у тебя ник. надо было как baobab регистрится...
по песне высоцкого.... |
|||
988
bananan
27.02.13
✎
18:40
|
(986) Из-за таких вот советов и 1000 не хватит...
|
|||
989
Sh1ko
27.02.13
✎
18:42
|
Ветка - тренажер для телепатов?
|
|||
990
Sh1ko
27.02.13
✎
18:42
|
Я к вам!
|
|||
991
bananan
27.02.13
✎
18:43
|
(990) смотри (985) как сделать, чтобы документ открывался когда кликаешь на него?
|
|||
992
Sh1ko
27.02.13
✎
18:43
|
(985) Что открывался документ при двойном клике на ячейке, необходимо в свойствах ячейки, в поле расшифровка - написать что-то типа ТЗ.Док.ТекущийДокумент()
|
|||
993
Mikeware
27.02.13
✎
18:45
|
(990) телепат? вот и телепай!!! :-))
|
|||
994
batman69
27.02.13
✎
18:47
|
(991)Сработало? - (992)
|
|||
995
bananan
27.02.13
✎
18:47
|
(992) в расшифровке так и написал: ТЗ.Док.ТекущийДокумент() а двойной щелчек не работает и курсор мыши не стал лупой....
|
|||
996
batman69
27.02.13
✎
18:48
|
(995) У тебя есть ТЗ.Док , а в ней ТекущийДокумент ?
|
|||
997
batman69
27.02.13
✎
18:49
|
Все, до 1000 и закончится сериал, жаль.
|
|||
998
Sh1ko
27.02.13
✎
18:50
|
А перед выводом таблицы таб.толькопросмотр(1) есть?
|
|||
999
Sh1ko
27.02.13
✎
18:50
|
а, вижу что есть
|
|||
1000
Aswed
27.02.13
✎
18:50
|
ТЫСЯЧА!!!!
ШТУКА!!!!! 1000!!!! |
|||
1001
bananan
27.02.13
✎
18:50
|
(996) Тз - это таблица значений в ней только DjcNo, Док, Док_вид...
|
|||
1002
Aswed
27.02.13
✎
18:51
|
Ха!!!
Я самый крутой!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |