Оптимизация tempdb для работы 1С:ERP

Оптимизация базы данных tempdb для работы с 1С:ERP может значительно повысить производительность системы. Вот несколько рекомендаций по оптимизации:

  1. Перемещение tempdb на быстрый диск: Разместите tempdb на SSD или другом быстром диске, чтобы уменьшить время доступа к данным.
  2. Использование RAM-диска: Если это возможно, переместите tempdb на RAM-диск. Это обеспечит максимальную скорость работы, но необходимо следить за размером tempdb, чтобы избежать переполнения.
  3. Настройка файлов tempdb:
  • Создайте несколько файлов данных для tempdb (рекомендуется 4-8 файлов), чтобы избежать блокировок и улучшить параллелизм.
  • Установите фиксированный размер файлов и отключите автоматическое увеличение (autogrowth), чтобы избежать фрагментации.
  1. Мониторинг и управление размером: Регулярно проверяйте размер tempdb и используйте команды для сжатия, если это необходимо. Например, можно использовать DBCC SHRINKFILE для уменьшения размера файлов.
  2. Оптимизация запросов: Проверьте запросы, которые используют tempdb, и оптимизируйте их. Избегайте ненужного использования временных таблиц и старайтесь минимизировать объем данных, обрабатываемых в tempdb.
  3. Настройка параметров SQL Server: Убедитесь, что параметры SQL Server настроены оптимально для работы с 1С:ERP, включая настройки памяти и параллелизма.
  4. Регулярное обслуживание: Настройте регулярные планы обслуживания для очистки и оптимизации tempdb, чтобы поддерживать его в хорошем состоянии.

Эти шаги помогут улучшить производительность 1С:ERP и снизить время выполнения операций, связанных с использованием tempdb.

Как программно заполнить реквизит типа таблица значений на форме обработки неделями года в зависимости от количества недель года

Для того чтобы программно заполнить реквизит типа “Таблица значений” на форме обработки неделями года, можно использовать следующий подход. Мы создадим таблицу значений, добавим в нее колонки для номера недели и других необходимых данных, а затем заполним ее в зависимости от количества недель в году.

Вот пример кода на языке 1С:

// Создаем новую таблицу значений
ТаблицаНеделей = Новый ТаблицаЗначений;

// Добавляем колонки
ТаблицаНеделей.Колонки.Добавить(“НомерНедели”, Новый ОписаниеТипов(“Число”));
ТаблицаНеделей.Колонки.Добавить(“ДатаНачала”, Новый ОписаниеТипов(“Дата”));
ТаблицаНеделей.Колонки.Добавить(“ДатаОкончания”, Новый ОписаниеТипов(“Дата”));

// Получаем текущий год
ТекущийГод = Год(ТекущаяДата());

// Определяем количество недель в году
КоличествоНедель = 52; // По умолчанию 52 недели
Если (Месяц(КонецГода(ТекущийГод)) = 12) И (День(КонецГода(ТекущийГод)) = 31) Тогда
Если (ДеньНедели(КонецГода(ТекущийГод)) = 1) Тогда
КоличествоНедель = 53; // Если 31 декабря – понедельник
КонецЕсли;
КонецЕсли;

// Заполняем таблицу значениями
Для НомерНедели = 1 По КоличествоНедель Цикл
// Определяем даты начала и окончания недели
ДатаНачала = НачалоНедели(Дата(ТекущийГод, 1, 1) + (НомерНедели – 1) * 7);
ДатаОкончания = КонецНедели(ДатаНачала);


// Добавляем строку в таблицу
НоваяСтрока = ТаблицаНеделей.Добавить();
НоваяСтрока.НомерНедели = НомерНедели;
НоваяСтрока.ДатаНачала = ДатаНачала;
НоваяСтрока.ДатаОкончания = ДатаОкончания;

КонецЦикла;

// Присваиваем таблицу значений реквизиту на форме
ЭтотОбъект.РеквизитТаблицаНеделей = ТаблицаНеделей;

В этом коде мы:

  1. Создаем таблицу значений и добавляем необходимые колонки.
  2. Определяем текущий год и количество недель в нем.
  3. Заполняем таблицу значениями, вычисляя даты начала и окончания каждой недели.
  4. Присваиваем заполненную таблицу реквизиту на форме.

Не забудьте заменить РеквизитТаблицаНеделей на фактическое имя вашего реквизита на форме.

как загрузить данные из 1с в гугл таблицу через API

Для загрузки данных из 1С в Google Таблицу через API, вам нужно выполнить несколько шагов. Вот подробная инструкция:

