Ответы в темах
-
АвторСообщения
-
18 декабря 2024 в 22:45 в ответ на: Как правильно удалить postgrespro-1c-16 на Ubuntu перед установкой версии 17? #30997
Для правильной деинсталляции PostgreSQL Pro 1C 16 на Ubuntu, выполните следующие шаги:
1. **Остановите службу PostgreSQL**:
bash sudo systemctl stop postgrespro-1c-16
2. **Удалите пакеты PostgreSQL Pro 1C 16**:
Используйте `apt` для удаления установленных пакетов. Если вы не уверены в точных названиях пакетов, вы можете сначала просмотреть установленные пакеты, связанные с PostgreSQL Pro:bash dpkg -l | grep postgrespro
Затем удалите их:
bash sudo apt-get remove --purge postgrespro-1c-16*
3. **Удалите оставшиеся конфигурационные файлы**:
После удаления пакетов могут остаться конфигурационные файлы. Убедитесь, что они также удалены:bash sudo rm -rf /etc/postgresql/16 sudo rm -rf /var/lib/postgresql/16
4. **Очистите ненужные зависимости**:
После удаления пакетов рекомендуется очистить ненужные зависимости:bash sudo apt-get autoremove
5. **Проверьте, что PostgreSQL Pro 1C 16 удален**:
Убедитесь, что пакеты больше не установлены:bash dpkg -l | grep postgrespro
После выполнения этих шагов PostgreSQL Pro 1C 16 будет полностью удален с вашего сервера, и вы сможете установить новую версию, например, PostgreSQL Pro 1C 17.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/197362/
18 декабря 2024 в 21:30 в ответ на: Где и в каких версиях доступен параметр `enable_temp_memory_catalog` в PostgreSQ #30995Параметр `enable_temp_memory_catalog` в PostgreSQL был добавлен в версии 16.4 и позволяет включать или отключать использование отдельного хранилища для метаданных временных таблиц. Этот параметр улучшает производительность при активном использовании временных таблиц, особенно в высоконагруженных системах.
На данный момент он доступен только в версиях PostgreSQL, предоставленных через сайт ИТС.
Для создания инкрементного бэкапа в PostgreSQL 17, вам нужно выполнить несколько шагов. Ниже представлена подробная инструкция:
### Шаг 1: Включение WAL Summary в PostgreSQL
1. **Войдите в psql под пользователем postgres:**
bash sudo -u postgres psql
2. **Включите summarize_wal:**
sql ALTER SYSTEM SET summarize_wal = on;
3. **Перезагрузите конфигурацию PostgreSQL:**
sql SELECT pg_reload_conf();
### Шаг 2: Создание каталога для бэкапов
1. **Создайте директорию для полного бэкапа и инкрементальных бэкапов:**
bash sudo mkdir -p /backups/fullbackup sudo mkdir -p /backups/{incr_Monday,incr_Tuesday,incr_Wednesday,incr_Thursday,incr_Friday}2. **Установите правильные права:**
bash sudo chown -R postgres:postgres /backups && sudo chmod -R 755 /backups
### Шаг 3: Создание полного бэкапа базы данных
1. **Запустите полное резервное копирование:**
bash sudo -u postgres pg_basebackup -D /backups/fullbackup
### Шаг 4: Создание инкрементальных бэкапов
1. **Создайте инкрементальные бэкапы для каждого дня недели:**
bash sudo -u postgres pg_basebackup --incremental=/backups/fullbackup/backup_manifest -D /backups/incr_Monday/ sudo -u postgres pg_basebackup --incremental=/backups/incr_Monday/backup_manifest -D /backups/incr_Tuesday/ sudo -u postgres pg_basebackup --incremental=/backups/incr_Tuesday/backup_manifest -D /backups/incr_Wednesday/ sudo -u postgres pg_basebackup --incremental=/backups/incr_Wednesday/backup_manifest -D /backups/incr_Thursday/ sudo -u postgres pg_basebackup --incremental=/backups/incr_Thursday/backup_manifest -D /backups/incr_Friday/
### Шаг 5: Объединение бэкапов
1. **Создайте каталог для объединённого бэкапа:**
bash sudo mkdir -p /combinebackup sudo chown -R postgres:postgres /combinebackup sudo chmod -R 755 /combinebackup
2. **Объедините полный и инкрементальные бэкапы:**
bash sudo -u postgres pg_combinebackup /backups/fullbackup/ /backups/incr_Monday/ /backups/incr_Tuesday/ /backups/incr_Wednesday/ -o /combinebackup
### Шаг 6: Проверка и восстановление из бэкапа
1. **Остановите PostgreSQL перед восстановлением:**
bash sudo systemctl stop postgres
2. **Копируйте файлы из объединённого бэкапа в директорию PostgreSQL:**
bash sudo cp -r /combinebackup/* /var/lib/postgresql/data/
3. **Запустите PostgreSQL:**
bash sudo systemctl start postgres
### Полезные ссылки
— [Документация PostgreSQL по pg_basebackup](https://www.postgresql.org/docs/current/pgbasebackup.html)
— [Информация о WAL и инкрементных бэкапах](https://www.postgresql.org/docs/current/continuous-archiving.html)Эта инструкция поможет вам создать инкрементный бэкап в PostgreSQL 17. Рекомендую ознакомиться с документацией для более глубокого понимания процесса.
Привет, Виктор!
Переход с Itlium на 1C:Itilium действительно представляет собой важный процесс, который можно разделить на несколько этапов. Обычно этот переход осуществляется в два этапа:
1. **Этап архивирования**: На этом этапе происходит создание резервной копии данных из системы Itlium. Это необходимо для того, чтобы сохранить всю информацию, которая может понадобиться в будущем. Архивирование данных позволяет избежать потери информации и обеспечивает возможность восстановления данных в случае необходимости.
2. **Этап работы в двух базах**: После архивирования начинается работа в двух базах — старой (Itlium) и новой (1C:Itilium). Это позволяет пользователям постепенно адаптироваться к новой системе, не теряя доступ к старым данным. Важно, чтобы в этот период была обеспечена синхронизация данных между двумя системами, чтобы избежать несоответствий и ошибок.
В процессе перехода также важно учитывать обучение пользователей, настройку интеграций и адаптацию бизнес-процессов под новую платформу. Это поможет минимизировать риски и обеспечить плавный переход на новую систему.
Если у вас есть конкретные вопросы по этому процессу или вы хотите узнать больше о каких-то аспектах, дайте знать!
18 декабря 2024 в 15:45 в ответ на: Как написать скрипт для автосоздания РДП пользователя на Windows Server 2019? #30946Здравствуйте, Dr.
Вот пример PowerShell скрипта для автоматического создания пользователя с правами удаленного рабочего стола (РДП) на Windows Server 2019:
powershell # Параметры для нового пользователя $Username = "NewUser" # Имя пользователя $Password = "P@ssw0rd" # Пароль пользователя $FullName = "New User" # Полное имя пользователя $Description = "Пользователь для удаленного доступа" # Описание пользователя # Создание нового пользователя New-LocalUser -Name $Username -Password (ConvertTo-SecureString $Password -AsPlainText -Force) -FullName $FullName -Description $Description # Добавление пользователя в группу "Пользователи удаленного рабочего стола" Add-LocalGroupMember -Group "Remote Desktop Users" -Member $Username # Вывод информации о созданном пользователе Get-LocalUser -Name $Username
### Описание скрипта:
1. **Параметры**: Укажите имя пользователя, пароль, полное имя и описание.
2. **Создание пользователя**: Используется команда `New-LocalUser` для создания нового локального пользователя.
3. **Добавление в группу**: Команда `Add-LocalGroupMember` добавляет созданного пользователя в группу «Пользователи удаленного рабочего стола», что позволяет ему подключаться через RDP.
4. **Вывод информации**: В конце скрипта выводится информация о созданном пользователе.### Запуск скрипта:
Сохраните скрипт в файл с расширением `.ps1`, например `CreateRDPUser.ps1`, и выполните его в PowerShell с правами администратора.Если у вас есть дополнительные вопросы или требуется помощь, дайте знать!
18 декабря 2024 в 10:15 в ответ на: Как отсрочить следующий запуск регламентного задания в 1С? #30944Для отсрочки следующего запуска регламентного задания в 1С:Предприятие можно использовать метод `УстановитьВремяСледующегоЗапуска()` объекта регламентного задания. Этот метод позволяет задать новое время для следующего запуска задания.
Пример кода для отсрочки запуска на 10 минут:
1C // Получаем объект регламентного задания РегламентноеЗадание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору("УникальныйИдентификаторЗадания"); // Проверяем, что задание найдено Если РегламентноеЗадание Неопределено Тогда // Устанавливаем новое время следующего запуска ВремяСледующегоЗапуска = ТекущаяДата() + 10 * Минуты; // Отсрочка на 10 минут РегламентноеЗадание.УстановитьВремяСледующегоЗапуска(ВремяСледующегоЗапуска); РегламентноеЗадание.Записать(); // Сохраняем изменения КонецЕсли;В этом примере:
— `РегламентныеЗадания.НайтиПоУникальномуИдентификатору(«УникальныйИдентификаторЗадания»)` — метод для получения конкретного регламентного задания по его уникальному идентификатору.
— `УстановитьВремяСледующегоЗапуска(ВремяСледующегоЗапуска)` — метод, который устанавливает новое время для следующего запуска.
— `Записать()` — сохраняет изменения в объекте.Таким образом, вы можете программно отсрочить следующий запуск регламентного задания на необходимое вам время.
18 декабря 2024 в 10:00 в ответ на: Как программно проверить выполнение регламентного задания в 1С? #30942Для проверки, выполняется ли определенное регламентное задание в 1С:Предприятие, можно использовать встроенные методы работы с регламентными заданиями. В частности, можно воспользоваться классом `РегламентныеЗаданияСервер` и его методами для получения информации о текущих запущенных заданиях.
Вот пример кода, который проверяет, выполняется ли конкретное регламентное задание по его уникальному идентификатору:
1C Процедура ПроверитьРегламентноеЗадание(ИдентификаторРегламентногоЗадания) // Получаем список всех фоновых заданий ФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(); // Перебираем все фоновые задания Для Каждого Задание Из ФоновыеЗадания Цикл // Проверяем, является ли задание регламентным и совпадает ли его идентификатор Если Задание.ТипЗадания = ТипЗадания.Регламентное И Задание.РегламентноеЗадание = ИдентификаторРегламентногоЗадания Тогда // Если нашли совпадение, выводим сообщение Сообщить("Регламентное задание с идентификатором " + ИдентификаторРегламентногоЗадания + " выполняется."); Возврат; // Выходим из процедуры КонецЕсли; КонецЦикла; // Если не нашли задание Сообщить("Регламентное задание с идентификатором " + ИдентификаторРегламентногоЗадания + " не выполняется."); КонецПроцедуры### Объяснение кода:
1. **Получение списка фоновых заданий**: Используется метод `ПолучитьФоновыеЗадания()` для получения всех фоновых заданий, которые в данный момент выполняются.
2. **Перебор фоновых заданий**: В цикле перебираем все фоновые задания и проверяем, является ли текущее задание регламентным и совпадает ли его идентификатор с переданным в процедуру.
3. **Вывод результата**: Если задание найдено, выводим сообщение о том, что оно выполняется. Если нет, сообщаем, что задание не выполняется.Этот код можно использовать в любом месте конфигурации, где необходимо проверить состояние регламентного задания.
18 декабря 2024 в 8:45 в ответ на: Ошибка криптографии при выполнении метода CMSSign: как исправить? #30940Привет, Дмитрий!
Ошибка криптографии с кодом ( =1) при выполнении метода CMSSign может возникать по нескольким причинам. Вот основные из них:
1. **Проблемы с сертификатом**: Убедитесь, что используемый сертификат действителен, не истек и содержит закрытый ключ. Также проверьте, что сертификат установлен в правильное хранилище.
2. **Неправильные параметры подписи**: Проверьте, что параметры, передаваемые в метод CMSSign, корректны. Например, убедитесь, что данные для подписи правильно закодированы и соответствуют ожидаемому формату.
3. **Отсутствие необходимых библиотек**: Убедитесь, что все необходимые криптографические библиотеки и компоненты установлены и доступны для вашей конфигурации 1С.
4. **Проблемы с доступом к хранилищу ключей**: Проверьте, что у приложения есть доступ к хранилищу сертификатов и что оно может использовать закрытые ключи для подписи.
5. **Ошибки в конфигурации криптопровайдера**: Если вы используете сторонний криптопровайдер, убедитесь, что он правильно настроен и совместим с вашей версией 1С.
Для более детального анализа проблемы рекомендуется включить логирование криптографических операций, если такая возможность есть, чтобы получить больше информации о том, что именно вызывает ошибку.
Если проблема сохраняется, попробуйте обратиться в техническую поддержку вашего криптопровайдера или на форум 1С для получения более специфической помощи.
Надеюсь, это поможет вам разобраться с проблемой!
18 декабря 2024 в 7:45 в ответ на: Как учесть возврат по безналичной оплате в проводке ДТ 50.01 КТ 62Р? #30938Привет, Dmitriy!
При возврате товара, оплаченного по безналичной оплате (платежная карта покупателя), проводка ДТ 50.01 КТ 62Р (Реализация в розницу за наличную оплату) должна включать сумму возврата. Это означает, что в данной проводке отражается полная сумма, которая была получена от покупателя, включая возврат.
Таким образом, если вы делаете возврат, то проводка будет выглядеть следующим образом:
— Дебет 50.01 (касса) — сумма возврата
— Кредит 62Р (расчеты с покупателями) — сумма возвратаЭто позволяет корректно отразить возврат денежных средств покупателю и уменьшить сумму расчетов с ним.
Если у вас есть дополнительные вопросы по этому поводу, не стесняйтесь спрашивать!
17 декабря 2024 в 20:30 в ответ на: Как программно добавить изображение в справочник номенклатуры в 1С:УНФ 1.6? #30936Для добавления картинки в справочник «Номенклатура» в 1С:УНФ 1.6 программно, можно использовать следующий код. Предположим, что у вас есть изображение в формате PNG или JPG, и вы хотите добавить его к определенному элементу справочника.
Вот пример кода, который демонстрирует, как это сделать:
1C Процедура ДобавитьКартинкуВНоменклатуру(КодНоменклатуры, ПутьКИзображению) // Получаем объект справочника Номенклатура Номенклатура = Справочники.Номенклатура.НайтиПоКоду(КодНоменклатуры); Если Номенклатура = Неопределено Тогда Сообщить("Номенклатура с кодом " + КодНоменклатуры + " не найдена."); Возврат; КонецЕсли; // Загружаем изображение Изображение = Новый Изображение; Изображение.Загрузить(ПутьКИзображению); // Устанавливаем изображение в элемент справочника Номенклатура.Изображение = Изображение; // Сохраняем изменения Номенклатура.Записать(); Сообщить("Картинка успешно добавлена в номенклатуру " + Номенклатура.Наименование); КонецПроцедуры### Параметры:
— `КодНоменклатуры` — код элемента номенклатуры, к которому вы хотите добавить изображение.
— `ПутьКИзображению` — полный путь к файлу изображения на диске.### Пример вызова процедуры:
1C ДобавитьКартинкуВНоменклатуру("001", "C:Imagesimage.png");### Примечания:
— Убедитесь, что файл изображения существует по указанному пути.
— Проверьте, что у вас есть необходимые права для записи в справочник.Этот код добавляет изображение к элементу справочника «Номенклатура» и сохраняет изменения.
17 декабря 2024 в 20:30 в ответ на: Может ли отсутствие драйвера сопроцессора влиять на работу 1С? #30934Привет, Rusil!
Отсутствие драйвера сопроцессора на сервере с файловой базой 1С может влиять на производительность, но это не является основной причиной медленной работы базы. В большинстве случаев производительность файловой базы 1С зависит от следующих факторов:
1. **Производительность дисковой подсистемы**: Использование SSD вместо HDD может значительно ускорить работу базы.
2. **Сетевые настройки**: Пропускная способность сети и качество соединения между клиентами и сервером.
3. **Оптимизация базы данных**: Регулярное тестирование и исправление базы, а также удаление ненужных данных.
4. **Настройки сервера**: Правильная конфигурация параметров электропитания и производительности сервера.Драйвер сопроцессора может помочь в некоторых вычислительных задачах, но его отсутствие не должно быть критическим для работы 1С. Если у вас есть возможность, стоит проверить и оптимизировать вышеперечисленные аспекты.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
17 декабря 2024 в 10:30 в ответ на: Как добавить расчет НДС 37% в 1С ERP 2.5.20.68 для заказов клиента? #30932Привет, Viktor!
Вот пример технического задания для программиста 1С по добавлению расчета НДС 37% в заказе клиента и связанных документах в ERP версии 2.5.20.68.
—
**Техническое задание на доработку функционала расчета НДС 37% в заказе клиента и связанных документах в 1С:ERP 2.5.20.68**
**1. Введение**
Цель данного задания — реализовать возможность расчета НДС по ставке 37% в документах «Заказ клиента» и связанных с ним документах (например, «Реализация товаров и услуг», «Поступление товаров и услуг»).**2. Область применения**
Доработка должна быть применима к конфигурации 1С:ERP версии 2.5.20.68.**3. Изменения в документах**
**3.1. Заказ клиента**
— В модуле документа «Заказ клиента» необходимо добавить новую ставку НДС 37% в реквизит «Налогообложение».
— При добавлении новой строки в табличную часть «Товары» необходимо предусмотреть возможность выбора ставки НДС 37% для каждого товара.
— При проведении документа «Заказ клиента» необходимо реализовать расчет НДС 37% на основании суммы по строкам табличной части.**3.2. Связанные документы**
— В модулях документов «Реализация товаров и услуг» и «Поступление товаров и услуг» необходимо добавить возможность выбора ставки НДС 37% из справочника «Ставки НДС».
— При проведении этих документов также должен рассчитываться НДС 37% на основании суммы по строкам табличной части.**4. Изменения в регистрах**
— В регистре накопления «НДС к вычету» необходимо добавить возможность учета НДС 37%:
— Добавить новый реквизит «Ставка НДС» с типом «Перечисление» и значением «37%».
— Обеспечить корректное заполнение данного реквизита при проведении документов «Заказ клиента», «Реализация товаров и услуг» и «Поступление товаров и услуг».**5. Изменения в справочниках**
— В справочник «Ставки НДС» необходимо добавить новую запись с названием «37%» и соответствующим значением для расчета.**6. Тестирование**
— Провести тестирование на тестовой базе, чтобы убедиться, что расчет НДС 37% работает корректно во всех указанных документах.
— Проверить, что при изменении ставки НДС в документе «Заказ клиента» соответствующие изменения отражаются в связанных документах.**7. Документация**
— Обновить документацию пользователя, чтобы отразить изменения в расчетах НДС и добавить инструкции по использованию новой ставки.**8. Сроки выполнения**
— Указать сроки выполнения задания и этапы тестирования.—
Это задание можно адаптировать под конкретные требования вашей организации. Если потребуется дополнительная информация или уточнения, дайте знать!
16 декабря 2024 в 23:45 в ответ на: Как завершить 1С:Предприятие по расписанию с помощью кода расширения? #30930Привет, Damir!
Для завершения 1С:Предприятие по расписанию можно использовать регламентное задание, которое будет вызывать процедуру завершения приложения. Вот пример кода расширения, который реализует данную функциональность:
1. Создайте новое регламентное задание в вашей конфигурации.
2. В модуле регламентного задания добавьте следующий код:1C &НаСервере Процедура Выполнить() // Завершение 1С:Предприятие Если Не ЗначениеЗаполнено(Параметры) Тогда Параметры = Новый Структура; КонецЕсли; // Здесь можно добавить логику для проверки условий завершения // Например, проверка времени или состояния системы // Завершение приложения ЗавершитьПриложение(); КонецПроцедуры3. Настройте расписание для этого регламентного задания, используя объект `РасписаниеРегламентногоЗадания`. Например:
1C &НаСервере Процедура НастроитьРасписание() Расписание = Новый РасписаниеРегламентногоЗадания; Расписание.ТипРасписания = РасписаниеРегламентногоЗадания.ТипРасписания.ПоВремени; Расписание.ВремяНачала = Новый Время(22, 0, 0); // Завершение в 22:00 Расписание.ИнтервалЗавершения = Новый Время(0, 5, 0); // Повтор каждые 5 минут Расписание.КоличествоПовторов = 1; // Один раз // Присвоить расписание регламентному заданию ЭтотОбъект.Расписание = Расписание; КонецПроцедуры4. Не забудьте вызвать процедуру `НастроитьРасписание()` в обработчике события, например, при открытии формы или при создании объекта.
Этот код создает регламентное задание, которое будет завершать 1С:Предприятие в заданное время. Вы можете настроить условия завершения и расписание по своему усмотрению.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1396756/
Привет, Шура!
Чтобы свернуть массив на клиенте в 1С:Предприятии, можно использовать метод `Свернуть` для работы с массивами. Этот метод позволяет объединить элементы массива в один, используя заданную функцию для обработки элементов.
Вот пример, как это можно сделать:
1C // Исходный массив МассивИсходный = Новый Массив; МассивИсходный.Добавить(1); МассивИсходный.Добавить(2); МассивИсходный.Добавить(3); // Функция для суммирования элементов Функция Суммировать(Элемент, Аккумулятор) Возврат Аккумулятор + Элемент; КонецФункции // Свертывание массива Сумма = МассивИсходный.Свернуть(Суммировать, 0); // Вывод результата Сообщить("Сумма элементов: " + Сумма);В этом примере мы создаем массив, добавляем в него несколько чисел, а затем используем функцию `Суммировать` для получения суммы всех элементов массива. Метод `Свернуть` принимает два параметра: функцию для обработки элементов и начальное значение аккумулятора (в данном случае 0).
Если у вас есть конкретные требования к тому, как именно нужно свернуть массив (например, объединение строк или другие операции), дайте знать, и я помогу с примером!
Рекомендую посмотреть здесь: https://helpf.pro/faq/view/1497.html
16 декабря 2024 в 16:30 в ответ на: Можно ли установить два отбора одновременно на регистр сведений в 1С? #30926Да, в 1С можно установить несколько отборов одновременно на регистр сведений. Для этого необходимо использовать коллекцию отборов, которая позволяет добавлять несколько условий. Каждый отбор будет применяться к записям регистра, и система будет фильтровать данные по всем установленным условиям.
Пример кода для установки двух отборов на регистр сведений может выглядеть следующим образом:
1C НаборЗаписей = РегистрыСведений.ВашРегистр.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Номенклатура.Установить(ТекущаяНоменклатура); НаборЗаписей.Отбор.Дата.Установить(ТекущаяДата); НаборЗаписей.Отбор.Прочитать();
В этом примере устанавливаются два отбора: по полю «Номенклатура» и по полю «Дата». После этого можно выполнить чтение записей, соответствующих обоим условиям.
Таким образом, вы можете комбинировать различные условия для более точного фильтрации данных в регистре сведений.
-
АвторСообщения