Руководство компании, хочет получать оперативную сводку продаж по фирме на свой почтовый ящик с обратной связью. То есть, посылая письмо на определенный ящик, программа составляет отчет о продажах на текущий день и отсылает на ящик отправителя.
Технический аспект реализации. на почтовом сервере компании заводим ящик autoreport.xxx.ru , в глобальный модуль в предопределенную процедуру ПриНачалеРаботыСистемы вставляем проверку строки запуска 1С для того, что бы определить момент старта проверки поступления новых писем в ящик.
В планировщик задач вписываем запуск 1С Предприятия в “C:\Program Files\1cv8\bin\1cv8.exe” enterprise /DisableStartupMessages /smain\demo /cchangemail и ставим запуск каждые 5 минут. После запуска 1С проверяет переданный параметр если он подходит то происходит вызов внешней обработки в которой формируется отчет и происходит передача отчета обратно на ящик отправителя. Во внешнюю обработку писем процедуру ОтсылкаПоЗаказу() которая проверяет ящик на наличие писем, делает минимальную проверку , но то, что письмо пришло из нашего почтового сервера и отсылает продажи на адрес отправителя.
DBF-файл – это файл, в котором данные хранятся в виде таблицы (Database format). Работа с этими файлами происходит по принципу курсора, т.е. по одной строке. Для работы с DBF-файлами существует тип данных XBase. Несмотря на то, что формат DBF считается уже устаревшим, может возникнуть необходимость работы с файлами данного формата, особенно, если вы перегружаете данные из какой-нибудь старой программы!
в 1C v 8 :
список зарегистрированных информационных баз хранится в текстовом файле v8ib.lst (кодировка UTF-8)
в каталоге \Application Data\1C\1Cv8 текущего пользователя на локальном компьютере (где запускается программа 1С:Предприятие v 8).
т.е. C:\Documents and Settings\%CurrentUser%\Application Data\1C\1Cv8\v8ib.lst
в 1C v 8.1 :
список зарегистрированных информационных баз хранится в текстовом файле ibases.v8i (кодировка UTF-8)
в каталоге \Application Data\1C\1Cv81 текущего пользователя на локальном компьютере (где запускается программа 1С:Предприятие v 8).
т.е. C:\Documents and Settings\%CurrentUser%\Application Data\1C\1Cv81\ibases.v8i
Если открыть этот файл в NotePad.exe, то видно, что он имеет структуру, схожую со стандартным INI-файлом :
[База Разработки]
Connect=File="F:\1C\1Cv8\DBRaz";
ID=1cd97bfa-4e57-4a23-9ee1-073a0a28e01c
OrderInList=16384
Folder=/
OrderInTree=16384
[Enterprise]
Connect=File="F:\1C\1Cv8\1cv8.db\Enterprise";
ID=647840fa-65e0-44e8-ad40-12476f178b92
OrderInList=20480
Folder=/
OrderInTree=32768
в 1C v 8.2 :
список зарегистрированных информационных баз хранится в текстовом файле ibases.v8i (кодировка UTF-8)
в каталоге \Application Data\1C\1Cv8 текущего пользователя на локальном компьютере (где запускается программа 1С:Предприятие v 8).
т.е. C:\Documents and Settings\%CurrentUser%\Application Data\1C\1CEStart\ibases.v8i
Если открыть этот файл в NotePad.exe, то там:
[1C:Документооборот 8 (демо)]
Connect=File="C:\Documents and Settings\E.S.Migachev\Мои документы\1C\DemoDoc8";
ID=b3b46c21-bd2a-481e-b100-e6cbdcba3e3d
OrderInList=16384
Folder=/
OrderInTree=256
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.2
Структура хранения информации по каждой информационной базе :
<Наименование информационной базы>
<ID>
<Connect>
<Folder>
<OrderInList>
<OrderInTree>
Где:
Connect - строка соединения с информационной базой,
ID - внутренний идентификатор информационной базы,
OrderInList - порядок в списке при представлении списком
Folder - наименование ветви в дереве информационных баз,
OrderInTree - порядок в ветви при представлении деревом.
В 1С 8.1 еще добавили External - но он всегда равен 0, для чего он пока не известно.
В 1С 8.2 добавлено:
ClientConnectionSpeed=Normal - скорость соединения
App=Auto - тип соединения - толстый, тонкий клиент.
WA=1
Version=8.2
Вот код получения получения списка баз из файла 1С 8.0 8.1 8.2
Данный метод работает аналогично методу Остаток, однако здесь могут быть заданы не все значения измерений, а только несколько,
но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе.
Измерения могут задаваться с пропусками (неуказанное значение — просто запятая), фиксируются только указанные измерения.
Отзывы об казино 888старс от реальных игроков с опытом игры в данном игровом заведении.
Зарегистрированная внешняя компонента хранится в реестре следующим образом:
Предположим, что у нас есть внешняя компонента E:\Events\Events.dll.
В 1С мы пишем:
Теперь зайдем в программу regedit.exe (Пуск-Выполнить-Regedit.exe).
Если регистрация прошла успешно, то в реестре мы увидим следующие записи (я сделал поиск по подстроке "AddIn.Events" в редакторе реестра regedit.exe, нажав сочетание клавиш Ctrl-F):
Значение {2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397} является уникальным для каждого OLE-объекта идентификатором (CLSID). Его должен явно задать разработчик в коде внешней компоненты.
Значение ProgID, которое в нашем случае - "AddIn.Events" также задает разработчик внешней компоненты.
Чтобы в реестре появились эти записи, необходимы права доступа:
Начиная с Windows 2000, обычный пользователь не имеет прав доступа к указанным выше ветвям реестра. Нужны права или администратора, или привилегированного пользователя Windows. После первой загрузки компонента пропишет себя в реестре, и ее смогут использовать и непривилегированные пользователи Windows.
Где 1С ищет внешнюю компоненту?
Если при загрузке внешней компоненты вы не указываете полный путь, такой как E:\Events\Events.dll или сетевой путь наподобие \\ВашСервер\ПапкаГдеЛежатВК\Events.dll, то 1С ищет внешние компоненты
-относительно папки 1Cv7\BIN (КаталогПрограммы())
-относительно каталога информационной базы (КаталогИБ())
Метод ЗагрузитьВнешнююКомпоненту(), обнаружив ВК по новому пути, обновляет ее регистрацию в реестре
Это означает, например, что на терминальном сервере программист, который вошел в тестовую базу, где лежит ВК, и потом ее стер, оставит у всех пользователей запись в реестре о несуществующей ВК.
Аналогичная проблема - когда ВК по данному пути недоступна тем или иным пользователям.
А поскольку пользователи не имеют права на изменение записей в реестре, то у них перестанет загружаться и внешняя компонента.
В 1С:Предприятие 8.0 убрана возможность загрузки ВК относительно каталога ИБ.
В 7.7 же, чтобы избежать проблем, всегда убирайте ВК из каталога ИБ, и прописывайте полные пути (или складывайте DLL в общую для всех пользователей папку BIN).
Кардинальное решение проблемы - VKLoader и RegsvrEx
Имеется компонента VKLoader.dll (автор - Александр Орефков), которая позволяет решить проблемы с регистрацией компонент.
Цитата:
"vkloader (далее ВК) - внешняя компонента для 1С-Предприятия 7.7, которая может загружаться без ее регистрации в реестре, и загружать другие внешние компоненты без их регистрации. Предназначена для беспроблемной загрузки внешних компонент пользователями, не имеющими прав на запись в HKCR ветку реестра.
Принцип работы основан на перехвате обращения 1С к WinAPI функциям CLSIDFromProgID и CoCreateInstance.
Также ВК решает проблему "зависания" процесса 1С в памяти при закрытии программы при использовании несовсем корректно написанных сторонних внешних компонент".
Пример использования vkloader:
Замечу, что сама vkloader "умеет" загружать себя без прав доступа к реестру.
Еще одно решение: RegsvrEx
Автор - AlexQC.
Регистрирует компоненты (OLE-объекты) в пользовательской ветке реестра. RegsvrEX
Перезагрузка сервера выполняется автоматически, если в течение некоторого времени (обычно 3 минут) к серверу 1С:Предприятия не подсоединен ни один пользователь. Если этого добиться затруднительно, то сервер можно перезагрузить принудительно при помощи утилиты Start/ Settings/ Control Panel/ Administrative Tools/ Component Services, на том компьютере, на котором установлен сервер 1С:Предприятия. Для этого в ней необходимо найти ветку Console Root/ Component Services/ Computers/ My Computer/ COM+ Applications/ 1CV8 и выполнить пункт Shut down ее локального меню.
Перезагрузка сервера может быть выполнена программно. Это можно сделать, например, при помощи следующего кода на встроенном языке 1С:Предприятия 8.0:
ВНИМАНИЕ! Если в момент перезагрузки серверного приложения 1CV8 к нему были подсоединены пользователи, то их работа завершится аварийно. При этом какие-то данные могут оказаться не сохраненными.
Для 8.1 :
1. Список баз 8.1 можно сохранять в файл.Для этого правой кнопкой мыши по корневому элементу "Информационные базы", далее "Сохранить ссылку в файл".
2. Получаем файл с расширением v8i, это текстовый файл в кодировке UTF-8. Если необходимо, то при помощи любого текстового редактора в файле можно провести замену, например заменить имя сервера приложений и т.д.
3. Далее можно загрузить этот файл со списком баз (только предварительно очистите существующий список баз) щелкнув двойным щелчком на нем. или - Как прописать список баз всем пользователям?
1. Для начала формируем список баз у одного пользователя вручную.
2. Данный список хранится в файле c:\Documents and Settings\[Имя Пользователя]\Application Data\1C\1CEStart\ibases.v8i
3. Копируем этот файл и файл 1CEStart.cfg всем остальным пользователям по указанному пути. Для 7.7 :
На компьютере из которого нужно выгрузить список баз запускаем:
В результате получается reg файл 1СBase.reg со списком баз, запускаем его на другом компьютере, запускаем 1С и базы уже занесены
Установка:
1. Убедитесь, что на сервере установлена MS Windows NT Server и он является PDC; MS IE (не ниже 4.01) и протокол TCP/IP.
2. Запустить установку MS SQL Server 7.0-2000, выбрав следующие параметры:
* Install SQL Server 7.0-2000 Components
* Database Server – Standard Edition
* SQL Server authentication
* Оставить по умолчанию Login: System Account (sa)
Остальные пункты оставить по умолчанию.
3. Запустить установку MS SQL Service Pack 1, используя параметры по умолчанию, кроме указанных выше.
Перезагрузить сервер.
Настройка на сервере Enterprise Manager:
1. Убедиться, что SQL Server запускается автоматически при старте системы (Control PanelServices).
2. Запустить MS SQL ServerEnterprise Manager и сделать следующее:
* Databasesправой кнопкой мышиNew Database
* Задать Name: (например Cv77) не должно начинаться с цифры
* Установить GeneralInitial Size – 64 MB
* Установить Transaction LogInitial Size – 32 MB
* SERVER_NAMEправой кнопкой мышиEdit SQL Server Registration:Use SQL Server Log: sa, Pas: задать.
* SERVER_NAMEправой кнопкой мышиProperties
* GeneralAutostart SQL Server
* SecurityAuthenticationSQL Server and Windows NT
* SecurityStartup and run SQL Server in the following accountSystem Account (sa)
3. В Windows 2000 Server в свойствах сетевого подключения выбрать "служба доступа к файлам ...", в ее свойствах установить "макс. пропускная способность для сетевых приложений", а в свойствах "мой компьютер", закладка "дополнительно", параметры быстродействия "для служб ...", нажать "изменить" проверить объем файла подкачки: исходный размер = размер_операт._памяти х 1,5; максимальный размер = размер_операт._памяти х 2, также проверить объем свободного место на диске, где расположен файл подкачки.
Выключить сервер.
Установка на сервер 1С:Предприятие 7.7 для SQL:
1. Выключить сервер и установить ключ защиты на LPT порт.
2. Установить 1С:Предприятие для SQL.
3. Установить драйвер защиты, скопировать его в папку Startup (All Users) и запустить (он всегда должен быть запущен!).
4. Создать новую папку (например DbSQL).
5. Скопировать в DbSQL из существующего каталога базы данных или каталога типовой конфигурации (если создается новая база): каталоги пользователей (как правило совпадают с именами пользователей), каталог USERDEF.
6. Запустить Конфигуратор (в формате DBF), указав путь к существующей (DBF) базе или типовой конфигурации (если создается новая база).
7. В Конфигураторе: АдминистрированиеВыгрузить данные, в папку DbSQL, задав имя zip-файла (например Db.zip), закрыть Конфигуратор.
8. Запустить Конфигуратор в формате SQL, указав путь к новому каталогу DbSQL.
9. В Конфигураторе: АдминистрированиеПараметры базы данных, указать: Сервер: (имя сервера в сети), База Данных: (созданная в Enterprise ManagerDatabases) Cv77, Пользователь: sa, Пароль: ранее заданный.
10. В Конфигураторе: АдминистрированиеЗагрузить данные из DbSQLDb.zip, закрыть Конфигуратор.
Пути к старой базе DBF лучше не удалять!
Установка на рабочую станцию клиента MS SQL Server 7.0-2000:
1. ТОЛЬКО в Windows-95: Запустить установку MS SQL Server 7.0-2000, выбрав следующие параметры:
* Install SQL Server 7.0-2000 Prerequisites
* Windows-95
* DCOM95
2. Далее на всех клиентах установка производится точно так же, как на сервер, за исключением следующего:
* Необходимо выбрать только компоненту Client Connectivity, остальные галочки убрать.
3. В MS SQL ServerClient Network Utility выбрать протокол TCP/IP.
4. Установить MDAC_2.7 или более позднюю версию (устанавливается при наличие MS IE не ниже 4.01).
Установка на рабочую станцию 1С:Предприятие 7.7 для SQL:
1. Установка производится точно так же, как на сервер, потом прописать путь к каталогу SQL базы DbSQL.
Для 7.7:
CONFIG - конфигуратор
DEBUG - отладчик
ENTERPRISE - предприятие
/D<Путь> - каталог информационной базы данных
/U<Путь> - каталог пользователя
/N<Имя> - имя пользователя, как оно указанно в списке пользователей
в конфигураторе
/P<Пароль> - пароль пользователя, имя которого указано в параметре /N
/M - монопольный режим
/T<Путь> - параметр для переопределения каталога временных файлов
Если путь имеет вид, типа c:\Program Files\папка, то для запуска
необходимо весь путь береться в "" - /D"C:\Program Files\base1c"
а) для командной строки (bat-файл):
С:Program Files/1Cv77/BIN/1CV7.exe /DC:/Base1C
б) для ярлыка (появляются кавычки):
“С:Program Files/1Cv77/BIN/1CV7.exe” /DC:/Base1C
Для 8.х :
CONFIG запуск системы 1С:Предприятие в режиме «Конфигуратор»;
ENTERPRISE запуск системы 1С:Предприятие в режиме «1С:Предприятие»;
CREATEINFOBASE <connect string> [/AddInList [<имя ИБ>]] создание информационной базы
<connect string>
строка, задающая параметры информационной базы, каждый из которых представляет собой фрагмент вида
<Имя параметра=><Значение>,
где Имя параметра — имя параметра, а Значение — его значение.
Фрагменты отделяются друг от друга символами ';'. Если значение содержит пробельные символы, то оно должно быть заключено в двойные кавычки (").
Примеры использования параметров:
Открытие 1С:Предприятия для файлового варианта:
"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"D:\1C_base\ZUPRAZR" /N"Админ" /P"12345"
Открытие 1С:Предприятия для клиент-серверного варианта:
"C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /S"server-1C\ZUP" /N"Админ" /P"12345"
Если на одном сервере стоит 8.1 и 8.2, то при подключении к базам 8.2 нужно указывать порт сервера (например 1641):
"C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /S"server-1C:1641\ZUP" /N"Админ" /P"12345"
Запуск программы под пользователем и выполнение обработки при открытии:
"C:\Program Files\1cv82\8.2.11.235\bin\1cv8s.exe" ENTERPRISE /F "D:\1C\HRM" /N user /P password /Execute "D:\1C\Внешние_обработки_1С\РаботающиеОбработки\РабочийСтол.epf"
Для снятия блокировки установки соединений с информационной базой
в cmd: start C:\Progra~1\1cv81\bin\1cv8.exe /UC "код доступа"
в ярлыке: "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"D:\1C\HRM" /N"Иванов И.И." /P"Пароль" /UC 456743
Запустить 1С под собой на машине пользователя, если стоит аутентификация Windows
C:\Program Files\1cv81\bin\1cv8.exe" /WA-
В данном случае 1С при входе обязательно потребует ввести пароль.
Создание файла шаблонов конфигураций
DESIGNER /F"D:\V8\Cfgs81\ИБ81" /CreateTemplateListFile "templates.lst" -TemplatesSourcePath "D:\V8\Cfgs81\tmpIts"
Примеры работы с хранилищем:
для конфигурации, не присоединенной к текущему хранилищу
DESIGNER /F"D:\V8\Cfgs82\ИБ82" /ConfigurationRepositoryF "D:\V8\Cfgs82" /ConfigurationRepositoryN "Администратор" /ConfigurationRepositoryReport "D:\ByObject.mxl" -NBegin 1 -NEnd 2 –GroupByObject
для присоединенной к хранилищу конфигурации, информация для отчетов берется из текущего хранилища
DESIGNER /F"D:\V8\Cfgs82\ИБ82" /ConfigurationRepositoryReport "D:\ByComment.mxl" -NBegin 1 -NEnd 2 -GroupByComment
Создать базу и прописать её в списке баз у пользователя:
Создаст базу с конфигураций из файла 1Cv8.cf в созданной папке «test3» на диске E и добавит путь к базе в список баз под именем «TEST33».
"C:\Program Files\1cv82\common\1cestart.exe" CREATEINFOBASE File=e:\test3; /AddInListTEST33 /UseTemplate "C:\Documents and Settings\User\My Documents\tmplts\TestVendor\TestConfig\1Cv8.cf"
С 8.2.12 программа установки выполняет регистрацию COM-соединения "для компьютера". Имеется возможность выполнить регистрацию "для пользователя" с помощью командной строки
regsvr32 /n /i:user comcntr.dll
Автоматическая загрузка валют
Создаем пользователя под конкретное действие, устанавливаем в правах настройки пользователя соответствующие значения, например, галочку «Автозагрузка курсов валют при начале работы программы» для Бухгалтерии или «Загружать актуальные курсы валют при запуске системы» для УПП.
"C:\Program Files\1cv81\bin\1cv8.exe" enterprise /SServer-1C\1C-Work /NAdmin /P12345 /Out"C:\Logi1C\log.txt" -NoT_runcate /DisableStartupMessages
Вообще данная идея пришла в голову, когда я подсмотрела в нестандартной конфе, что у Пользователя можно также поставить на выполнение и глобальную процедуру при его входе в систему. В стандартных можно воспользоваться параметром /Execute, создав обработку, например, запускающую допроведения документов и после завершающей работу системы:
// безусловное завершение работы программы
ЗавершитьРаботуСистемы(Ложь);
Автоматическое сохранение баз банных средствами 1С:
1) создаем файлик .bat с строкой
"C:\Program Files\1cv82\common\1cestart.exe" DESIGNER /S Server-1C\1C-Work82 /N"Администратор" /P"12345" /DumpIB \\bdc\BackUp\Base_%date-10%.dt
2) создаем регламентированное задание на сервере с правами админа с выполнением этого файла в определенное время.
Зная формат вывода даты, можно посмотреть через echo %date%, можно выбирая отдельные части даты формировать более удобное представление файла используя символы, например:
%date3% - вывод с третьего знака
%date3,2% - вывод 2-х знаков начиная с третьего
Для снятия блокировки установки соединений с информационной базой нужно:
Войти в информационную базу, используя параметр запуска "/UC" с тем же кодом разрешения доступа, который был указан при установке блокировки.
Запустить данную обработку, указав в качестве действия блокировки "Снять блокировку соединений".
Нажать кнопку "Выполнить".
в cmd
start C:\Progra~1\1cv81\bin\1cv8.exe /UC <код доступа>
Подробнее о параметрах Для файлового варианта определен параметр:
File — каталог информационной базы;
Locale — язык (страна), которые будут использованы при создании информационной базы. Допустимые значения такие же как у параметра <Форматная строка> метода Формат. Параметр Locale задавать не обязательно. Если не задан, то будут использованы региональные установки текущей информационной базы.
Для клиент-серверного варианта определены параметры:
Srvr — имя сервера 1С:Предприятия;
Ref — имя информационной базы на сервере;
SQLSrvr — имя SQL сервера;
SQLDB — имя SQL базы данных;
SQLUID — имя пользователя SQL;
SQLPwd — пароль пользователя SQL. Если пароль для пользователя SQL не задан, то данный параметр можно не указывать
SQLYOffs - смещение дат, используемое для хранения дат в SQL Server. Может принимать значения 0 или 2000. Данный параметр задавать не обязательно. Если не задан принимается значение 0.
Locale - язык (страна), (аналогично файловому варианту).
Для всех вариантов определены параметры:
Usr — имя пользователя;
Pwd — пароль
/AddInList
параметр, показывающий, под каким именем добавлять базу в список, если не указан, база не будет добавлена в список. Если не указано имя, используется умолчание, аналогичное интерактивному созданию информационной базы.
Одновременное использование ключей не допускается.
Параметры командной строки для указания параметров запуска:
/@<имя файла>
параметры командной строки записаны в указанном файле
/F<Путь>
путь к информационной базе, если она хранится в файле (имя файла указывать не надо)
/S<Адрес>
адрес информационной базы, хранящейся на сервере 1С:Предприятия 8.0, складывается следующим образом:
<Имя компьютера, работающего сервером приложений>\ <Ссылочное имя информационной базы, известное в рамках сервера 1С:Предприятия 8.0>
/N<Имя>
имя пользователя. Должно быть указано так же, как в списке пользователей, создаваемом в Конфигураторе
/P<Пароль>
пароль пользователя, имя которого указано в параметре /N. Если у пользователя нет пароля, этот параметр можно опустить
/WA-
запрет применения Windows-аутентификации при старте Предприятия или Конфигуратора
/WA+
установка обязательного применения Windows-аутентификации при старте 1С:Предприятия или Конфигуратора. Если ключ /WA не указывается, то подразумевается, что используется параметр командной строки /WA+
/AU-
запрет вывода вопроса об обновлении текущей версии 1С:Предприятия с административной установки
/AU+
установка вывода вопроса об обновлении текущей версии 1С:Предприятия с административной установки. Если ключ /AU не указывается, то подразумевается, что используется параметр командной строки /AU+
/Out<Имя файла>
[-NoT_runcate]
установка файла для вывода служебных сообщений. Если задан ключ –NoT_runcate (через пробел), файл не очищается
/L<Каталог>
указывается каталог локализованных ресурсов интерфейса (например, «RU»)
/DisableStartupMessages
Подавляет стартовые сообщения: «Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить?»; «Возможностей Вашего компьютера недостаточно для редактирования справки по конфигурации. Для редактирования справки необходимо установить Microsoft Internet Explorer версии 6.0 или выше.»; «Возможностей Вашего компьютера недостаточно для редактирования html-документов, в том числе разделов справки. Для редактирования html-документов необходимо установить Microsoft Internet Explorer версии 6.0 или выше. В данном запуске редактирование html-документов будет недоступно.»
/C<Строка текста>
передача параметра в конфигурацию
С:\1CV8\BIN\1CV8.EXE ENTERPRISE /FDB
Приведенная командная строка означает, что система 1С:Предприятие 8.0 будет запущена в режиме «1С:Предприятие», а информационная база находится в подкаталоге «\DB» каталога «С:\1CV8\BIN».
С:\1cv81bin\1cv8.exe enterprise /s Serv06\ZUP /L RU
А эта приведенная командная строка означает, что система 1С:Предприятие 8.0 будет запущена в режиме «1С:Предприятие», адрес информационной базы ZUP, хранящейся на сервере 1С:Предприятия Serv06 и интерфейс Русский