Ответы в темах
- АвторСообщения
- 24 января 2025 в 19:15 в ответ на: Как сформировать отчет в 1С УНФ с вычитанием остатка дней по формуле? #31259
Odin – Одинэсник
Участник1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243441C&НаКлиентеПроцедура СформироватьОтчет()// Получаем текущую датуТекущаяДата = ТекущаяДата();// Создаем выборку для получения остатков товаровЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬТовары.Номенклатура,Товары.Характеристика,Товары.Количество,Товары.СрокХранения,Товары.ДатаПоступления,(ТекущаяДата() - Товары.ДатаПоступления) КАК ОстатокДнейИЗРегистрНакопления.Запасы КАК ТоварыГДЕТовары.Количество > 0";Результат = Запрос.Выполнить();// Создаем таблицу для отчетаТаблицаОтчета = Новый ТаблицаЗначений;ТаблицаОтчета.Колонки.Добавить("Номенклатура");ТаблицаОтчета.Колонки.Добавить("Характеристика");ТаблицаОтчета.Колонки.Добавить("Количество");ТаблицаОтчета.Колонки.Добавить("СрокХранения");ТаблицаОтчета.Колонки.Добавить("ОстатокДней");// Заполняем таблицу даннымиДля Каждого Строка Из Результат ЦиклНоваяСтрока = ТаблицаОтчета.Добавить();НоваяСтрока.Номенклатура = Строка.Номенклатура;НоваяСтрока.Характеристика = Строка.Характеристика;НоваяСтрока.Количество = Строка.Количество;НоваяСтрока.СрокХранения = Строка.СрокХранения;НоваяСтрока.ОстатокДней = Строка.ОстатокДней - Строка.СрокХранения;КонецЦикла;// Выводим отчетСообщить("Отчет сформирован. Количество строк: " + ТаблицаОтчета.Количество());КонецПроцедурыДанный код создает отчет, который выбирает товары из регистра накопления “Запасы”, вычисляет остаток дней с момента поступления и вычитает срок хранения товара. Результаты выводятся в таблицу.
Odin – Одинэсник
УчастникЧтобы узнать, какой день недели соответствует заданной дате в 1С, можно использовать функцию
ДеньНедели()
. Эта функция возвращает номер дня недели, где 1 – Понедельник, 2 – Вторник и так далее до 7 – Воскресенье.Вот пример кода, который показывает, как это сделать:
1С (Код)1234567891C// Заданная датаЗаданнаяДата = Дата(2025, 1, 24); // Например, 24 января 2025 года// Получаем номер дня неделиНомерДняНедели = ДеньНедели(ЗаданнаяДата);// Выводим результатСообщить("День недели для " + Формат(ЗаданнаяДата, "ДД.ММ.ГГГГ") + " - " + НомерДняНедели);Если вам нужно получить название дня недели, вы можете использовать функцию
Формат()
:1С (Код)1234561C// Получаем название дня неделиДеньНеделиПрописью = Формат(ЗаданнаяДата, "ДФ=дддд");// Выводим результатСообщить("День недели для " + Формат(ЗаданнаяДата, "ДД.ММ.ГГГГ") + " - " + ДеньНеделиПрописью);Таким образом, вы сможете узнать как номер, так и название дня недели для заданной даты.
24 января 2025 в 12:30 в ответ на: Как узнать наибольшее из двух чисел без сравнения и условий? #31231Odin – Одинэсник
УчастникПривет, grumbler!
Чтобы узнать наибольшее из двух чисел без использования сравнения и условий, можно воспользоваться математическими операциями. Один из способов — использовать формулу, основанную на разности и абсолютной величине. Вот пример кода на 1С:
1С (Код)12341CФункция Наибольшее(Число1, Число2)Возврат (Число1 + Число2 + Абс(Число1 - Число2)) / 2;КонецФункцииВ этой функции мы складываем оба числа и добавляем половину их разности, что позволяет получить наибольшее значение.
Если вам нужно больше информации или примеров, дайте знать!
Odin – Одинэсник
УчастникДмитрий Николаевич, давайте разберем вашу ошибку по шагам.
### Анализ ошибки
1. **Сообщение об ошибке**:
– Ошибка указывает на то, что происходит попытка получить элемент по индексу, который не определен. Это может означать, что вы пытаетесь обратиться к элементу массива или коллекции, который не существует.2. **Контекст ошибки**:
– В сообщении упоминаются различные модули, такие какУведомлениеОбОшибках
,УправлениеПечатьюКлиент
, и другие. Это может указывать на то, что ошибка возникает в процессе работы с печатью или уведомлениями.### Шаги для решения
1. **Проверка индексов**:
– Найдите место в коде, где происходит обращение к массиву или коллекции. Убедитесь, что индекс, который вы используете, находится в пределах допустимого диапазона. Например:1С (Код)12341CЕсли Индекс = Массив.Количество() ТогдаОшибка "Индекс вне диапазона";КонецЕсли;2. **Отладка**:
– Используйте отладчик, чтобы установить точки останова в местах, где происходит обращение к массивам или коллекциям. Это поможет вам увидеть, какие значения имеют переменные в момент возникновения ошибки.3. **Логирование**:
– Добавьте логирование перед обращением к массиву или коллекции, чтобы фиксировать значения индексов и содержимое массивов. Это поможет вам понять, что именно идет не так.4. **Проверка данных**:
– Убедитесь, что данные, которые вы используете для заполнения массивов или коллекций, корректны. Возможно, данные не загружаются должным образом, и массив остается пустым.5. **Обработка исключений**:
– Добавьте обработку исключений вокруг кода, который может вызывать ошибку. Это позволит вам более гибко реагировать на ошибки и предоставлять пользователю более информативные сообщения.1С (Код)1234561CПопытка// Ваш кодИсключениеСообщитьПользователю("Произошла ошибка: " + ОписаниеОшибки());КонецПопытки;### Пример кода
Вот пример, как можно обработать ошибку при обращении к массиву:
1С (Код)12345678910111213141CПроцедура ОбработатьДанные()Массив = Новый Массив;// Заполнение массива данными// ...Для Индекс = 0 По Массив.Количество() - 1 ЦиклЕсли Индекс = Массив.Количество() ТогдаОшибка "Индекс вне диапазона";КонецЕсли;// Обработка элемента массиваКонецЦикла;КонецПроцедуры### Заключение
Следуя этим шагам, вы сможете более точно определить причину ошибки и устранить ее. Если у вас есть дополнительные вопросы или требуется помощь с конкретным фрагментом кода, не стесняйтесь спрашивать!
24 января 2025 в 1:45 в ответ на: Как выделить подстроку с помощью регулярного выражения в 1С? #31227Odin – Одинэсник
УчастникДля выделения подстроки из строки “ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,” с помощью регулярного выражения в 1С, можно использовать следующий код:
1С (Код)12345678910111213141516171C// Исходная строкаИсходнаяСтрока = "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,";// Регулярное выражение для поиска подстрокиРегулярноеВыражение = Новый РегулярноеВыражение("№([^ ]*)/([^ ]*)");// Поиск совпаденийСовпадение = РегулярноеВыражение.Найти(ИсходнаяСтрока);Если Совпадение Неопределено Тогда// Получаем подстрокуПодстрока = Совпадение.Получить(1); // Получаем первую группу (после "№" до "/")Сообщить(Подстрока); // Выводим результатИначеСообщить("Совпадений не найдено");КонецЕсли;В этом коде:
– Мы создаем регулярное выражение, которое ищет символ “№”, затем захватывает все символы до символа “/” (включая пробелы).
– Используем методНайти
для поиска совпадений в исходной строке.
– Если совпадение найдено, мы извлекаем первую группу, которая соответствует подстроке после “№” и до “/”.Таким образом, результатом будет подстрока “RU”.
24 января 2025 в 1:45 в ответ на: Как выделить подстроку после “№” до пробела в 1С с помощью регулярного выражения #31225Odin – Одинэсник
УчастникДля выделения подстроки из строки “ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,” после символа “№” и до следующего пробела с помощью регулярного выражения в 1С, можно использовать следующий код:
1С (Код)123456789101112131415161718191CФункция ВыделитьПодстроку(ИсходнаяСтрока)RegExp = Новый COMОбъект("VBScript.RegExp");RegExp.IgnoreCase = Истина; // Игнорировать регистрRegExp.Global = Ложь; // Поиск только первого вхожденияRegExp.Pattern = "№(S+)"; // Шаблон для поиска подстроки после "№" до пробелаЕсли RegExp.Test(ИсходнаяСтрока) ТогдаРезультат = RegExp.Execute(ИсходнаяСтрока);Возврат Результат(0).SubMatches(0); // Возвращаем найденную подстрокуКонецЕсли;Возврат ""; // Если ничего не найденоКонецФункции// Пример использованияИсходнаяСтрока = "ЕАЭС №RU Д-ТН.РА01.В.07063/20 ИЛЦЕНТР КАЧ ПИЩ ПРОД НИИ БИСПП от 14,01,20 по 12,01,25,";Результат = ВыделитьПодстроку(ИсходнаяСтрока);Сообщить(Результат); // Вывод: RUВ этом коде используется регулярное выражение
№(S+)
, гдеS+
соответствует любым непробельным символам после символа “№”. ФункцияВыделитьПодстроку
возвращает найденную подстроку.23 января 2025 в 17:45 в ответ на: Как разложить строку на массив по пустому разделителю в 1С? #31223Odin – Одинэсник
УчастникЗдравствуйте, Владимир!
Если вам нужно разложить строку в массив, используя пустую строку в качестве разделителя, это можно сделать с помощью функции, которая будет разбивать строку на отдельные символы. Вот пример кода на языке 1С:
1С (Код)123456781CФункция РазложитьСтрокуВМассив(Знач Строка) ЭкспортМассивСимволов = Новый Массив();Для Индекс = 1 По СтрДлина(Строка) ЦиклМассивСимволов.Добавить(Сред(Строка, Индекс, 1));КонецЦикла;Возврат МассивСимволов;КонецФункцииВ этом коде мы проходим по каждому символу строки и добавляем его в массив. В результате вы получите массив, где каждый элемент — это отдельный символ из исходной строки.
Пример использования функции:
1С (Код)1231CСтрока = "Пример";Массив = РазложитьСтрокуВМассив(Строка);После выполнения этого кода
Массив
будет содержать:[“П”, “р”, “и”, “м”, “е”, “р”]
.Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
23 января 2025 в 0:45 в ответ на: Почему служба PostgreSQL не запускается после восстановления конфигурации? #31221Odin – Одинэсник
УчастникСуществует несколько причин, по которым служба PostgreSQL может не запускаться, даже если вы вернули конфигурацию, а процессы все еще висят. Вот основные из них:
1. **Ошибки в конфигурации**: Если в конфигурационном файле
postgresql.conf
или в файле аутентификацииpg_hba.conf
есть ошибки, служба не сможет запуститься. Проверьте логи PostgreSQL (обычно находятся в/var/log/postgresql/
или в каталоге данных) на наличие сообщений об ошибках.2. **Занятые порты**: Если порт, на котором PostgreSQL пытается запуститься (обычно 5432), уже занят другим процессом, служба не сможет запуститься. Используйте команду
netstat -tuln | grep 5432
для проверки, занят ли порт.3. **Проблемы с правами доступа**: Убедитесь, что пользователь, под которым запускается служба PostgreSQL, имеет необходимые права на доступ к файлам конфигурации и каталогу данных.
4. **Висячие процессы**: Если процессы PostgreSQL висят, это может указывать на то, что предыдущий экземпляр сервера не завершился корректно. Попробуйте завершить висячие процессы с помощью команды
kill
илиkill -9
, указав PID процесса.5. **Проблемы с памятью**: Если сервер испытывает нехватку памяти, это может привести к тому, что служба не сможет запуститься. Проверьте использование памяти на сервере.
6. **Неправильные параметры конфигурации**: Если вы вернули конфигурацию, убедитесь, что все параметры соответствуют вашей системе и не конфликтуют друг с другом.
7. **Логи**: Проверьте логи PostgreSQL для получения более подробной информации о том, почему служба не запускается. Логи могут содержать сообщения об ошибках, которые помогут диагностировать проблему.
Если после проверки всех этих пунктов проблема не решена, попробуйте перезагрузить сервер, чтобы очистить все висячие процессы и начать с чистого состояния.
23 января 2025 в 0:30 в ответ на: Как изменения в конфигурации PostgreSQL влияют на работу 1С? #31219Odin – Одинэсник
УчастникПривет, web!
Чтобы помочь вам с проблемой, мне нужно больше информации о том, какие именно изменения вы внесли в конфигурацию PostgreSQL. Вот несколько вопросов, которые могут помочь в диагностике:
1. Какие параметры вы изменили в файле
postgresql.conf
?
2. Увеличили ли вы или уменьшили количество выделяемой памяти (например,shared_buffers
,work_mem
,maintenance_work_mem
)?
3. Изменяли ли вы параметры, связанные с параллелизацией запросов, такие какmax_parallel_workers_per_gather
?
4. Установили ли вы какие-либо ограничения на количество соединений (max_connections
)?
5. Изменяли ли вы параметры, касающиеся временных таблиц, такие какtemp_buffers
?
6. Какой тип нагрузки вы испытываете (например, количество пользователей, типы запросов)?Ответив на эти вопросы, вы сможете лучше понять, что могло вызвать ухудшение производительности, и мы сможем предложить конкретные шаги для исправления ситуации.
22 января 2025 в 22:30 в ответ на: Что хранит таблица dbo._DataHistoryQueue0 в 1С:Предприятие? #31217Odin – Одинэсник
УчастникПривет, Yurii!
Таблица
dbo._DataHistoryQueue0
в 1С:Предприятие используется для хранения данных, связанных с историей изменений объектов. Она является частью механизма хранения истории изменений, который позволяет отслеживать изменения в данных, таких как записи справочников, документы и другие объекты.В этой таблице хранятся записи, которые содержат информацию о том, какие изменения были внесены, когда они были сделаны и кем. Это может включать в себя такие данные, как:
– Идентификатор измененного объекта.
– Тип изменения (добавление, изменение, удаление).
– Дата и время изменения.
– Идентификатор пользователя, который внес изменения.Эта информация полезна для аудита и анализа изменений в системе, а также для восстановления данных в случае необходимости.
Если у вас есть дополнительные вопросы по 1С, не стесняйтесь спрашивать!
22 января 2025 в 14:00 в ответ на: Как устранить ошибку “Ошибка при выполнении обработки ‘ОбработкаПроведения'”? #31214Odin – Одинэсник
УчастникДля решения ошибок, представленных на скриншотах, необходимо выполнить следующие шаги:
### Ошибка 1: “Ошибка при выполнении обработки ‘ОбработкаПроведения'”
1. **Анализ сообщения об ошибке**:
– Ошибка указывает на проблему с преобразованием значения типа “Булево”. Это может быть связано с неправильными параметрами, передаваемыми в обработку.2. **Проверка параметров**:
– Убедитесь, что все параметры, передаваемые в обработку, имеют правильные типы. Например, если ожидается булевое значение, проверьте, что передается именноИстина
илиЛожь
.3. **Проверка настроек счетов**:
– Проверьте, правильно ли настроены счета расчетов. Убедитесь, что счет 62.02.1 существует и активен.4. **Отладка кода**:
– Если у вас есть доступ к коду обработки, добавьте точки останова и выполните отладку, чтобы понять, на каком этапе происходит ошибка.5. **Проверка документации**:
– Ознакомьтесь с документацией по обработке, чтобы понять, какие параметры она ожидает.### Ошибка 2: “Неверный первый параметр”
1. **Анализ сообщения об ошибке**:
– Ошибка указывает на неверный параметр, передаваемый в функцию. Это может быть связано с неправильным типом данных или отсутствием необходимых данных.2. **Проверка передаваемых параметров**:
– Убедитесь, что все параметры, передаваемые в функцию, соответствуют ожидаемым типам. Например, если функция ожидает объект, убедитесь, что передается именно объект, а не строка или число.3. **Проверка ссылок на объекты**:
– Убедитесь, что все ссылки на объекты корректны и объекты существуют в системе.4. **Отладка кода**:
– Используйте отладчик, чтобы проверить значения параметров перед вызовом функции. Это поможет выявить, какой именно параметр вызывает ошибку.5. **Обновление конфигурации**:
– Если ошибка связана с изменениями в конфигурации, попробуйте обновить конфигурацию или выполнить регенерацию объектов.### Общие рекомендации:
– **Логи и отчеты**: Проверьте логи системы на наличие дополнительных сообщений об ошибках, которые могут помочь в диагностике.
– **Тестирование**: После внесения изменений протестируйте функциональность, чтобы убедиться, что ошибка устранена.
– **Консультация с коллегами**: Если проблема не решается, обсудите ее с коллегами или обратитесь в техническую поддержку.Следуя этим шагам, вы сможете более точно определить и устранить причины ошибок в системе 1С.
22 января 2025 в 13:45 в ответ на: Как добавить программно колонки для реквизитов таблицы в управляемую форму? #31212Odin – Одинэсник
Участник1С (Код)12345678910111213141516171C&НаСервереПроцедура ДобавитьКолонкиВТаблицу(Форма, ТабличнаяЧасть)// Получаем реквизиты табличной частиДля Каждого Реквизит Из ТабличнаяЧасть.Колонки Цикл// Создаем новый реквизит формы для колонкиНовыйРеквизит = Новый РеквизитФормы(Реквизит.Имя, Реквизит.ТипЗначения, "Объект." + ТабличнаяЧасть.Имя);// Добавляем реквизит в формуИзменитьРеквизиты(Новый Массив(НовыйРеквизит));// Создаем элемент формы для отображения колонкиЭлементКолонки = Форма.Элементы.Добавить(ТабличнаяЧасть.Имя + Реквизит.Имя, Тип("ПолеФормы"), Форма.Элементы[ТабличнаяЧасть.Имя]);ЭлементКолонки.ПутьКДанным = "Объект." + ТабличнаяЧасть.Имя + "." + Реквизит.Имя;ЭлементКолонки.Заголовок = Реквизит.Имя;КонецЦикла;КонецПроцедурыЭтот код добавляет колонки в таблицу формы для отображения существующих реквизитов табличной части документа. Вызывайте процедуру
ДобавитьКолонкиВТаблицу
, передавая ей форму и табличную часть, чтобы динамически создать колонки на управляемой форме.22 января 2025 в 11:30 в ответ на: Как решить ошибку обновления конфигурации 1С: “Ошибка при выполнении…”? #31210Odin – Одинэсник
УчастникДля решения проблемы с ошибкой при обновлении конфигурации 1С Бухгалтерия КОРП, связанной с файловыми операциями и соединением с сервером баз данных, выполните следующие шаги:
1. **Перезапустите сервер 1С**: Иногда простая перезагрузка сервера 1С может помочь восстановить соединение с базой данных.
2. **Проверьте состояние базы данных**: Убедитесь, что база данных доступна и работает корректно. Для этого можно использовать SQL Server Management Studio (SSMS) для проверки состояния базы данных.
3. **Проверьте логи SQL Server**: Посмотрите логи SQL Server на наличие ошибок, которые могут указывать на проблемы с соединением или транзакциями.
4. **Очистите кеш 1С**: Удалите кеш 1С на клиентских машинах и на сервере. Кеш может содержать устаревшие данные, которые мешают обновлению.
5. **Проверьте настройки соединения**: Убедитесь, что настройки соединения с базой данных корректны и что нет проблем с сетевым подключением.
6. **Проверьте наличие активных транзакций**: Если ошибка указывает на отсутствие соответствующей инструкции
BEGIN TRANSACTION
, это может означать, что предыдущая транзакция не была завершена. Попробуйте выполнить командуROLLBACK
для отмены незавершенных транзакций.7. **Обновите драйверы**: Убедитесь, что у вас установлены последние версии драйверов OLE DB для SQL Server.
8. **Используйте режим отладки**: Запустите 1С в режиме отладки, чтобы получить более подробную информацию о том, где именно происходит ошибка.
9. **Обратитесь к резервной копии**: Если ничего не помогает, возможно, стоит восстановить базу данных из резервной копии и повторить обновление.
Если после выполнения всех этих шагов проблема не решается, рекомендуется обратиться к специалисту по 1С или в техническую поддержку.
Рекомендую посмотреть здесь: https://infostart.ru/public/1126277/
Odin – Одинэсник
УчастникДля ускорения файловой версии 1С, которая тормозит по сети, можно предпринять следующие шаги:
1. **Перенос на SSD**: Убедитесь, что база данных 1С размещена на SSD-диске. Это значительно ускорит доступ к данным по сравнению с обычными HDD.
2. **Оптимизация сети**:
– Используйте гигабитные сетевые карты и коммутаторы для повышения пропускной способности.
– Убедитесь, что все сетевые компоненты (кабели, разъемы) соответствуют стандартам для гигабитной сети.3. **Настройка антивируса и брандмауэра**:
– Добавьте процессы 1С в исключения антивируса и брандмауэра, чтобы избежать задержек при сканировании файлов.
– Рассмотрите возможность временного отключения антивируса для тестирования производительности.4. **Оптимизация конфигурации 1С**:
– Запустите тестирование и исправление базы данных через встроенные инструменты 1С.
– Убедитесь, что база данных не содержит лишних данных и индексов, которые могут замедлять работу.5. **Настройка регламентных заданий**:
– Отключите или перенесите на ночное время ненужные регламентные задания, такие как обновление индексов и отправка статистики.6. **Управление пользователями**:
– Настройте права доступа пользователей, чтобы ограничить выполнение тяжелых операций (например, массовые отчеты) для обычных пользователей.7. **Оптимизация клиентских рабочих мест**:
– Убедитесь, что на рабочих местах установлено необходимое “железо” и что они не перегружены лишними программами.
– Проверьте настройки сети на рабочих местах.8. **Использование терминального доступа**: Если возможно, рассмотрите вариант перехода на терминальный доступ, что может значительно улучшить производительность.
9. **Дефрагментация и свертка базы**: Периодически проводите дефрагментацию диска и свертку базы данных, если она имеет большой объем.
10. **Мониторинг производительности**: Используйте инструменты мониторинга для отслеживания нагрузки на сервер и сети, чтобы выявить узкие места.
Следуя этим рекомендациям, вы сможете значительно улучшить производительность файловой версии 1С по сети.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/377773/
Odin – Одинэсник
УчастникОптимальные настройки кластера серверов 1С:Предприятие включают в себя следующие рекомендации:
1. **Интервал перезапуска**: Установите интервал перезапуска рабочих процессов кластера на 24 часа (86400 секунд) для минимизации утечек памяти и фрагментации.
2. **Допустимый объем памяти**: Рассчитайте максимальный размер памяти, занимаемой процессами «rphost», и установите допустимый объем памяти, чтобы предотвратить перерасход.
3. **Количество ИБ на процесс**: Настройте количество информационных баз на процесс, чтобы избежать перегрузки одного рабочего процесса.
4. **Количество соединений на процесс**: Установите оптимальное количество соединений на процесс для равномерного распределения нагрузки.
5. **Максимальный объем памяти рабочих процессов**: Установите этот параметр в зависимости от объема оперативной памяти сервера. Рекомендуется выделять 80% оперативной памяти для рабочих процессов.
6. **Безопасный расход памяти за один вызов**: Установите значение «0», чтобы безопасный расход памяти был равен 5% от максимального объема памяти рабочих процессов.
7. **Выключенные процессы**: Установите время, через которое «выключенные» процессы будут завершены, на 2-5 минут, чтобы избежать потери данных.
8. **Уровень отказоустойчивости**: Определите уровень отказоустойчивости в зависимости от критичности системы. Для большинства случаев достаточно уровня «0», но для автоматического переброса сеансов пользователей лучше использовать уровень «1» или выше.
9. **Разделение ролей**: Разделите роли центральных и рабочих серверов для оптимизации работы кластера.
10. **Мониторинг и тестирование**: Регулярно проводите мониторинг производительности и тестирование конфигураций для выявления узких мест.
Эти настройки помогут обеспечить стабильную и эффективную работу кластера серверов 1С:Предприятие.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/626919/
- АвторСообщения