|
Прямое подключение к собственной базе SQL из самой базы 1С 🠗 (mikecool 04.02.2021 12:06) | ☑ | ||
---|---|---|---|---|
0
Вася Теркин
03.02.21
✎
13:17
|
Есть какая-то стандартная функция, возвращающая соединение к SQL собственной базы? Надо UPDATE запустить. Типовая вещь должна быть вроде.
|
|||
1
1Сергей
03.02.21
✎
13:17
|
СтрокаСоединенияИнформационнойБазы
|
|||
2
ДенисЧ
03.02.21
✎
13:17
|
Типовой не может быть. Ибо это запрещено лицензией.
|
|||
3
vicof
03.02.21
✎
13:19
|
По-моему автору надо обновить данные в левой базе.
|
|||
4
vicof
03.02.21
✎
13:20
|
Но для этого нужны 5 секунд поиска и 1 примитивнейший запрос в поисковик
|
|||
5
SiAl-chel
03.02.21
✎
13:28
|
(0) С чего это типовая вещь и почему она должна быть? 1С в клиент-сервере - это трехзвенка, доступ до СУБД никто не обещал.
|
|||
6
Вася Теркин
03.02.21
✎
13:55
|
(1) Это только параметры, а я хочу
ВыполнитьНаSQL("UPDATE .... SET ... = ... FROM (SELECT .......) TT WHERE ... ") И всё! |
|||
7
Вася Теркин
03.02.21
✎
13:57
|
В общем за все эти годы одинэсники даже самое простое не написали...
|
|||
8
DrShad
03.02.21
✎
13:58
|
зачем писать? выполни в консоли скуля
|
|||
9
acht
03.02.21
✎
13:58
|
(7) Ага. Извини, пожалуйста - придется тебе самому. Справишся?
|
|||
10
ДенисЧ
03.02.21
✎
14:01
|
(7) Они написали самое простое. То, что обычно не читают. Называется "лицензионное соглашение".
|
|||
11
Вася Теркин
03.02.21
✎
14:02
|
(8) Мы не про скуля.
Вот чего-то нашел ??????infostart.ru/1c/articles/236956/ Функция ПолучитьВнутрСсылкуПоНомеру(Номер,Объект) Экспорт БуфЗапрос = "Select master.dbo.fn_varbintohexstr([_IDRRef]) From _"+ПолучитьНаименованиеОбъектаБД(Объект)+" Where _Number like '"+Строка(Номер)+"'"; Возврат ПолучитьЗначениеИзБазы(БуфЗапрос); КонецФункции |
|||
12
ДенисЧ
03.02.21
✎
14:05
|
(11) И что тебе в этой статье не понятно? Там же всё черным по белому расписано...
|
|||
13
Вася Теркин
03.02.21
✎
14:08
|
(11) Готовой функции ПолучитьЗначениеИзБазы нет в статье. Написано что есть ADODB или SQLOLEDB или... А готового нет.
Зачем понятия подменять? при чем тут "понятно" и "есть готовое"? Там написано "Учимся получать доступ к СУБД из 1С." Чем оно готовое? Как раз наоборот... |
|||
14
Вася Теркин
03.02.21
✎
14:09
|
В статье тоже не готовое. Хотя на готовое ПолучитьЗначениеИзБазы в примерах ссылает.
|
|||
15
ДенисЧ
03.02.21
✎
14:10
|
(13) Всё разжевано, осталось взять и научиться.
|
|||
16
Вася Теркин
03.02.21
✎
14:12
|
Как это связано с тем, что ПолучитьЗначениеИзБазы нет?
|
|||
17
Вася Теркин
03.02.21
✎
14:14
|
Штаны тоже можно научиться шить самому, все разжевано. Бурда моден а не среда...
|
|||
18
acht
03.02.21
✎
14:17
|
(17) Делегируй подчиненному
|
|||
19
1Сергей
03.02.21
✎
14:22
|
Полыхает
|
|||
20
Вася Теркин
03.02.21
✎
14:31
|
"Есть какая-то стандартная функция, возвращающая соединение к SQL собственной базы?" - и каждый как обычно разговаривает что-то свое. А по теме нечего сказать?
|
|||
21
1Сергей
03.02.21
✎
14:32
|
(20) ответ в (2)
|
|||
22
Вася Теркин
03.02.21
✎
14:33
|
864666 попытка завести тематическую ветку...
"Видимо, место здесь такое" (с) Жмурки |
|||
23
Вася Теркин
03.02.21
✎
14:34
|
(21) Значит автор и ему подобные врут про ПолучитьЗначениеИзБазы(ТекстЗапросаSQL)?
|
|||
24
acht
03.02.21
✎
14:35
|
||||
25
Вася Теркин
03.02.21
✎
14:38
|
+(23) есть в открытой публикации хоть одна такая функция?
(24) Не Жужжите... |
|||
26
dmpl
03.02.21
✎
14:45
|
(0) Доступ к БД иначе как средствами 1С запрещен лицензионным соглашением. А 1С не предоставляет прямого доступа к базе, потому что 90% 1Сников положат базу, будь у них такая возможность. Запускать UPDATE при работающем серверном процессе - вообще за гранью добра и зла. У сервера есть свой кеш, и он не рассчитан на то, что кто-то будет запускать UPDATE в базе.
|
|||
27
Вася Теркин
03.02.21
✎
14:47
|
(26) В соседней ветке один друг пытается 470 000 пачек сигарет отгрузить одной фурой и у каждой пачки своя марка.... А после этого ему надо базу 1С свернуть по прошлым периодам. Что же будет делать 1С в связи с этим?
|
|||
28
VladZ
03.02.21
✎
14:51
|
(27) Доработает интерфейс программы, чтобы коробки лучше продавались.
|
|||
29
Вася Теркин
03.02.21
✎
14:51
|
||||
30
Вася Теркин
03.02.21
✎
14:52
|
(28) Какой интерфейс? Будут блокнотики и карандашик в коробку вкладывать? Скажут "работайте на мягких регистрах"...
|
|||
31
Вася Теркин
03.02.21
✎
14:53
|
1С - ничто не работает так долго
|
|||
32
hhhh
03.02.21
✎
14:58
|
(31) ну иди в фузину. Зачем в 1с пришел? Изначально же понятно, что это тормоза?
|
|||
33
Вася Теркин
03.02.21
✎
15:04
|
(32) Изначально была 2.0 проф.
|
|||
34
Вася Теркин
03.02.21
✎
15:04
|
Ладно, пойду домой, работе конец
|
|||
35
dmpl
03.02.21
✎
15:12
|
(27) 1С тут не лимитирующий фактор. Ведь эти коды надо еще сосканировать каждый ;)
|
|||
36
sitex
naïve
03.02.21
✎
15:27
|
(0) Чего сложного через ADODB.Connection порубиться, и делай что хочешь.
|
|||
37
Вася Теркин
04.02.21
✎
06:12
|
(35) Да, давно пора перевести на rfid. А потом заказать в Китае сканеры, которые полмиллиона кодов за раз берут. Кетайцы оху@ют и пришлют две деревни крестьян в контейнере.
(36) Чего сложного написать свою ОС на ассемблере. были люди в наше время, Не то, что нынешнее племя: Богатыри — не вы! Плохая им досталась доля: |
|||
38
ДенисЧ
04.02.21
✎
06:23
|
(37) Да, Вася... Тебе до твоего тёзки - как Маску до Альфы Кассиопеи в позе гордого моллюска...
|
|||
39
2mugik
04.02.21
✎
06:34
|
(37)обычно говорят я делал то-то и то-то.Что не получилось. А ты ничего не сделал, не попробовал, а просто требуешь готовое. "А кушать вы за меня тоже будете?" Ага!
|
|||
40
Вася Теркин
04.02.21
✎
07:13
|
(38) Одинэсу до консоли скуля видимо ближе.
(39) Кто кому говорят? В смысле чтобы функция появилась нужно позаклинать? |
|||
41
Sserj
04.02.21
✎
07:48
|
Да чего же вы такие злые то все :)
Человеку нужно соединение с БД на прямую, для которого и через ADODB.Connection нужены Логин/Пароль на SQL, не говоря уже о адресе сервера и имени БД, которые можно получить средствами 1С. Логин/Пароль нельзя получить из снеговика. |
|||
42
SiAl-chel
04.02.21
✎
07:52
|
(39) Точно.
(40) Нет, заклинанание не надо. Надо миллион долларов и личная встреча с братьями Нуралиевмыи, чтобы они за эти деньги дали команду своим наемным работникам добавить в платформу "1С:Предприятие 8" ту функциональность, что тебе нужно. ПыСы: сумма взята с потолка, реальная сумма выяснится после того, как сторгуешься с братьями Нуралиевмыи |
|||
43
SiAl-chel
04.02.21
✎
07:54
|
+(42) Читать: братья Нуралиевы. Это была опечатка, а не коверкание.
|
|||
44
ДенисЧ
04.02.21
✎
07:57
|
(43) Хорошо, что "сёстры" не написал ))
|
|||
45
SiAl-chel
04.02.21
✎
08:08
|
(44) Даже и не думал. Чай это Нуралиевы, а не Вачовски.
|
|||
46
Йохохо
04.02.21
✎
08:18
|
(45) у нас на районе в слове хлеб другая ошибка
|
|||
47
ADirks
04.02.21
✎
08:18
|
(40) а ты думал, функции сами появляются?
|
|||
48
ДенисЧ
04.02.21
✎
08:19
|
(47) А что, нет? О_О
|
|||
49
Вася Теркин
04.02.21
✎
08:22
|
(41) У снеговика оно все уже есть. Иначе как он в скуль ходит?
(44) Сестры сделали матрицу, а у этих сплошное дежавю.... Все чего-то меняют. (45) Ни разу пока. (47) Нет, их в муках рожают. (48) Не подсказывай. |
|||
50
ADirks
04.02.21
✎
08:25
|
(48) восхищённый зритель видит чудо, и радуется
а где-то в сторонке кто-то читает заклинание. потому и магия. |
|||
51
Вася Теркин
04.02.21
✎
08:29
|
(50) А где функция-то? Расскажите подробнее чего Нуралиевы читают.
|
|||
52
Вася Теркин
04.02.21
✎
08:30
|
У майкрософта консоль, у оракла SQL*Plus, а у 1С - лицензионное соглашение.
|
|||
53
ДенисЧ
04.02.21
✎
08:32
|
(52) У 1са тоже есть консоль. И не одна. Для своего языка.
|
|||
54
Вася Теркин
04.02.21
✎
08:36
|
Который за 100 часов делает то, что напрямую выполняется за 25 секунд..
|
|||
55
ДенисЧ
04.02.21
✎
08:39
|
(54) А напрямую ты все обработчики Перед и При записи вызвал? А подписки?
|
|||
56
Йохохо
04.02.21
✎
08:46
|
(52) попробуй "Select master.dbo.1c_doupdategracefully .."
|
|||
57
Вася Теркин
04.02.21
✎
08:49
|
(55,56) Оно мне надо? надо (0) и (6)
|
|||
58
Вася Теркин
04.02.21
✎
08:50
|
Нужна эффективность и непосредственный доступ.
|
|||
59
ДенисЧ
04.02.21
✎
08:51
|
(57) Тебе не надо. А вот 1су и данным - надо.
|
|||
60
Вася Теркин
04.02.21
✎
09:01
|
(59) Пруф?
|
|||
61
ДенисЧ
04.02.21
✎
09:03
|
(60) Пруф на что? На то, что 1с работает через объектную модель и у каждой записи могут быть обработчики событий? Так это тебе в книжки для начинающих...
|
|||
62
Вася Теркин
04.02.21
✎
09:25
|
(61) В книжках есть про внешний источник данных (ВИД). Там никаких событий вроде нет, но ограничения на изменение данных. Никакой объектной модели. Как раз чтобы её не обошли и не построили на ВИД свои быстрые регистры и прочее введено ограничение, а так же Лицензионным соглашением. Не может одинэска конкурировать с другими решениями по скорости.
|
|||
63
SiAl-chel
04.02.21
✎
09:29
|
(62) Совсем запутал. Ты же вроде хотел получить программный доступ до таблиц самой базы, а теперь говоришь о внешних источниках данных. Чего в итоге-то ты хочешь? Или ты просто стебешься тут на форуме?
|
|||
64
ДенисЧ
04.02.21
✎
09:29
|
(62) Вот интересно... А почему ты не хочешь записать в базу SQL напрямую, редактируя секторы на диске? Это ж какая скорость получается!
|
|||
65
Йохохо
04.02.21
✎
09:49
|
(63) мстит, ему ёлку не передвинули
|
|||
66
dmpl
04.02.21
✎
10:15
|
(36) ... и положить базу :) См. выше про 90%.
|
|||
67
Вася Теркин
04.02.21
✎
10:17
|
(63) Сейчас единственный способ получить из платформы прямой доступ к таблице - внешние источники данных. но как этим механизмом сделать update собственных РС? Остается только искать готовую функцию в интернете. Н о тут в статьях ссылки на такой функционал есть, а самого функционала нет (11).
|
|||
68
Вася Теркин
04.02.21
✎
10:18
|
(65) елку кто-то скурил давно. Это не ко мне.
|
|||
69
dmpl
04.02.21
✎
10:18
|
(54) А потом месяц восстанавливать базу и еще год ловить глюки...
|
|||
70
Вася Теркин
04.02.21
✎
10:19
|
(26) С кэшем опять же недоработка 1С.
(69) Все отлично получилось из консоли скуля... |
|||
71
dmpl
04.02.21
✎
10:22
|
(67) Никак. Потому что никто кроме разработчиков платформы не сможет сделать это правильно. Это уже не говоря про поддержание когерентности кеша и блокировок.
|
|||
72
dmpl
04.02.21
✎
10:24
|
(70) Уверен что ничего не поломалось, и оно при очередной реструктуризации или пересчете итогов не вылетит с дампом? А на новой платформе?
|
|||
73
Вася Теркин
04.02.21
✎
10:27
|
(71) Тогда почему в интернете пишут статьи типа (11) . Это же не какой-нибудь haknivseh.mn
(72) Застрелюсь... |
|||
74
acht
04.02.21
✎
10:37
|
(73) > Застрелюсь
А на форум потом напишешь? А то как же мы узнаем? |
|||
75
Вася Теркин
04.02.21
✎
10:45
|
Сосредоточимся на обсуждении сабжа. Слухи о моей скорой кончине преувеличены.
|
|||
76
acht
04.02.21
✎
10:49
|
Эх. Не тебе судить, человек, о сроках своей кончины.
|
|||
77
Вася Теркин
04.02.21
✎
10:51
|
Про Кисловодск в соседней ветке обсуждают.
|
|||
78
SiAl-chel
04.02.21
✎
10:51
|
(67) Нет. Это не единственный. Тут уже говорили про ADODB. Но тебе в обоих случаях надо знать имя базы, имя сервера СУБД, а также логи и пароль для доступа к ним. 1С версии 8 в клиент-сервере - это трех-звенка. При трех-звенке (хоть 1С, хоть Аксапта или что-то там такое) клиент ничего не знает о СУБД и способах прямой работы с таблицами.
|
|||
79
SiAl-chel
04.02.21
✎
10:54
|
(73) Какой-нибудь SELECT - это еще пол-беды, но чтобы делать UPDATE в таблицы СУБД - это тоже, что прогулка по парапету 200-этажного здания. Можно получить кайф от крутизны, а можно и фотографию в черной рамке на красивом памятнике.
|
|||
80
Вася Теркин
04.02.21
✎
10:57
|
(79) Хорошо. А метод готовый есть?
|
|||
81
Вася Теркин
04.02.21
✎
10:58
|
(78) Для внешних источников данных или для вэбсервисов тоже строку подключения надо и пароли всякие.... Это никого не останавливало от применения готовых методов.
|
|||
82
acht
04.02.21
✎
10:59
|
(80) Есть, но я тебе не дам. Недостоин.
|
|||
83
Вася Теркин
04.02.21
✎
11:01
|
(82) Ты то тут при чем?
|
|||
84
SiAl-chel
04.02.21
✎
11:01
|
(80) Встроенного в платформу - нет. Еще раз прочти, что такое 3-звенная клиент-серверная система. Но ты можешь хранить данные о подключении к базе на СУБД в ИБ 1С и подключаться программно через ADODB.
|
|||
85
Вася Теркин
04.02.21
✎
11:02
|
(84) в (11) врут?
|
|||
86
acht
04.02.21
✎
11:02
|
(83) Потому что у меня есть.
|
|||
87
Вася Теркин
04.02.21
✎
11:02
|
(87) Пруф
|
|||
88
SiAl-chel
04.02.21
✎
11:07
|
(85) Читай это https://v8.1c.ru/platforma/klient-servernyy-variant-raboty/
Нет, в (11) не врут, но функция ПолучитьЗначениеИзБазы() - это не платформенная возможность, это ручками написанная функция. А вот в ней, скорее всего, и будет подключение к СУБД через ADODB. Ищи автора этого кода и требуй от него текст этой функции. Хочу узнать: пошлет он тебя учиться или просто пошлет? |
|||
89
DrZombi
гуру
04.02.21
✎
11:08
|
(88) Я бы поставил, он пошлет его на первые курсы программированию, из 3-рех букв :)
|
|||
90
Вася Теркин
04.02.21
✎
11:09
|
Типовой открытой нет, значит я прав.
|
|||
91
SiAl-chel
04.02.21
✎
11:09
|
(89) СУЦ - сертифицированный учебный центр. Он?
|
|||
92
DrZombi
гуру
04.02.21
✎
11:09
|
(90) Держи... http://catalog.mista.ru/1c/articles/80730/
Попытка Соединение = Новый COMОбъект("ADODB.Connection"); ДатаЛ = Новый COMОбъект("DataLinks"); ДатаЛ.PromptEdit(Соединение); Исключение Предупреждение("Не удалось создать подключение!"); КонецПопытки; |
|||
93
acht
04.02.21
✎
11:10
|
(87) Сиськи
|
|||
94
SiAl-chel
04.02.21
✎
11:10
|
(90) В чем прав? Тебе функционал, возможность нужны или добиться от всех признания, что ты прав?
|
|||
95
DrZombi
гуру
04.02.21
✎
11:10
|
(91) Там еще Буква "Х" и "Й", но почти угадал :)
|
|||
96
SiAl-chel
04.02.21
✎
11:10
|
(92) DataLinks - это из какой ВКашечки?
|
|||
97
Вася Теркин
04.02.21
✎
11:11
|
(94) Функционал типовой готовый. Где он есть
|
|||
98
DrZombi
гуру
04.02.21
✎
11:11
|
(97) https://tavalik.ru/podklyuchenie-k-sql-serveru-iz-1s/
Вот еще... 2. Подключение к SQL-серверу &НаКлиенте Процедура ВыполнитьОбработку(Команда) //Инициализация переменных ИмяСервераSQL = "WIN2012\TEST_SQL"; ПользовательSQL = "UserDB"; ПарольSQL = "Pass123456"; БазаДанныхSQL = "TestDB"; ТаблицаSQL = "Table_1"; ///////////////////////////////////////// //Подключение к SQL-серверу Попытка Соединение = Новый COMОбъект("ADODB.Connection"); Команда = Новый COMОбъект("ADODB.Command"); Выборка = Новый COMОбъект("ADODB.RecordSet"); Соединение.ConnectionString = "driver={SQL Server};" + "server="+ИмяСервераSQL+";"+ "uid="+ПользовательSQL+";"+ "pwd="+ПарольSQL+";"+ "database="+БазаДанныхSQL+";"; Соединение.ConnectionTimeout = 30; Соединение.CommandTimeout = 600; //Открытие соединение Соединение.Open(); Команда.ActiveConnection = Соединение; Сообщить("Успешное подключение!"); Исключение Сообщить(ОписаниеОшибки()); Возврат; КонецПопытки; КонецПроцедуры |
|||
99
Вася Теркин
04.02.21
✎
11:12
|
(99) Это уже по теме.
|
|||
100
DrZombi
гуру
04.02.21
✎
11:13
|
(97) Нет его 1С не работает с прямым обращением к СУБД.
Есть кончено "Внешние источники данных", но они работаю т через Задний проход, и по большей части считывают Терабайты ненужной онформации... Да и вообще работают "плохо", не по людски |
|||
101
Вася Теркин
04.02.21
✎
11:13
|
Теперь в интернете будет готовое решение в открытом доступе. Отлично.
|
|||
102
DrZombi
гуру
04.02.21
✎
11:13
|
(101) Куда будет, учись пользоваться гуглом, или Яндексом :)
|
|||
103
acht
04.02.21
✎
11:13
|
(96) MSDASC
|
|||
104
SiAl-chel
04.02.21
✎
11:15
|
(99) Тебе про эту тему с первых постов люди писали.
|
|||
105
Salimbek
04.02.21
✎
11:24
|
(101) Так то GameWithFire еще на заре восьмерки было. Но играть с огнем - опасно...
|
|||
106
Вафель
04.02.21
✎
12:04
|
(101) но тут нужно пароль скл знать. А он не всегда известен
|
|||
107
Вася Теркин
04.02.21
✎
12:32
|
(104) Рабинович мне напел.
(106) Раз я в консоль скуля влез значит у меня админ есть знакомый как минимум. Или сам я хуже админа... |
|||
108
sitex
naïve
04.02.21
✎
12:38
|
(66) Ну не для кривых рук писалось сообщение выше.
|
|||
109
dmpl
04.02.21
✎
13:06
|
(108) А пряморукий не станет лезть в работающую базу с UDPATE в обход сервера 1С.
|
|||
110
Вася Теркин
05.02.21
✎
06:50
|
(109) Ну да, особенно если какой-то ресурс или общий реквизит надо добавить В РС и заполнить за последние 20 лет.
|
|||
111
SiAl-chel
05.02.21
✎
06:56
|
(110) И нафига?
|
|||
112
Вася Теркин
05.02.21
✎
08:30
|
(111) Надо.
|
|||
113
Вася Теркин
05.02.21
✎
08:30
|
Для анализа надо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |