Пошаговый рабочий алгоритм выгрузки в EXCEL на примере выгрузки отчетов производства за смену(Автор статьи: Funny):
(1) Нарисовать форму обработки и к кнопке запуска прицепить процедуру:
(2) Создадим функцию ПроверкаДат() корректного указания дат обработки
(3) Создадим процедуру ПолучитьДанныеВТаблице() выборки требуемых данных из документов в таблицу значений
(4) Создадим процедуру СортироватьТаблицу() для сортировки таблицы значений как нам нужно
(5) Создадим процедуру ВыгрузитьТаблицуВФайл() выгрузки ТЗ в Excel-файл:
После разнесение сервера 1С:Предприятия и SQL-сервера на разные машины при загрузке dt-файла в базу расположенную на SQL-сервере стали получать ошибку "Недостаточно свободной памяти на сервере 1С:Предприятия".
или (Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: there is insufficient memory in resource pool ‘default’ to run this query. HRESULT=80040E14 )
Решение проблемы:
1. При возникновении ошибки перезапустить службу сервера 1С.
2. Использовать много процессов(В свойствах кластера поставить галочку "Много процессов"). Добавить рабочие процессы, оптимальное значение 4-5 процессов.
3. Использовать регламентный перезапуск рабочих процессов. Но это не снимет проблему. Просто сократит "утечку" памяти.
4. Для операций с базой данных, например копирование базы данных использовать средства ms sql, а не работу с файлами dt.
5. Включите запись событий DBMSSQL в Технологический журнал
(Смотрите текст файла "logcfg.xml" ниже или воспользуйтесь обработкой с ИТС НастройкаТехнологическогоЖурнала.epf) и определите, на загрузке какой таблицы происходит ошибка. Если config, то выполните загрузку в файловый вариант и очистку конфигурации поставщика:
5.1 Для этого надо проверить конфигурацию на наличие некорректной информации. Для этого следует выполнить команду меню Конфигурация - "Проверка конфигурации" (НЕ ТЕСТИРОВАНИЕ!) с ОДНИМ установленным флажком "Проверка логической целостности конфигурации". При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически
5.2 Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении ("Удалена некорректная информация о метаданных"), значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика.
Добавление рабочего процесса
Добавление рабочего процесса, в отличие от просмотра, возможно, только для конкретного сервера кластера.
Для добавления нового рабочего процесса сервера кластера следует выбрать в дереве центральных серверов требуемый сервер, выбрать требуемый кластер, выбрать требуемый сервер кластеров выбрать ветку «Процессы» и выполнить команду контекстного меню "Создать - Процесс", галочкой Включить процесс.
Если процесс НЕ добавляется, то проверьте и сделайте следующее:
1. В свойствах Кластера должна стоять галочка "Много процессов"
2. В свойствах Рабочего сервера Увеличьте Диапозон IP адресов
По поводу перезапуска рабочих процессов - с какого момента начинается отсчет указанный в настройке кластера?
С момента старта процесса. Например стартовал в 18:00:00. Период перезапуска 86400 секунд, т.е. 24 часа. Соответственно через сутки в 18:00:00 процесс остановится и будет создан новый процесс.
Оптимизация перезапуска рабочих процессов:
1. Интервал перезапуска: 86400 сек (24 часа). Момент перезапуска не регламентируется, видимо с момента установки параметров, либо запуска сервера приложений.
2. Также можно указать допустимый объем памяти: 3000000 Кб (3 Гб).
3. Интервал превышения допустимого объема памяти — это непрерывный интервал времени превышения допустимого объема памяти, после которого сервер перезапустит процесс. Если указано 0 сек — будет ждать вечно.
2. При OLE - Нужно поставить NO_SPLASH_SHOW Внимание! - работает это только при запуске в режиме OLE Automation сервера
3. Изменить/убрать заставку при запуске
1 способ: Resource Browser'ом (плагин к FAR) заходим в 1crcrus.dll.
В ветке 1049/ZLIB_DATA находим что-то, так вот если ZLIB_DATA удалить, то никаких заставок при запуске 1С не будет. Правильно - потому что их нету
2 способ:
"Любым HEX-редактором найти в запускаемом *.EXE файле последовательность и заменить на другую:
Тип Имя файла: Найти: Заменить на:
Для Сетевой версии: в файле 1cv7.exe найти: 8B 87 54 85 00 00 и заменить на: 31 C0 90 90 90 90
Для Локальной версии: в файле 1cv7l.exe найти: 8B 8B 54 85 00 00 и заменить на 31 C9 90 90 90 90
Приведенные последовательности встречаются в файлах один раз, но для различных релизов по разным смещениям."
3 способ: Использовать патчер Soarona(по сути, он выполняет способ 2, ищите его на просторах Интернета)
Для 1С 8.х:
Для запуска создвайте скрипт VBS c кодом(для разных версий меняйте 81 на 80 или 82): Для Файлового варианта
Для 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 и интерфейс Русский
Наиболее эффективно это можно сделать с помощью объектов OLE Automation , работа с которыми осуществляется при помощи:
sp_OACreate, sp_OAGetProperty, sp_OASetProperty, sp_OAMethod, sp_OAGetErrorInfo, sp_OADestroy (подробное описание есть в http://technet.microsoft.com/ru-ru/library/ms203721(sql.90).aspx).
Рабочий пример процедуры (была написана для сохранения zip-архивов, хранящихся в базе):
Рекомендуется создать еще пару процедур для внятного описания ошибок в случае их возникновения