Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / [игнор отключен] [закрыт для гостей] / 1с 8.2 тонкости работы через com / 10 сообщений из 10, страница 1 из 1
08.12.2010, 15:28
    #37002343
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
1. При создании com-объекта, если указать неверное имя базы то 1с не генерит эксепшин (как в случае с парой логин-пароль), а зачем то выводит окно с предложением создать базу. С этим можно бороться или такой же тупизм как вывод окна с выбором пользователя в v77?

2. при закрытии 1с через com-объект, выводит окно с вопросом "вы уверены?".
...
Рейтинг: 0 / 0
08.12.2010, 18:51
    #37003006
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
barrabas1. При создании com-объекта, если указать неверное имя базы то 1с не генерит эксепшин (как в случае с парой логин-пароль), а зачем то выводит окно с предложением создать базу.


А с чего вдруг генерить эксепшн?
Во первых, 1С не знает, долж на ли быть база по этому пути или же предполагается создание новой базы. Вопрос прав на каталог...

Что мешает проверить наличие файла 1Cv8.cd до создание com-объекта?

barrabasС этим можно бороться или такой же тупизм как вывод окна с выбором пользователя в v77?

Или удалить вообще всех пользователей - чтоб без авторизации заходить можно было. Или авторизоваться явно.

barrabas2. при закрытии 1с через com-объект, выводит окно с вопросом "вы уверены?".
Вопрос не к платформе а к конфигурации.
По идеи это настройка пользователя.
Но в некоторых конфигурациях это вопрос вшит в модуль приложения, функция

Камин 3.0:
Код: plaintext
1.
2.
3.
4.
5.
6.
// Процедура перед завершении работы системы
Процедура ПередЗавершениемРаботыСистемы(Отказ)
	Если Вопрос("Завершить работу с программой?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда 
		Отказ = Истина;
	КонецЕсли; 	
КонецПроцедуры

P.S. Какой именно клиент используется инпрок или аутпрок ?
...
Рейтинг: 0 / 0
09.12.2010, 09:30
    #37003641
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
The Dim!,

The Dim!,

авторИли удалить вообще всех пользователей - чтоб без авторизации заходить можно было. Или авторизоваться явно.
не, тут вопрос именно при работе с com, т.к. часто используется для автоматизации без участия человека, и когда у тебя на сервере встанет процесс с выводом окна на сервисный десктоп и пипец, а эксепшин можно обработать, отправить письмо с логом админу, например (как база данных при коннекте, не совпадает имя базы, ругнётся что нет такой базы, не совпадает юзер-пароль, скажет что нельзя войти), хоть логин с паролем в 8ке поправили, но с базой конечно как-то странно.

авторА с чего вдруг генерить эксепшн?
Во первых, 1С не знает, долж на ли быть база по этому пути или же предполагается создание новой базы. Вопрос прав на каталог...

ну собстено это исключение, попытка подключится к базе которой нет, я же вы вызываю функцию создания базы, да и в 8ке вроде не в каталоге быза, а субд.
а где этот лежит 1Cv8.cd, я не нашел в "C:\Program Files (x86)\1cv82"?

авторВопрос не к платформе а к конфигурации.
По идеи это настройка пользователя.
ну в том же екселе при работе через ком можно подавать запросы у пользователя, спецом для автоматизации, вот я и спрашивал может в 1с тоже есть такой способ, а то придется делать по 2 пользователя на человека, один для работы в 1с, а другого для работы с другими прогами которые иногда используют 1с, например счета в ней выставляют.

не совсем понимаю что такое инпрок или аутпрок
использую Application, т.к. COMConnector не позволяет открыть печатную форму выставленного счёта и сохранить в pdf, чтобы отправить клиенту, а это должно делаться автоматом, а других методов в нашей конфигурации нету и делать походу не собираются. К тому же COMConnector отказывается работать без ключа-флэшки (кода сам 1с работает), может дело в настройках сервера, но я не знаю, настраивают другие люди и у них всё хорошо.
...
Рейтинг: 0 / 0
09.12.2010, 09:32
    #37003644
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
barrabas
ну в том же екселе при работе через ком можно подавать ПОДАВИТЬ запросы у пользователя, ....
опечатка
...
Рейтинг: 0 / 0
09.12.2010, 09:36
    #37003653
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
barrabasbarrabasну в том же екселе при работе через ком можно подавать ПОДАВИТЬ запросы у пользователя, ....
опечатка
вспомнил в excel это DisplayAlerts = false, в 1с8 есть нечто подобное?
...
Рейтинг: 0 / 0
09.12.2010, 09:45
    #37003668
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
barrabasне, тут вопрос именно при работе с com, т.к. часто используется для автоматизации без участия человека, и когда у тебя на сервере встанет процесс с выводом окна на сервисный десктоп и пипец, а эксепшин можно обработать, отправить письмо с логом админу, например (как база данных при коннекте, не совпадает имя базы, ругнётся что нет такой базы, не совпадает юзер-пароль, скажет что нельзя войти), хоть логин с паролем в 8ке поправили, но с базой конечно как-то странно.

Окно появляется только тогда, когда не полностью заданы параметры подключения к базе или какой-то из параметров задан неверно. Если всё в строке подключения указано верно, никакого окна не появляется. Это и в 7.7 и в 8.х.

Топовой пример 8.x
Код: plaintext
1.
ПопыткаЗапуска = ЗиК.Connect("File=""D:\DataBase\База1С""; Usr=""ИмяПользователя""; Pwd=""ПарольПользователя"" ");

barrabasну собстено это исключение, попытка подключится к базе которой нет, я же вы вызываю функцию создания базы

Какое это исключение, если это случай можно зарание предусмотреть? Эксепшен нужен тогда когда случается что-то такое, чего нельзя предусмотреть на этапе разработки.
Если предположить что будет эксепшен, что дальше? Дамп памяти, и его разбор...
Чево уж мелочится, BSOD вызвать и все дела, пусть админ парится, так ? :)