1. Подготовка

1.1. Создание проекта в Google Cloud Platform

  • Перейдите в Google Cloud Console (https://console.cloud.google.com/).
  • Создайте новый проект.
  • Включите Google Sheets API для вашего проекта.

1.2. Создание учетных данных

  • В разделе “API и сервисы” выберите “Учетные данные”.
  • Создайте учетные данные типа “OAuth 2.0 Client ID” или “API Key” в зависимости от ваших требований.
  • Сохраните идентификатор клиента и секрет.

2. Получение токена доступа

Если вы используете OAuth 2.0, вам нужно будет получить токен доступа. Для этого выполните следующие шаги:

Функция ПолучитьТокенДоступа()
// Здесь должен быть код для получения токена доступа через OAuth 2.0
// Используйте идентификатор клиента и секрет для аутентификации
КонецФункции

3. Формирование запроса на загрузку данных

Теперь, когда у вас есть токен доступа, вы можете отправить данные в Google Таблицу. Вот пример кода для загрузки данных:

Функция ЗагрузитьДанныеВГуглТаблицу(ИдТаблицы, Данные, Токен)
АдресРесурса = “sheets.googleapis.com”;
АдресЗапроса = “/v4/spreadsheets/” + ИдТаблицы + “/values/Лист1!A1:append?valueInputOption=RAW&access_token=” + Токен;


Соединение = Новый HTTPСоединение(АдресРесурса, 443);
Запрос = Новый HTTPЗапрос(АдресЗапроса);
Запрос.УстановитьМетод("POST");
Запрос.УстановитьЗаголовок("Content-Type", "application/json");

// Формируем тело запроса
ТелоЗапроса = Новый Структура;
ТелоЗапроса.Вставить("values", Данные); // Данные должны быть в формате [["Значение1", "Значение2"], ["Значение3", "Значение4"]]

Запрос.УстановитьТело(ЗаписатьJSON(ТелоЗапроса));

Ответ = Соединение.Отправить(Запрос);

Если Ответ.КодСостояния = 200 Тогда
    Сообщить("Данные успешно загружены в Google Таблицу.");
Иначе
    Сообщить("Ошибка загрузки данных: " + Ответ.КодСостояния);
КонецЕсли;

КонецФункции

4. Пример использования

Данные = Новый Массив;
Данные.Добавить(Новый Массив(“Товар”, “Количество”, “Цена”));
Данные.Добавить(Новый Массив(“Груши”, 12, 14.55));
Данные.Добавить(Новый Массив(“Яблоки”, 123, 15.74));

Токен = ПолучитьТокенДоступа();
ЗагрузитьДанныеВГуглТаблицу(“ВашИдТаблицы”, Данные, Токен);

Заключение

Теперь вы можете загружать данные из 1С в Google Таблицы через API. Убедитесь, что у вас есть все необходимые разрешения и правильно настроены учетные данные.

Учет НДС при применении УСН с 01.01.2025 в УТ 11.5

Требования к системе

  • Конфигурация: 1С: Управление торговлей 11.5 (базовая, ПРОФ)
  • релиз конфигурации: 11.5.20.20 и выше

Настройки учета НДС при УСН в 1С УТ 11.5

В 1С Управление торговлей начиная с релиза 11.5.20.20 включена возможность организациям и ИП, применяющим УСН, выполнять обязанности плательщика НДС в соответствии с положениями Федерального закона N 176-ФЗ от 12.07.2024.

Чтобы активировать возможность совмещения УСН и НДС, перейдите в раздел НСИ и администрирование – Организации в карточке организации. На вкладке Учетная политика кликните по ссылке Изменить настройки учета НДС.

  • Продажа не облагается НДС, в документах выбирается ставка «Без НДС» — используется, если доход не достиг порога, при котором упрощенец становится плательщиком НДС
  • Продажи облагаются НДС по льготной ставке 5%, не применяются вычеты — используется, если доход упрощенца, превышает порог применения ставки «Без НДС» (в 2025 году это доход свыше 60 млн руб. и до 250 млн руб.). Вычетов налога при этой ставке нет
  • Продажи облагаются НДС по льготной ставке 7%, не применяются вычеты — используется, если доход упрощенца, превышает порог применения ставки 5%, но не превысил порог применения льготных ставок НДС (в 2025 году это доход свыше 250 млн руб. и до 450 млн руб.). Вычетов налога при этой ставке нет
  • Применяются общие ставки НДС (20%, 10%), применяются все вычеты — используется, если доход упрощенца, превышает порог применения льготных ставок НДС (в 2025 году это доход свыше 450 млн руб.). Вычеты по НДС применяются

По умолчанию будет установлено значение — Продажа не облагается НДС, в документах выбирается ставка «Без НДС». При превышении дохода или добровольном переходе на применение общих ставок изменения в учетной политике вносятся вручную.

В документах продаж (Заказ клиентаРеализация товаров и услугРеализация услуг и прочих активов) в поле Налогообложение выберите вид налогообложения в соответствии с установленным вариантом учета НДС:

  • Продажа не облагается НДС
  • Льготное налогообложение НДС на УСН
  • Продажа облагается НДС

В документах приобретения для организаций, совмещающих несколько режимов налогообложения, доступно поле Закупка под деятельность. Если организация применяет один режим налогообложения, это поле скрыто.

Как увеличить размер диска для zabbix appliance 7?

Моя природная лень ( как сапожник без сапог, что не выкраивает себе времени для оптимизации своего инструмента), сподвигла установить zabbix appliance готовое решение для мониторинга хостов клиентских серверов.

И уже после многочасовой настройки всех узлов мониторинга я вдруг осознал, что размер c/

Читать далее

Как сделать автоматический перезапуск службы 1С на сервере Windows с очисткой кэша сеансов?

Для автоматического перезапуска службы 1С на сервере Windows с очисткой кэша сеансов можно использовать пакетный файл (.bat), который будет выполнять необходимые команды. Вот пример такого скрипта:

@echo off
setlocal enabledelayedexpansion

:: Задаем имя службы агента сервера 1С
set agent="1C:Enterprise 8.3 Server Agent (x86-64)"

:: Задаем файл лога
set logfile="C:\path\to\your\log\LOG_restart.txt"

:: Останавливаем службу агента сервера 1С
echo %date% %time% "Stopping service %agent%" >> %logfile%
net stop %agent% >> %logfile%

:: Ждем, пока служба остановится
timeout /t 10 /nobreak >nul

:: Очищаем кэш сеансов
echo %date% %time% "Clearing session cache" >> %logfile%
set cacheDir="C:\Program Files (x86)\1cv8\srvinfo\reg_1541"
rd /s /q %cacheDir%\snccntx* >> %logfile%

:: Запускаем службу агента сервера 1С
echo %date% %time% "Starting service %agent%" >> %logfile%
net start %agent% >> %logfile%

:: Завершение
echo %date% %time% "Service restarted successfully." >> %logfile%
endlocal

Пояснение к скрипту:

  1. Остановка службы: Используется команда net stop, чтобы остановить службу 1С.
  2. Очистка кэша сеансов: Удаляются все папки с кэшем сеансов, находящиеся в указанной директории. Убедитесь, что путь к кэшу соответствует вашей установке.
  3. Запуск службы: После очистки кэша служба запускается снова с помощью команды net start.
  4. Логирование: Все действия записываются в лог-файл для последующего анализа.

Настройка автоматического выполнения:

Чтобы этот скрипт выполнялся автоматически, вы можете использовать Планировщик задач Windows:

  1. Откройте “Планировщик задач”.
  2. Создайте новую задачу.
  3. Установите триггер (например, по расписанию).
  4. В разделе “Действия” выберите “Запустить программу” и укажите путь к вашему .bat файлу.
  5. Убедитесь, что выбраны опции “Выполнить с наивысшими правами” и “Выполнять вне зависимости от регистрации пользователя”.

Рекомендации:

  • Перед использованием скрипта протестируйте его в тестовой среде, чтобы избежать потери данных или сбоев в работе.
  • Убедитесь, что у пользователя, под которым выполняется скрипт, есть необходимые права для остановки и запуска службы.

Этот подход позволит вам автоматизировать процесс перезапуска службы 1С с очисткой кэша сеансов, что может помочь в устранении различных ошибок и проблем с производительностью.

Как добавить поддержку русского языка в Zabbix Appliance 7.0?


Пароли zabblix appliance по-умолчанию :

System:

  • root:zabbix

Zabbix frontend:

  • Admin:zabbix

Database:

  • root:<random>
  • zabbix:<random>

Источник – https://www.zabbix.com/documentation/current/en/manual/appliance

1. Смотрим список доступных локалей в системе CENTOS 8.
# localectl list-locales


2. Потом активную locale:
# localectl
System Locale: LANG=en_US.UTF-8
VC Keymap: us
X11 Layout: us


3. Добавляем русский язык командой:
# dnf install glibc-langpack-ru
4.Соглашаемся с установкой пакета.


5. После этого надо перезапустить сервер на CENTOS 8.
# reboot

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

10 Советов для эффективной работы 1С программиста

1С — это мощная платформа для автоматизации бизнес-процессов, и работа с ней требует как технических навыков, так и глубокого понимания бизнес-процессов. Если вы 1С программист или только начинаете свой путь в этой области, вот несколько советов, которые помогут вам повысить свою эффективность.

1. Понимание Бизнес-Процессов

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

2. Овладение Конфигурацией

Изучите конфигурации, с которыми вам предстоит работать. Это не только повысит вашу продуктивность, но и поможет быстрее находить решения для возникающих задач.

3. Использование Объектно-Ориентированного Подхода

Старайтесь использовать объектно-ориентированное программирование (ООП). Это упрощает поддержку и модификацию кода, а также делает его более понятным для других разработчиков.

4. Настройка Отладки

Используйте возможности отладки 1С для отслеживания выполнения кода. Это поможет вам быстрее находить ошибки и оптимизировать алгоритмы.

5. Документирование Кода

Не забывайте документировать свой код. Это не только облегчает жизнь вам в будущем, но и помогает вашим коллегам быстрее ориентироваться в проекте.

6. Оптимизация Запросов

Поскольку 1С активно использует базы данных, оптимизация запросов имеет огромное значение. Изучите возможности построения запросов и их оптимизации для повышения производительности.

7. Использование Ресурсов Сообщества

Существует множество онлайн-ресурсов, форумов и сообществ, посвященных 1С. Не стесняйтесь обращаться за помощью или делиться опытом с другими разработчиками.

8. Обновление Знаний

Платформа 1С постоянно развивается. Следите за новыми версиями и обновлениями, чтобы быть в курсе последних изменений и улучшений.

9. Практика, Практика, Практика

Практикуйтесь как можно больше. Решение реальных задач и участие в проектах — лучший способ закрепить теорию и получить практические навыки.

10. Общение с Заказчиком

Регулярно общайтесь с клиентами и пользователями ваших систем. Это позволит вам лучше понять их потребности и адаптировать ваше решение под реальные задачи.

Заключение

Работа 1С программиста — это не только кодирование, но и глубокое понимание бизнес-процессов. Следуя этим советам, вы сможете не только улучшить свои навыки, но и повысить свою ценность как специалиста. Не забывайте, что успешный программист — это тот, кто способен находить баланс между техническими знаниями и бизнес-аналитикой.

Симлинки в Windows. Распределяем дисковую нагрузку в системе, связанную с 1С

Задался вопросом – что сделать, чтобы разгрузить нагрузку с системного диска с 1С, да так, чтобы не заморачиваться чисткой старых версий платформ и логов сервера?

А если у Вас бутылочное горлышко на системном диске или вы не хотите ушатывать SSD постоянной записью?

Будем решать задачу при помощи simlink

Читать далее

1С Бухгалтерия и кассовый аппарат

Сегодня ночной работой привалило связать Меркурий 119K для ЛДНР с Бухгалтерией 8, релиза 1.2.
Ранее я писал драйверы для Меркуриев для 1С Розница для ЛНР, которую интегрировал с 1С Бухгалтерия. В бухгалтерии нету механизма работы с обработками торгового оборудования для 1С, а значит “стандартный метод решения” по 1С будет следующей – настроить обмен между двумя конфигурациями и привязать к бухгалтерии либо Управление торговлей, либо Розницу.
Но, как показывает моя личная практика, делать это неудобно, помимо администрирования двух баз данных, добавляется некоторая погрешность ошибок пользователей.
Суть вопроса – максимально облегчить жизнь пользователю и приделать возможность к базовой бухгалтерии работать с фискальным регистратором из единой базы.
Ранее я проводил такой трюк, и он был успешен – конфигурация “Бухгалтерия для ЛНР 1.2.30.2”, дополнительный модуль в документе “Реализация товаров и услуг”. Как это выглядит, смотрите в прикрепленном фото.

———————————————————————
Как решать данную задачу ? Соединить обработку торговой конфигурации с бухгалтерской?
1) Сперва перенесу все перечисления описания ошибок в конфигурацию бухгалтерии
2) Затем добавлю в обработки обработку торгового оборудования.
3) Настройки обработки перенесу в справочник “Фискальные регистраторы”.
4) Осталось дело за малым – унифицировать процедуру для ФР ( ведь настройки ранее я вообще хранил в константах).

Цена вопроса ~ 2-3 тыс. рос руб.