Имя: Пароль:
1C
 
Очередное подключение к 7.7.
0 Mr-FReSH
 
25.02.18
14:54
Ребят, ни разу не подключался к 7.7.

Расскажите пожалуйста, что для этого нужно, имею базу на 7.7, платформу, установленную простым переносом папки к себе =)

Гуглил что нужно, провобовал разные варианты подключения, но всегда все лажает.

Расскажите о механизме

Мне нужно всего лиж получить все элементы справочника "Номенклатура"
1 Базис
 
naïve
25.02.18
14:58
Нормально установи, гугл полон этой ошибкой.
2 Mr-FReSH
 
25.02.18
14:58
(1) Дык я даже на ИТС не нашел нормального установщика, да и что конкретно нужно ставить, если есть - поделись)
3 Смотрящий
 
25.02.18
15:02
(0) При копировании папки с движком не происходит регистрация OLE-Automation сервера в клюшках. Надо или зарегить в ручную (ф поиск) или поставить с установщика.
4 Новиков
 
25.02.18
15:03
но всегда все лажает
Ты как считаешь, это описание технической проблемы/ошибки/ситуации? Какую информацию для технического специалиста ты предоставляешь описывая свою проблему как "лажает"?
5 Базис
 
naïve
25.02.18
15:03
(2) А ну как ты оперок, палку на провокациях сшибающий?

Все остальные умеют искать, только эти так часто косят под непонимающих, что привыкли к этому состоянию.

Вот и докажи - себе, нам, миру - что ты сапиенс.
6 Mr-FReSH
 
25.02.18
15:07
Вы действительно хотите разводить очередной срач, или уже продемонстрируете свою компетентность и поможете с решением проблемы?

Нашел нечто с названием "1CSetup27", установил локальную версию, без всяких "Бухгалтерий" и прочего, запустилась, но  пытаясь подключиться через

Попытка
   V77 = Новый COMОбъект("V77.Application");
Исключение
   Сообщить(ОписаниеОшибки());
КонецПопытки;  

Все равно вижу ошибку "Недопустимая строка с указанием класса"
7 Базис
 
naïve
25.02.18
15:08
Уже правильно делаешь. Теперь в реестре найди "V77", скорее всего там или "V77S", или "V77L", такой объект и создавай.
8 Mr-FReSH
 
25.02.18
15:11
(7) А какой путь 77 дает в реестре, Ctrl+F не дал результатов. Может конечно у меня все-таки setup паленый
9 Mr-FReSH
 
25.02.18
15:14
Я вот сейчас подумал, а каким вообще образом я смог установить нечто под названием 7.7 на Win 10? Или это реально?
10 NorthWind
 
25.02.18
15:18
(9) потому что это пиратский дистр с выломанной защитой и другим инсталлятором, который корректно отрабатывает в новых виндах.
11 Mr-FReSH
 
25.02.18
15:21
(10) Хорошо придумано)

Так, ну жара, я установил что-то еще и у меня создался Com объект) осталось только понять как кодить на 7.7. и получить все элементы справочника номенклатура)
12 Mr-FReSH
 
25.02.18
15:23
Ребят, вопрос

ПутьКБазе="D:\1C\7.7";
Пользователь="Admin";//пользователь базы 7.7
Пароль="";
МонопольныйРежимOLE = ""; // " /m";
ЗапускБезЗаставки = 1;
База = Новый COMОбъект("V77L.Application");
СтрокаПодключения = "/D"""+СокрЛП(ПутьКБазе)+""" /N"""+СокрЛП(Пользователь)+""" /P"""+СокрЛП(Пароль)+"""";
РезультатПодключения = База.Initialize(База.RMTrade,СтрокаПодключения,?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW",""));

Результат Ложь

WTF? =)
13 NorthWind
 
25.02.18
15:28
(12) кавычек не сильно много в строке?
14 Mr-FReSH
 
25.02.18
15:31
(13) Строка подключения =

/D"D:\1C\7.7" /N"Admin" /P""
15 Mr-FReSH
 
25.02.18
15:33
Привел ее к состоянию:

/D"D:\1C\7.7" /N"Admin" /P

Результат все равно ложь
16 Cool_Profi
 
25.02.18
15:34
(12) А в той базе уже кто-то сидит?
17 Mr-FReSH
 
25.02.18
15:38
(16) Нет, база не рабочая, локально лежит у меня, в ней никого)
18 Смотрящий
 
25.02.18
15:39
(15) Права на каталог D:\1C\7.7 полные на чтение-запись ? Просто клюшками зайти можешь в базу ?
Убери /P если нет пароля, /D - убери кавычки
19 Cool_Profi
 
25.02.18
15:39
(17) И тебя там тоже нет? )))
20 Mr-FReSH
 
25.02.18
15:44
(18) Права полные, в базу зайти могу (19) и да, меня там тоже нет, никаких процессов с 7.7 нет, когда пытаюсь подключиться
21 Cool_Profi
 
25.02.18
15:45
Сейчас выяснится, что это тонкий клиент и подключается с сервера...
22 Mr-FReSH
 
25.02.18
15:46
(21) Нет, сижу дома, за домашним компом, база файловая, лежит на том же диске)
23 NorthWind
 
25.02.18
15:46
(20) напишите батник с вашей комстрокой и попробуйте работу
24 Cool_Profi
 
25.02.18
15:48
... или база индексацию просит...
25 Sserj
 
25.02.18
15:48
А если тебе проще прочитать DBF-ку, если нужны только элементы одного справочника, особенно если тебе нужны только коды и наименования, тогда точно проще и главное намного быстрее читать прямо из файла.
26 Mr-FReSH
 
25.02.18
15:52
(25) Идея хорошая... воспользуюсь если не добьюсь результата с подключением

Сейчас результат такой что...

СтрокаПодключения = "/d D:\1C\7.7 /n Admin";
РезультатПодключения = База.Initialize(База.RMTrade,СтрокаПодключения,?(ЗапускБезЗаставки = 1,"NO_SPLASH_SHOW",""));

Выпадает окно с регистрацией новой базы... хотя по этому пути база уже есть и после регистрации все равно ложь
27 Cool_Profi
 
25.02.18
16:00
после /n пробел убери
28 Cool_Profi
 
25.02.18
16:00
и да, ключи всё-таки лучше большими букавами указывать
29 Emery
 
25.02.18
16:01
(0) > Мне нужно всего лиж получить все элементы справочника "Номенклатура"

Вариантов решений множество. Предполагаем, что «семерка» является сервером, а «восьмерка» – клиентом.

1. Подключится к «семерке» как к OLE-серверу (примерно так, как вы делаете, информации в Интернете валом).

2. Подключится к 1С77 как к DDE-серверу (об этом информации мало, а объяснять долго, а если «восьмерка» не является DDE-клиентом, что, скорее всего, так и есть, то нужен переходник типа внешней компоненты).

3. Использовать прямой обмен данными, вариантов тоже много, но нужно вникать в процесс.

4. Можно поменяться местами – «семерка» будет клиентом, а «восьмерка» – сервером. Тогда процедура будет обратной.

Лично я бы воспользовался третьим вариантом. Для обмена данных можно использовать обработку ВыгрузкаЗагрузкаДанныхXML83.epf либо аналогичную для «толстых» форм. Что делаем? Если в «восьмерочном» справочнике номенклатуры нет данных, то создаем там что-нибудь. Выгружаем из 1С8 один только этот справочник в формат xml, с помощью указанной обработки. Смотрим его формат и генерим подобные данные в «семерке», а затем полученный файл скармливаем обработке в режиме загрузки данных. Дешево и сердито! Хотя, боюсь, что для новичка это будет сложно, поэтому проще, наверное, идти первым путем.

Опять же опираясь на свой опыт, могу сказать, что у меня сейчас в разработке две конфигурации, одна на «семерке», это вторая версии «зарплаты» (первая версия работает уже более десяти лет!), а вторая это управляемые формы на 1С83. Одновременно с разработкой я переношу данные из первой версии во вторую в 1С77 и из второй версии «семерки» в УФ «восьмерки». КД пробовал использовать, но в моем случае проще и удобней непосредственный перенос.

Для этого во всех справочниках «семерки» (а я работаю только с ними) создаются скрытые поля типа ГУИД (в вашем случае ГУИДы лучше генерировать непосредственно при создании xml-файла). Создаются ГУИДы с помощью ВК formex.dll, хотя для этого вполне годятся и внешние скрипты, скажем, на базе PowerShell.

В общем модуле есть функция, которая по метаданным формирует корректную структуру xml-файла для произвольного объекта. Нюанс, – в «семерке» нельзя непосредственно работать с UTF8, поэтому я создаю xml-файл в ANSI, а затем вызываю команду системы – PowerShell с нужными параметрами, в том числе, со строкой скрипта, преобразующего ANSI в UTF8, после чего текстовый файл ANSI удаляется (для длительного процесса это может быть нетривиальной задачей, но PowerShell легко справляется). Да и в моем случае, существенно ситуацию облегчает то, что структура БД в 1С77 и 1С83 практически идентичная. Мне даже будет интересно потом сравнить их производительность. Однако для разной структуры переносимого объекта нужно будет делать промежуточную конвертацию, только и всего.

Но, еще раз повторю, в вашем случае проще всего долбить первый путь.
30 NorthWind
 
25.02.18
16:04
(26) еще раз повторюсь - напишите батник с вашей комстрокой. В процессе запуска будут выходить косяки, прямо в батнике меняете строку, добавляете параметры, убираете и т.д. до тех пор пока не будет запускаться как вам надо. Как получите удобоваримый запуск - формируете ту же строку в обработке.
31 cnor
 
25.02.18
16:15
База = Новый COMОбъект("V77L.Application");

V77L - локальная версия
V77 - сетевая версия
V77S - скульная версия.
Если установил установщик - смотри какая буква у V77.
Такую и пиши  в База = Новый COMОбъект("V77L.Application");
32 cnor
 
25.02.18
16:16
в смысле V77 у екзешника