|
v7: Прямые запросы в 1С7.7 под SQL | ☑ | ||
---|---|---|---|---|
0
Ivanych
21.02.12
✎
11:47
|
Здравствуйте. Недавно переехали на SQL. Теперь появилась проблема с производительностью при формирование отчетности. Думал попробовать написать прямой запрос, но материала в интернете много и немного тумана и поэтому прежде чем делать что то хотел проконсультироваться у опытных программистов по написанию прямых запросов. Какие компоненты лучше использовать и как?
|
|||
1
Азат
21.02.12
✎
11:47
|
www.1cpp.ru
На этом тему можно закрывать) |
|||
2
Mnemonic1C
21.02.12
✎
11:50
|
Шо, опять? (с)
|
|||
3
Чайник Рассела
21.02.12
✎
11:52
|
>Какие компоненты лучше использовать и как?
Голову. По назначению. |
|||
4
Ivanych
21.02.12
✎
11:54
|
(1) Был я там, многие ссылки не работают.
|
|||
5
Mikeware
21.02.12
✎
11:55
|
(4) То, что нужно - работает...
|
|||
6
D_Pavel
21.02.12
✎
11:57
|
(1) +1.
1с++ отличный компонент, я на нем в детстве делал под 7.7 универсальный отчет. |
|||
7
Ivanych
21.02.12
✎
11:57
|
(5)Я первый раз сталкиваюсь с этим. Не нашел инфу как установить все это и подключить(подробно). Если у Вас есть ссылки отпишите.
|
|||
8
povar
21.02.12
✎
11:58
|
(7) дак скачай компоненту, с ней документация подробная идет
|
|||
9
Ivanych
21.02.12
✎
11:59
|
(6) Не могу разобраться как подключить эту компоненту.
|
|||
10
Ivanych
21.02.12
✎
12:00
|
(8) Где? Ели есть ссылка скиньте пожалуйста с инстр
|
|||
11
Mikeware
21.02.12
✎
12:01
|
||||
12
Mikeware
21.02.12
✎
12:02
|
(9) как и любую другую.
|
|||
13
antoneus
21.02.12
✎
12:03
|
||||
14
bizon2008
21.02.12
✎
12:04
|
А может проще отчет переписать? Очень часто помогает.
|
|||
15
Ivanych
21.02.12
✎
12:05
|
(14) Нет не канает.
|
|||
16
Botanik8888
21.02.12
✎
12:06
|
Пригласить спеца не предлагали? или тут ключевое 1986 г.р.
|
|||
17
Ivanych
21.02.12
✎
12:09
|
(16) Объем информации большой. Надеялся что будет проще.
|
|||
18
Botanik8888
21.02.12
✎
12:11
|
судя по 1C7.7 SQL 2005 standart медлено формирутет отчеты - для начала разнесите SQL и терминал по разным физическим серверам.
|
|||
19
Ivanych
21.02.12
✎
12:11
|
Спасибо за ссылки. Буду пробовать варианты.
|
|||
20
Ivanych
21.02.12
✎
12:13
|
(18) Это принципиально?
|
|||
21
Mikeware
21.02.12
✎
12:14
|
(20) Это азбука
|
|||
22
Ivanych
21.02.12
✎
12:14
|
(18) Если железо загружено на 20-30%
|
|||
23
Ivanych
21.02.12
✎
12:15
|
(21) А если более подробно почему?
|
|||
24
Mikeware
21.02.12
✎
12:15
|
долго нам чернобыль будет икаться..
|
|||
25
Mikeware
21.02.12
✎
12:15
|
(23) сколько?
|
|||
26
Ivanych
21.02.12
✎
12:17
|
(25) Что сколько?
|
|||
27
Reaper_1c
21.02.12
✎
12:17
|
(0) На форуме 1Cpp был толковый учебник, который объяснял как строить запросы самому а потом покаывал, что эти запросы реализованы в составе компоненты как виртуальные таблицы.
P.S. Опять мы мастодонтов возбудили. Ууууууу, ксенофобы... |
|||
28
Ivanych
21.02.12
✎
12:18
|
(21) Если это азбука, что сложно объяснить простым языком?
|
|||
29
bizon2008
21.02.12
✎
12:22
|
(15)Почему не канает? Вы что думаете, ели прямой запрос напишите так сразу быстрей будет. Так не зная, прямой запрос так написать можно, что весь сервер в трубочку свернется.
|
|||
30
Reaper_1c
21.02.12
✎
12:23
|
(28) Просто перепечатать тебе руководство по ms sql на форум?
|
|||
31
bizon2008
21.02.12
✎
12:24
|
(22)Где смотрели нагрузку? Неужто в диспетчере задач. Так он врет и не краснеет.
|
|||
32
Mikeware
21.02.12
✎
12:26
|
(26) "сколько" - денег. потому как ленивых учат только за деньги.
|
|||
33
Ivanych
21.02.12
✎
12:26
|
(30) Я и сам могу руководство открыть, я рассчитывал что опытные специалисты в краце объяснить толково, а объяснение это азбука я не понимаю.
|
|||
34
Botanik8888
21.02.12
✎
12:27
|
(28) - без знания основ, т.е. "азбуки" спрашивать что-то бессмыслено... а (33) лишь еще раз говорит о вашей лени...
|
|||
35
Mikeware
21.02.12
✎
12:27
|
(28) Если азбука - значит, освещено давно и неоднократно. Если вам надо _персональное_ объяснение - будьте готовы к индивидуальному курсу....
|
|||
36
Андрей_Андреич
naïve
21.02.12
✎
12:31
|
Ладно Вам - я сам уже раз 10 к классам приступал - туплю и все. Волшебного пенделя не хватает. А иам опять задач накидают и не успел.
|
|||
37
Botanik8888
21.02.12
✎
12:33
|
+(34) в том то и дело что тебе напиши промониторь работу дисков, поставь счетчики... - ты начнешь дальше спрашивать, а как, а что это... в общем пустое это все...
|
|||
38
D_Pavel
21.02.12
✎
12:35
|
(33) Вот скачай мой отчет, посмотри как сделан, там же в архиве всё для установки компоненты должно быть.
http://1c.proclub.ru/modules/mydownloads/personal.php?lid=6895&cid=5 |
|||
39
Андрей_Андреич
naïve
21.02.12
✎
12:35
|
В глобальнике
Перем MetaDataWork Экспорт; //Объект MetaDataWork Перем ODBCRecordSet Экспорт; //Объект ODBCRecordSet Если (ЗагрузитьВнешнююКомпоненту("1cpp.dll")=1) Тогда MetaDataWork = СоздатьОбъект("MetaDataWork"); ODBCRecordSet= СоздатьОбъект("ODBCRecordSet"); КонецЕсли; |
|||
40
Delorn
21.02.12
✎
12:39
|
(33) Что объяснять то? Как писать прямые запросы? Тебе ссылки уже кинули и как подключать и клевую статью которая поможет войти в тему. По босяцки Терминал делит ресурсы между SQL и пользователями по ровну(ну не совсем по ровну но при хорошей нагрузке с обоих сторон да еще каком нить теневом копировании такие чудеса начинаются).
(39) Ему уже скинули ссылки как ставить http://www.script-coding.com/1cpp.html клевая методичка http://script-coding.com/Direct_queries.html |
|||
41
Ivanych
21.02.12
✎
12:50
|
(38) Спасибо.
(40) Это точно. |
|||
42
Botanik8888
21.02.12
✎
12:53
|
+(40) если точнее то не поровну, а терминал пытается забрать все под себя, SQL под себя, а и отдавать ни тот ни другой даже при простое не хотят... а если еще дисковая подсистема криво построена то хоть обпереписывайся на прямые запросы профита не получишь...
|
|||
43
Mikeware
21.02.12
✎
12:54
|
(39) наддо одну строку - ЗагрузитьВнешнююКомпоненту("1cpp.dll")
остальное - по задачам... |
|||
44
Эльниньо
21.02.12
✎
12:55
|
||||
45
Андрей_Андреич
naïve
21.02.12
✎
12:58
|
(43) Все равно понадобится - может человек на эти строки еще год не наткнется. Чесслово - на 1цпп.ру слишком много всего и новичку уже малореально въехать.
|
|||
46
Reaper_1c
21.02.12
✎
13:00
|
(45) Новичку надо не трахать мозг, а искать работу на снеговике хотя бы стажером...
|
|||
47
Злой Бобр
21.02.12
✎
13:23
|
(0) Найди у себя прога который подскажет что и как. Так будет и быстрее и дешевле. Хотя о чем это я?.. Мы ведь тупые и ЖАДНЫЕ.
(46) Да, даешь снеговик в каждый ларек! |
|||
48
Reaper_1c
21.02.12
✎
13:27
|
(47) А прямые запросы в ларек - это вершина прагматизма, ага...
|
|||
49
Delorn
21.02.12
✎
13:32
|
(47) ага и все сайты построенные на 1с...
|
|||
50
Ёпрст
21.02.12
✎
13:59
|
(0)
читай это http://www.1cpp.ru/forum/YaBB.pl?num=1148038411 , и скачай эту статью http://www.1cpp.ru/forum/YaBB.pl?num=1148874473 ну и доккументацию к ВК гляди http://www.1cpp.ru/docum/html/ODBC.html и.. этого более чем достаточно.. +BOL еще |
|||
51
Ivanych
29.02.12
✎
12:01
|
Спасибо всем еще раз. Вроде начинаю понимать и разбираться что к чему. Вот только у меня еще один вопрос, в инете пока ни где не могу найти. Как выполнить прямой запрос к Бухгалтерским итогам.
Например: Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьРазделительУчета(РазделительУчета); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения, ВыбСклад, 1, 0); Ит.ВыполнитьЗапрос(ВыбКонПериода, ВыбКонПериода, "133",,, 1,, "СК"); Ит.ВыбратьСубконто(ВидыСубконто.МестаХранения); Пока Ит.ПолучитьСубконто(ВидыСубконто.МестаХранения) = 1 Цикл Ит.ВыбратьСубконто(ВидыСубконто.Номенклатура); Пока Ит.ПолучитьСубконто(ВидыСубконто.Номенклатура) = 1 Цикл КонецЦикла; КонецЦикла; |
|||
52
Ivanych
29.02.12
✎
12:02
|
И возможно ли это вообще?
|
|||
53
Ёпрст
29.02.12
✎
12:02
|
(51)самое простое - использовать класс И.Берездецкого
|
|||
54
Ёпрст
29.02.12
✎
12:03
|
||||
55
Ivanych
29.02.12
✎
12:05
|
(53) Спасибо
|
|||
56
Ivanych
29.02.12
✎
14:39
|
(54) Извиняюсь. Но еще раз не могли бы подсказать где моя ошибка.
RS = СоздатьОбъект("AccountsRecordset"); RS.УстБД1С(); ТекстЗапроса = " |SELECT ОсновнойОстатки.Счет [Счет $Счет.Основной] | , ОсновнойОстатки.Субконто1 [Субконто1 $Субконто] | , ОсновнойОстатки.Субконто1_вид | , ОсновнойОстатки.СуммаОстатокДт | , ОсновнойОстатки.КоличествоОстатокДт |FROM $БИОстатки.Основной(:ВыбДата,,(Счет = :ВыбГруппаСчетов), | (ТМЦ),) AS ОсновнойОстатки | INNER JOIN _1SACCS AS ПланСчетов (NOLOCK) ON ОсновнойОстатки.Счет = ПланСчетов.ID |ORDER BY ПланСчетов.SCHKOD"; RS.УстановитьТекстовыйПараметр("ВыбДата", ВыбКонПериода); RS.УстановитьТекстовыйПараметр("ТМЦ", ВыбНоменклатура); RS.УстановитьТекстовыйПараметр("ВыбГруппаСчетов", ВыбСчет); ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса); ТЗ.ВыбратьСтроку(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |