Бывают случаи когда нужно восстановить доступ к 1С, но пароль утерян или прошлый программист уволился и прочее. Доступные методы в интернете не работают с версии 8.3.17, а некоторые методы полностью вычищают список пользователей. Данный метод позволит просто сменить пароль администратора и восстановить доступ к 1С, но для его исполнения Вам нужен доступ к MS SQL
Пункт 1. Открываем Microsoft Management Studios, выбираем нужную базу, нажимаем правой кнопкой мыши, выбираем Новый запрос (New Query)
create table v8users(ID binary(16) NOT NULL,Name nvarchar(64) NOT NULL,Descr nvarchar(128) NOT NULL,OSName nvarchar(128) NULL,Changed datetime2(0) NOT NULL,RolesID numeric(10,0) NOT NULL,Show binary(1) NOT NULL,Data varbinary(max) NOT NULL,EAuth binary(1) NULL,AdmRole binary(1) NULL,UsSprH numeric(10,0) NULL,PRIMARY KEY (ID));
Пункт 3. Открываем конфигуратор 1С (откроется сразу, без пароля и логина), не закрывая конфигуратор выполняем пункт 1 снова и вставляем запрос ниже:
Пункт 4. Открываем в конфигураторе список пользователей (Администрирование - пользователи) и меняем пароль нужного пользователя. Закрываем конфигуратор и запускаем 1С, теперь пароль изменен.
Зарплата и управление персоналом, редакция 3.1 (3.1.16.108)
Столкнулся с такой ситуацией:
При расчете зарплаты за октябрь и ноябрь 2020 г., сумма начисления по некоторым сотрудниками регистр накопления "Учет доходов для исчисления страховых взносов" не совпадают. Пример во вложении.
Обнаружили при подготовке отчета за 2020г.
Если предположить, что в декабре программа сделает перерасчет за год, то нет. Мы и обнаружили, что сумма по году не совпадает. Потом я стал сравнивать по каждому сотруднику.
До октября цифры совпадают
Регистр "Начисления и удержания по сотрудникам" совпадает с расчетным листком.
Проверял с помощью «chdbfl.exe», тестировал из конфигуратора : реиндексация, проверка логической целостности, проверка ссылочной целостности, перерасчет итогов, сжатие таблиц, реструктуризация таблиц. Ошибка осталась
Отменил все начисления зарплаты после октября 2020, на текущей конфигурации, с помощью нового документы сделал начисление зарплаты. Результат тот же.
При нажатии на строку в регистре, открывает документ начисление зарплаты, где ни у кого нет такой суммы начисления.
В регистре "Учет доходов для исчисления страховых взносов" документ-основание "Начисление зарплаты и взносов" стоит на всех записях октября
Сравнивал конфигурацию рабочей базы с чистой конфигурацией. Они идентичны.
Выгрузка в «dt» и обратная загрузка в пустую конфигурацию не помогла.
У меня несколько клиентов, у всех все нормально.
Внешнего воздействия на базу не было, за исключением загрузки кадровых документов из «Контур персонал». Кадровичка не хочет работать с 1С. Следов в этом регистре тоже не обнаружил.
Не совпадают начисления почти все, за исключение созданных отдельным документом, доплаты и т.д.
Повторюсь, ошибки примерно у половины сотрудников из 350 чел
Пробовал отследить с отладчиком откуда берется дурное значение, запутался в модулях.
Я так глубоко давно не разбирался с конфигурацией.
Если кто то подскажет хотя бы примерно где копать, буду очень благодарен.
Зарплата и управление персоналом, редакция 3.1 (3.1.16.108)
Столкнулся с такой ситуацией:
При расчете зарплаты за октябрь и ноябрь 2020 г., сумма начисления по некоторым сотрудниками регистр накопления "Учет доходов для исчисления страховых взносов" не совпадают. Пример во вложении.
Обнаружили при подготовке отчета за 2020г.
Если предположить, что в декабре программа сделает перерасчет за год, то нет. Мы и обнаружили, что сумма по году не совпадает. Потом я стал сравнивать по каждому сотруднику.
До октября цифры совпадают
Регистр "Начисления и удержания по сотрудникам" совпадает с расчетным листком.
Проверял с помощью «chdbfl.exe», тестировал из конфигуратора : реиндексация, проверка логической целостности, проверка ссылочной целостности, перерасчет итогов, сжатие таблиц, реструктуризация таблиц. Ошибка осталась
Отменил все начисления зарплаты после октября 2020, на текущей конфигурации, с помощью нового документы сделал начисление зарплаты. Результат тот же.
При нажатии на строку в регистре, открывает документ начисление зарплаты, где ни у кого нет такой суммы начисления.
В регистре "Учет доходов для исчисления страховых взносов" документ-основание "Начисление зарплаты и взносов" стоит на всех записях октября
Сравнивал конфигурацию рабочей базы с чистой конфигурацией. Они идентичны.
Выгрузка в «dt» и обратная загрузка в пустую конфигурацию не помогла.
У меня несколько клиентов, у всех все нормально.
Внешнего воздействия на базу не было, за исключением загрузки кадровых документов из «Контур персонал». Кадровичка не хочет работать с 1С. Следов в этом регистре тоже не обнаружил.
Не совпадают начисления почти все, за исключение созданных отдельным документом, доплаты и т.д.
Повторюсь, ошибки примерно у половины сотрудников из 350 чел
Пробовал отследить с отладчиком откуда берется дурное значение, запутался в модулях.
Я так глубоко давно не разбирался с конфигурацией.
Если кто то подскажет хотя бы примерно где копать, буду очень благодарен.
Зарплата и управление персоналом, редакция 3.1 (3.1.16.108)
Столкнулся с такой ситуацией:
При расчете зарплаты за октябрь и ноябрь 2020 г., сумма начисления по некоторым сотрудниками регистр накопления "Учет доходов для исчисления страховых взносов" не совпадают. Пример во вложении.
Обнаружили при подготовке отчета за 2020г.
Если предположить, что в декабре программа сделает перерасчет за год, то нет. Мы и обнаружили, что сумма по году не совпадает. Потом я стал сравнивать по каждому сотруднику.
До октября цифры совпадают
Регистр "Начисления и удержания по сотрудникам" совпадает с расчетным листком.
Проверял с помощью «chdbfl.exe», тестировал из конфигуратора : реиндексация, проверка логической целостности, проверка ссылочной целостности, перерасчет итогов, сжатие таблиц, реструктуризация таблиц. Ошибка осталась
Отменил все начисления зарплаты после октября 2020, на текущей конфигурации, с помощью нового документы сделал начисление зарплаты. Результат тот же.
При нажатии на строку в регистре, открывает документ начисление зарплаты, где ни у кого нет такой суммы начисления.
В регистре "Учет доходов для исчисления страховых взносов" документ-основание "Начисление зарплаты и взносов" стоит на всех записях октября
Сравнивал конфигурацию рабочей базы с чистой конфигурацией. Они идентичны.
Выгрузка в «dt» и обратная загрузка в пустую конфигурацию не помогла.
У меня несколько клиентов, у всех все нормально.
Внешнего воздействия на базу не было, за исключением загрузки кадровых документов из «Контур персонал». Кадровичка не хочет работать с 1С. Следов в этом регистре тоже не обнаружил.
Не совпадают начисления почти все, за исключение созданных отдельным документом, доплаты и т.д.
Повторюсь, ошибки примерно у половины сотрудников из 350 чел
Пробовал отследить с отладчиком откуда берется дурное значение, запутался в модулях.
Я так глубоко давно не разбирался с конфигурацией.
Если кто то подскажет хотя бы примерно где копать, буду очень благодарен.
Есть много примеров кода 1с для определения строки состоящей только из цифр. Как правило, это цикл с перебором значений строки. Предлагаю еще один без циклов, с использованием регулярных выражений
Если в строке только цифры, результат = 1, если нет - 0
Иногда возникает необходимость обработать фотографии в 1С автоматически, уменьшить вес картинок в килобайтах, за счет удаления из файла не нужной технической информации и сглаживания цветов, или изменить размер, уменьшить картинку пропорционально задав максимальный размер по ширине или высоте.В этом случае можно:1) установить специальные библиотеки в операционной системе для работы с графикой, н-р GFLAx и подключать их как com-объекты2) использовать api сервисов, таких как optipic.io.
Рассмотрим оба варианта:1) Использование GFLAxСкачиваем и устанавливаем библиотеку GFLAx, скачать можно здесь https://www.xnview.com/en/#downloads
Далее её надо зарегистрировать в Windows. Для этого запускаем CMD.exe с правами администратора и набираем: regsrv32 "путь_к_DLL\GFLAx.dll"Далее уже в программе, для пропорционального изменения размера файла до максимального размера в 500 пикселей можно вставить такой код:
Данный способ требует специальных настроек операционной системы, навыков системного администрирования и данный способ не проводит полноценную оптимизацию картинки.Кроме того, на компьютере или сервере, где производиться оптимизация эта библиотека должна быть установлена.2) Использование сервиса optipic.ioПодобные сервисы обычно платные, но стоимость использования не высокая, а качество и гибкость существенно выше.
Преимущества использования сервиса optipic.io в проектах 1С:
Легко подключить
Не нужно устанавливать дополнительные библиотеки в операционной системе
Можно использовать как для оптимизации изображений, так и для изменения размера изображения в пикселях (ресайз)
Не зависит от операционной системы и типа используемого клиента
Конфигурация будет работать после переезда на другой компьютер или сервер
Качество и эффективность сжатия производятся в самом оптимальном виде
Использование сервиса можно легко встроить в любой свой проект на 1С. Для этого можно добавить себе функцию, в которую передавать имя файла с исходной картинкой и параметры оптимизации. А в качестве ответа получить имя файла уже оптимизированного сервисом.
Пример такой функции для 1C8:
И далее в коде обращаться к данной функции, н-р так
PostgreSQL напрямую "из коробки" применяться для использования с 1С Предприятем не может. Необходима именно адаптированная версия от 1С, превращающая PostgreSQL в блокировочник, причем нужно понимать, что блокировки будут накладываться на всю таблицу сразу. Если нужны блокировки на уровне записей, включаем в 1С режим управляемых блокировок и прописываем их в конфигурации ручками. Вывод: необходимо скачать специальный дистрибутив с сайта 1С или взять на диске ИТС.
Установка
Сама установка особых затруднений не вызывает, обратить внимание нужно на правильную инициализацию базы данных, а именно настройку локали, изменить потом это можно только повторной начальной инициализацией. Например, база 1С с украинскими региональными установками в СУБД с установленной русской локалью не загрузится. Да и проблемы с сортировкой потом не нужны. Поэтому делаем init в соответствии с нужным языком.
5.Удаляем службу PostgreSQL, которая была установлена в ходе установки.
sc delete pgsql-9.1.2-1.1C-x64
Где pgsql-9.1.2-1.1C-x64 – Это название службы. Если не знаете название точно, можно посмотреть свойствах службы “PostgreSQL Database Server…” (Пуск – Панель управления – Администрирование – Службы )
6.Создаем новый сервис с указанием нашего кластера
7.Теперь заходим в службы. Пуск – Панель управления – Администрирование – Службы и стартуем нашу службу.
Ошибка СУБД: ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (WIN1251).
HINT: Use the same encoding as in the template database, or use template0 as template.
Вы выбрали неправильную локаль при установке СУБД (WIN1251) для сервера и клиента, нужно изменить на UTF-8 в конфигурации или переустановить СУБД со следующими параметрами:
Внимание при установке НЕ выбирайте локаль Настройки ОС, выбирайте из списка Russian, Russia
Настройка PostgreSQL
Следует помнить о рекомендации 1С не использовать в запросах конструкции ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ и заменять его, используя, например, комбинацию из нескольких левых соединений. Известна также проблема с потерей производительности в запросах, где применяется соединение с виртуальной таблицей СрезПоследних, к ней рекомендуется делать отдельные запросы и сохранять результаты во временных таблицах.
Настройка конфигурации производится редактированем файла postgresql.conf.
Наиболее важные параметры
effective_cache_size = 0,5 от ёмкости RAM
fsync = off отключаем сброс на диск после каждой транзации (Внимание! Применять только при использовании надежного UPS, есть опасность потери данных при неожиданном отключении)
synchronous_commit = off отключаем синхронную запись в лог (риски теже, что и у fsync)
wal_buffers = 0,25 от ёмкости RAM
После настройки не забываем выполнить перезапуск службы:
service postgresql restart
Настройка сети
Для подключения клиентов 1С к серверу извне и работы сервера баз данных, на файрволе, должны быть открыты следующие порты:
Агент сервера (ragent) & tcp:1540 Главный менеджер кластера (rmngr) & tcp:1541 Диапазон сетевых портов, для динамического распределения рабочих процессов & tcp:1560&1591, tcp:5432 & Postgresql. Создадим правило через стандартный интерфейс, либо с помощью команды:
Теперь с другого компьютера мы спокойно запускаем клиент 1С:Предприятия, добавляем существующую информационную базу newdb. Не забываем про лицензии, программной / аппаратной защиты.
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка:
Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe
«Содержимое указанного ниже веб-узла в этом приложении блокировано конфигурацией усиленной безопасности Internet Explorer».
Ошибка исчезает после многократного нажатия на «Закрыть», что несколько мешает работать, мягко говоря. Похожая ошибка бывает и в конфигураторе, при обновлении конфигурации или сравнении/объединении конфигураций. Чаще всего, мне попадалась эта проблема в серверных ОС, в частности Windows 2008 r2.
Решение: нужно добавить исключение в настройках безопасности Internet Explorer (далее & IE).
Это делается просто, если у вас один или несколько компьютеров & просто открываете IE/Свойства обозревателя/Безопасность/Надёжные узлы/Сайты, добавляете Aboutsecurity_1cv8c.exe и Aboutsecurity_1cv8.exe, нажимаете Ок, и наслаждаетесь результатом.
Но вот если у вас терминал-сервер и 40/60 пользователей, или еще хуже & пользователей 150 и они ходят в SQL версию 1С с локальных рабочих станций, то бегать по всем корпусам и добавлять эту настройку весьма накладно по времени, да и отвлекать пользователей лишний раз от работы не порядочно.
В этом случае, нужно пользоваться групповыми политиками домена (который у вас должен быть настроен, если вы не офисный спортсмен-бегун).
Вариант №1. Неудавшийся.
Первое решение & прописать настройки через Group Polices (Административные шаблоны/Компоненты Windows/Internet explorer/Вкладка «Безопасность»/Список назначений зоны для веб-сайтов) & не увенчалось успехом. Настройки пользователей, как и обещалось в статьях по данному методу, перестали работать, а вот зоны, описанные в этих настройках, работать не начали. При этом, я пробовал добавлять настройки и в локальные политики, и в доменные и в политики контроллера домена. Скорее всего из-за этих экспериментов с разными зонами действия групповых политик и появилась проблема.
И так, после этих манипуляций, в настройках безопасности IE появилась надпись «Некоторыми параметрами управляет системный администратор» и добавлять/удалять сайты узлов безопасности стало невозможно. От этой надписи, почему-то, оказалось не так просто избавиться. Удаление проделанных настроек GPO не разблокировали вкладку «Безопасность», а манипуляции с реестром привели к появлению ошибок «В параметрах зоны есть ошибка. Не удалось добавить сайт.» (IE 10) или «При установке параметров безопасности зоны произошла ошибка. Добавить узел не удается.» (IE 9) & все дальнейшие действия сходили на нет.
Исправить косяк удалось следующим путём:
Обновил Internet Explorer до версии 10 (был 9-й).
Предварительно экспортировав разделы реестра в файл, на случай восстановления, удалил из следующие ключи:
Восстановил настройки Internet Explorer (Свойства обозревателя/Дополнительно/Сброс).
Проверить, что проблема не вернётся можно введя команду gpupdate /force в командной строке. После обновления политики запустите IE и проверьте, что настройки остались на месте. Если настройки опять слетели и добавление сайтов в узлы безопасности стало опять невозможно, то, скорее всего вы забыли отключить параметр «Список назначений зоны для веб-сайтов» в какой-то из зон групповой политики.
Чтобы определить в какой из зон групповых политик засела настройка (в локальных, доменных или контроллера домена), удобно пользоваться мастером отчётов «Результаты групповой политики», который находится в консоли «Диспетчер сервера», в разделе «Компоненты/Управление групповой политикой» (в Windows 2008 r2, по крайне мере он там).
Так что, здесь стоит быть осторожным, чтобы не создать себе дополнительной работы.
Вариант №2. Через GPO и реестр.
Этот метод делается через те же групповые политики, но через прямые записи в реестр, а не манипулирование стандартными настройками.
Что делать:
Удаляем узлы Aboutsecurity_1cv8 из настроек IE, если вы их туда уже добавили вручную & это нужно для чистоты эксперимента. Проверьте, что в 1С ошибка сохранилась.
Небольшая ремарка: подраздел EscDomains используется в режиме расширенной настройки безопасности, если же этот режим отключен по какой-то причине, то нужно использовать раздел Domains вместо EscDomains (подробнее о записях реестра IE см. в базе знаний Microsoft).
И пробуем добавить его в реестр & если срабатывает, и в тонком клиенте 1С ошибка Aboutsecurity_1cv8c.exe исчезает, делаем дальше.
Снова открываем Default Domain Policy в диспетчере управления сервером, далее Конфигурация пользователя/Настройка/Конфигурация Windows/Реестр.
Добавляем туда две записи, где поле «Путь раздела»:
в первой записи это «Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscDomains\security_1cv8c.exe» (для тонкого клиента 1С),
во второй записи «Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\EscDomains\security_1cv8.exe» (для толстого клиента).
В остальном запись содержит те же данные, что и на картинке.
После этого, как положено, перелогиниваемся и проверяем результат. В толстом и тонком клиенте 1С:предприятие, ошибка должна исчезнуть.
В моём случае, для надёжности избавления от проделанных в Варианте №2 настроек, были добавлены ещё три записи в реестр:
Обновить: HKCU\Software\Policies\Microsoft\Windows\CurrentVersion\Internet Settings; параметр: ListBox_Support_ZoneMapKey; значение 0 (тип DWORD десятичный)
Есть ещё вариант, который переключит работу программы в режим интерфейса «Такси» : Администрирование/Настройки программы/Интерфейс & здесь включаем «Интерфейс «Такси»" & в этом режиме данная ошибка не появляется, но пользователям может не понравиться работать с этим вариантом интерфейса, т. к. он предназначен для мобильных устройств и планшетов (например, для работы через Web).
Батник на "языке 1С" для клиент серверных баз, скачивает с сайта ИТС нужное обновление, бекапит базу и обновляет. Подойдет как рабочая заготовка для собственных "обновляторов". В текущем виде все работает. Надо только занести свои переменные.
В статье описан процесс работы с MySQL базой из 1С через ODBC.
Первое что следует обязательно учесть это версия драйвера, для того чтобы всё корректно работало вам потребуется драйвер версии 3.51 (с драйвером 5-ой версии я пробился пол дня пытаясь хоть чего нибудь добиться, безрезультатно & поменял на предыдущую версию и всё заработало!
Для подключения используем вот такую строчку:
то касается кодировки то лучше её конечно задать, но на вставку записей в БД MySQL оно почемуто не влияет, и чтобы корректно всё отрабатывало и не выглядело кракозябриками после отработки скриптов, перед выполнением самих скриптов лучше выполнить вот такой вот скрипт «set names cp1251» в рамках соединения он правильно установит кодировку (так надёжнее).
Для работы с самой базой объявляем объект ADODB.Connection & это соединение с базой.
Для работы с данными можем объявить: ADODB.Recordset & для чтения данных, и ADODB.Command для изменения.
(ADODB.Command & не имеет метода ExecuteScalar, поэтому вместо него придётся обходиться Recordset-ом и с его помощью выбирать данные, хотя возможно я чегото не доглядел).
Если Не ФайлПрограммы.Существует() Тогда ТекстСообщения = "Не установлена программа - Bullzip"; ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);