barrabasа где этот лежит 1Cv8.cd, я не нашел в "C:\Program Files (x86)\1cv82"?
1Cv8.cd - файл собственно базы данных. Это если она в файл-серверном режиме. И должен он лежать в каталоге базы данных.

barrabasну в том же екселе при работе через ком можно подавать запросы у пользователя...

Я же написал, что это не com-сервер виноват, а код конфигурации.
...
Рейтинг: 0 / 0
09.12.2010, 09:48
    #37003674
The Dim!
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
barrabasbarrabasпропущено...

опечатка
вспомнил в excel это DisplayAlerts = false, в 1с8 есть нечто подобное?

такого в 1С нет
...
Рейтинг: 0 / 0
09.12.2010, 09:59
    #37003694
SashaM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
barrabasbarrabasпропущено...

опечатка
вспомнил в excel это DisplayAlerts = false, в 1с8 есть нечто подобное?

В 1С есть перехват ошибок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Попытка
// Операторы попытки
Исключение
// Операторы 
исключения
[ВызватьИсключение;]
// Операторы исключения
КонецПопытки;
...
Рейтинг: 0 / 0
09.12.2010, 10:08
    #37003711
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
The Dim!Какое это исключение, если это случай можно зарание предусмотреть? Эксепшен нужен тогда когда случается что-то такое, чего нельзя предусмотреть на этапе разработки.
Если предположить что будет эксепшен, что дальше? Дамп памяти, и его разбор...
Чево уж мелочится, BSOD вызвать и все дела, пусть админ парится, так ? :)

barrabasа где этот лежит 1Cv8.cd, я не нашел в "C:\Program Files (x86)\1cv82"?
1Cv8.cd - файл собственно базы данных. Это если она в файл-серверном режиме. И должен он лежать в каталоге базы данных.

barrabasну в том же екселе при работе через ком можно подавать запросы у пользователя...

Я же написал, что это не com-сервер виноват, а код конфигурации.
вы когда к базе данных коннектитесь и указываете неверное имя базы, вам mssql/oracle предлагает создать базу или посылает в сад с соответствующем сообщением. Странное желание додумать за пользователя то что ему может хотеться и не предоставь альтернативы другим.

ну нет так нет, я думал в 8ке будет попродуманнее, но увы
...
Рейтинг: 0 / 0
09.12.2010, 10:20
    #37003735
barrabas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
1с 8.2 тонкости работы через com
SashaMbarrabasпропущено...

вспомнил в excel это DisplayAlerts = false, в 1с8 есть нечто подобное?

В 1С есть перехват ошибок
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Попытка
// Операторы попытки
Исключение
// Операторы 
исключения
[ВызватьИсключение;]
// Операторы исключения
КонецПопытки;

это не то, запрос подтверждения закрытия приложения это не исключение.
я использую 1с из другой программы, которая при необходимости автоматом открывает 1с, делает то что нужно и закрывает вызвав exit, так вот 1с спрашивает у "программы" в виде формы диалога, "точно закрыть?" и закрыть 1с подавив такой вопрос кодом нельзя, нужно создавать спецового пользователя с определёнными настройками и надеяться что в конфигурации нет приведенного выше кода.
Это очень странно и нелогично, как если бы у copy.exe не было бы ключа /Y. Очень сложно автоматизировать в общем.
...
Рейтинг: 0 / 0
Форумы / [игнор отключен] [закрыт для гостей] / 1с 8.2 тонкости работы через com / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]