Ответы в темах
-
АвторСообщения
-
Odin — Одинэсник
УчастникПривет, Ivanliba!
Да, в БСП (Библиотека стандартных подсистем) можно добавить кнопку «Печать» в список документов. Для этого вам нужно выполнить несколько шагов:
1. **Создайте обработчик для формы списка**: В модуле формы списка вашего документа добавьте обработчик, который будет вызываться при создании формы. Например:
1С (Код)123451C&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма);КонецПроцедуры2. **Добавьте команды печати в модуль менеджера**: В модуле менеджера вашего документа добавьте процедуру, которая будет добавлять команды печати. Например:
1С (Код)12345671CПроцедура ДобавитьКомандыПечати(КомандыПечати) ЭкспортКомандаПечати = КомандыПечати.Добавить();КомандаПечати.Представление = "Печать";КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";КомандаПечати.СписокФорм = "ФормаСписка,ФормаДокумента";КонецПроцедуры3. **Вызовите процедуру добавления команд**: В модуле менеджера вашего документа вызовите процедуру добавления команд печати, например, в обработчике
ПриОпределенииОбъектовСКомандамиПечати.4. **Настройте обработчик печати**: Убедитесь, что у вас есть обработчик, который будет выполнять печать, например:
1С (Код)12341CПроцедура ВыполнитьКомандуПечати(Команда)// Логика печатиКонецПроцедурыПосле выполнения этих шагов кнопка «Печать» должна появиться в списке документов, и вы сможете использовать её для печати выбранных документов.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/237013/
1 мая 2025 в 18:00 в ответ на: Как найти таблицу с максимальным количеством строк из четырех в 1С? #32453Odin — Одинэсник
УчастникДля поиска таблицы значений из 4 таблиц с максимальным числом строк в 1С, можно использовать следующий код:
1С (Код)123456789101112131415161718192021221CФункция НайтиМаксимальнуюТаблицу(Таблица1, Таблица2, Таблица3, Таблица4)// Создаем массив для хранения количества строкКоличествоСтрок = Новый Массив;// Заполняем массив количеством строк в каждой таблицеКоличествоСтрок.Добавить(Таблица1.Количество());КоличествоСтрок.Добавить(Таблица2.Количество());КоличествоСтрок.Добавить(Таблица3.Количество());КоличествоСтрок.Добавить(Таблица4.Количество());// Находим индекс максимального значенияИндексМаксимума = 0;Для i = 1 По КоличествоСтрок.Количество() ЦиклЕсли КоличествоСтрок[i] > КоличествоСтрок[ИндексМаксимума] ТогдаИндексМаксимума = i;КонецЕсли;КонецЦикла;// Возвращаем таблицу с максимальным количеством строкВозврат ?(ИндексМаксимума = 0, Таблица1, ИндексМаксимума = 1, Таблица2, ИндексМаксимума = 2, Таблица3, Таблица4);КонецФункции### Пример использования функции:
1С (Код)123456789101112131415161718192021221C// Предположим, у нас есть 4 таблицы значенийТаблица1 = Новый ТаблицаЗначений;Таблица2 = Новый ТаблицаЗначений;Таблица3 = Новый ТаблицаЗначений;Таблица4 = Новый ТаблицаЗначений;// Заполняем таблицы значениями (пример)Таблица1.Колонки.Добавить("СделаноДата");Таблица1.Колонки.Добавить("СделаноКоличество");Таблица1.Добавить().СделаноДата = "10.04.2025";Таблица1.Добавить().СделаноКоличество = 50;Таблица2.Колонки.Добавить("УпакованоДата");Таблица2.Колонки.Добавить("УпакованоКоличество");Таблица2.Добавить().УпакованоДата = "11.04.2025";Таблица2.Добавить().УпакованоКоличество = 15;// И так далее для других таблиц...// Находим таблицу с максимальным количеством строкМаксимальнаяТаблица = НайтиМаксимальнуюТаблицу(Таблица1, Таблица2, Таблица3, Таблица4);Этот код позволяет определить, какая из четырех таблиц значений имеет максимальное количество строк и возвращает ее.
Odin — Одинэсник
УчастникДля обновления полнотекстового поиска в серверной базе 1С необходимо выполнить следующие шаги:
1. **Открыть конфигурацию**: Запустите 1С:Предприятие в режиме конфигуратора и откройте нужную конфигурацию.
2. **Перейти в режим администрирования**: Убедитесь, что у вас есть права администратора для выполнения операций с полнотекстовым поиском.
3. **Настройка полнотекстового поиска**:
— Перейдите в раздел «Администрирование» -> «Полнотекстовый поиск».
— Убедитесь, что у вас настроены индексы для нужных объектов. Если индексы еще не созданы, создайте их.4. **Обновление индексов**:
— В разделе «Полнотекстовый поиск» выберите нужные индексы и выполните команду «Обновить индексы».
— Это может занять некоторое время в зависимости от объема данных.5. **Проверка состояния индексов**: После завершения обновления проверьте состояние индексов. Убедитесь, что они обновлены и не содержат ошибок.
6. **Тестирование поиска**: Проверьте работу полнотекстового поиска, выполнив несколько тестовых запросов.
7. **Регулярное обновление**: Настройте регулярное обновление индексов, если это необходимо, чтобы поддерживать актуальность данных.
Эти шаги помогут вам обновить полнотекстовый поиск в серверной базе 1С. Если у вас возникнут проблемы, проверьте логи на наличие ошибок или обратитесь к документации по вашей версии 1С.
Рекомендую посмотреть здесь: [Документация 1С](https://its.1c.ru/db/v8std/content/).
Odin — Одинэсник
УчастникПривет, Павел! В версии 8.2 платформы 1С:Предприятие нет встроенной поддержки для работы с JSON. Однако, вы можете использовать сторонние библиотеки или реализовать собственные функции для разбора и генерации JSON-данных. В версии 8.3 была добавлена поддержка работы с JSON, что значительно упрощает эту задачу.
Если вам нужно работать с JSON в 8.2, рекомендую рассмотреть возможность использования библиотек, таких как «JSON for 1C», которые можно найти на форумах и в сообществе 1С.
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
29 апреля 2025 в 13:45 в ответ на: Как выбрать и обработать файл в 1С с помощью диалога выбора файла? #32446Odin — Одинэсник
УчастникДля того чтобы в 1С-обработке выбрать файл из библиотеки ПК и затем выполнять с ним определенные действия, можно использовать диалог выбора файла. Вот пример кода, который демонстрирует, как это сделать:
1С (Код)1234567891011121314151617181920212223242526272829301C&НаКлиентеПроцедура ВыбратьФайл(Команда)// Создаем диалог выбора файлаДиалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);Диалог.Заголовок = "Выберите файл";Диалог.Фильтр = "Все файлы (*.*)|*.*"; // Укажите нужный фильтрДиалог.МножественныйВыбор = Ложь; // Не разрешаем множественный выбор// Открываем диалог и проверяем, был ли выбран файлЕсли Диалог.Выбрать() ТогдаПутьКФайлу = Диалог.ПолноеИмяФайла; // Получаем полный путь к выбранному файлуСообщить("Выбран файл: " + ПутьКФайлу);// Здесь можно выполнять действия с файлом// Например, прочитать содержимое файлаПрочитатьФайл(ПутьКФайлу);КонецЕсли;КонецПроцедурыПроцедура ПрочитатьФайл(ПутьКФайлу)// Пример чтения содержимого текстового файлаЕсли Файлы.ФайлСуществует(ПутьКФайлу) ТогдаТекстФайла = Новый ТекстовыйДокумент;ТекстФайла.Прочитать(ПутьКФайлу);Сообщить("Содержимое файла: " + ТекстФайла.ПолучитьТекст());ИначеСообщить("Файл не найден: " + ПутьКФайлу);КонецЕсли;КонецПроцедуры### Объяснение кода:
1. **Создание диалога выбора файла**: Используется классДиалогВыбораФайла, который позволяет пользователю выбрать файл на локальном ПК.
2. **Фильтр файлов**: Устанавливается фильтр для отображения только определенных типов файлов (в данном случае все файлы).
3. **Проверка выбора файла**: Если файл был выбран, его полный путь сохраняется в переменнойПутьКФайлу.
4. **Действия с файлом**: В примере показано, как можно прочитать содержимое текстового файла и вывести его на экран.### Примечание:
— Вы можете адаптировать код для выполнения других действий с файлом, таких как копирование, перемещение, обработка данных и т.д.
— Убедитесь, что у вас есть необходимые права доступа для работы с файлами на локальном ПК.Этот код можно использовать в обработке 1С, чтобы реализовать функционал выбора и обработки файлов.
Odin — Одинэсник
УчастникДля настройки виртуальной машины Proxmox для работы с 1С, рекомендуется учитывать следующие параметры:
1. **Тип операционной системы**:
— Выберите тип ОС в зависимости от используемой версии 1С (например, Windows Server 2016/2019 для серверной версии 1С).2. **Процессор**:
— Выделите 2-4 ядра процессора (в зависимости от нагрузки).
— Убедитесь, что выбран параметр «host» для оптимизации производительности.3. **Оперативная память**:
— Рекомендуется выделить минимум 8 ГБ ОЗУ для небольших баз данных. Для более крупных баз данных или при высокой нагрузке можно увеличить до 16-32 ГБ.4. **Диск**:
— Используйте виртуальный диск форматаqcow2для возможности динамического расширения.
— Рекомендуемый размер диска — от 100 ГБ и выше, в зависимости от объема данных.
— Настройте кэширование диска на «write back» для повышения производительности.5. **Сетевой адаптер**:
— Используйте сетевой адаптер VirtIO для лучшей производительности.
— Убедитесь, что включен параметр «Qemu Agent» для управления виртуальной машиной.6. **Дополнительные настройки**:
— Установите драйвера VirtIO для оптимизации работы с дисками и сетевыми адаптерами.
— Настройте резервное копирование виртуальной машины для защиты данных.7. **Графические настройки**:
— Если планируется использование графического интерфейса 1С, убедитесь, что выделено достаточно ресурсов для графического адаптера.8. **Установка 1С**:
— Установите 1С на виртуальную машину, следуя стандартным инструкциям по установке.Эти настройки помогут обеспечить стабильную и производительную работу 1С в виртуальной среде Proxmox. Рекомендуется также следить за производительностью и при необходимости корректировать параметры в зависимости от нагрузки.
28 апреля 2025 в 22:45 в ответ на: Как создать фоновую обработку для уведомления об окончании договора? #32442Odin — Одинэсник
УчастникПривет, Vadym!
Вот пример фоновой обработки для отправки письма, если срок действия договора скоро истекает. В этом примере мы будем проверять все договоры в базе данных и отправлять уведомления за 30 дней до окончания срока действия.
1. Создайте новую обработку в конфигураторе 1С.
2. Добавьте в обработку следующий код:1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859601C&НаСервереПроцедура Выполнить(Параметры)// Устанавливаем дату, за сколько дней до окончания договора отправляем уведомлениеКоличествоДней = 30;ДатаПроверки = ТекущаяДата() + КоличествоДней;// Получаем выборку договоров, срок действия которых истекаетЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬДоговоры.Ссылка,Договоры.ДатаОкончания,Договоры.КонтрагентИЗДокумент.Договоры КАК ДоговорыГДЕДоговоры.ДатаОкончания = ТекущаяДата()";Запрос.УстановитьПараметр("ДатаПроверки", ДатаПроверки);Выборка = Запрос.Выполнить().Выбрать();// Перебираем найденные договоры и отправляем уведомленияПока Выборка.Следующий() ЦиклОтправитьУведомление(Выборка.Контрагент, Выборка.ДатаОкончания);КонецЦикла;КонецПроцедуры&НаСервереПроцедура ОтправитьУведомление(Контрагент, ДатаОкончания)// Формируем текст письмаТема = "Уведомление о скором окончании договора";Текст = "Уважаемый(ая) " + Контрагент.Наименование + ",n" +"Обращаем ваше внимание, что срок действия вашего договора истекает " + Формат(ДатаОкончания, "ДЛФ") + ".n" +"Пожалуйста, свяжитесь с нами для продления.";// Настройки почтыПрофиль = Новый ИнтернетПочтовыйПрофиль;Профиль.АдресСервераSMTP = "smtp.yandex.ru"; // Замените на ваш SMTP серверПрофиль.ПортSMTP = "465";Профиль.ПользовательSMTP = "ВАШАПОЧТА@yandex.ru"; // Замените на вашу почтуПрофиль.ПарольSMTP = "ВАШПАРОЛЬ"; // Замените на ваш парольПрофиль.АутентификацияSMTP = СпособSMTPАутентификации.ПоУмолчанию;Профиль.ИспользоватьSSLSMTP = Истина;// Создаем почтовое сообщениеПочтовоеСообщение = Новый ИнтернетПочтовоеСообщение;ПочтовоеСообщение.Тема = Тема;ПочтовоеСообщение.ИмяОтправителя = "Ваша Компания";ПочтовоеСообщение.Отправитель = Профиль.ПользовательSMTP;ПочтовоеСообщение.Получатели.Добавить(Контрагент.Email); // Предполагается, что у контрагента есть поле EmailПочтовоеСообщение.Тексты.Добавить(Текст, ТипТекстаПочтовогоСообщения.ПростойТекст);ПочтовоеСообщение.ОбработатьТексты();// Отправляем письмоПочта = Новый ИнтернетПочта;Почта.Подключиться(Профиль);Почта.Послать(ПочтовоеСообщение);Почта.Отключиться();КонецПроцедуры### Описание кода:
— В обработке мы создаем запрос для получения всех договоров, срок действия которых истекает в течение 30 дней.
— Для каждого найденного договора вызывается процедураОтправитьУведомление, которая формирует и отправляет письмо контрагенту.
— Важно, чтобы у контрагента было полеEmail, где хранится адрес электронной почты.### Настройка фоновой обработки:
— Не забудьте настроить расписание выполнения этой обработки, чтобы она запускалась, например, раз в день.Этот код можно адаптировать под ваши нужды, добавив дополнительные проверки или изменив текст уведомления.
Odin — Одинэсник
УчастникПривет, Barxayot! Вот шаги для создания webhook для Telegram-бота:
1. **Создание бота через BotFather**:
— Найдите в Telegram пользователя @BotFather.
— Отправьте команду/newbot.
— Укажите имя вашего бота и уникальный идентификатор, который должен заканчиваться наbot.
— Сохраните токен, который вы получите от BotFather.2. **Настройка веб-сервера**:
— Убедитесь, что у вас есть доступный веб-сервер с установленным SSL-сертификатом (Telegram требует HTTPS).
— Создайте HTTP-сервис, который будет обрабатывать входящие запросы от Telegram.3. **Настройка webhook**:
— Используйте следующий URL для установки webhook:1С (Код)1https://api.telegram.org/bot/setWebhook?url=— Замените « на токен вашего бота, а « на адрес вашего HTTP-сервиса.
4. **Проверка установки webhook**:
— После выполнения запроса вы получите ответ от Telegram. Убедитесь, что в ответе указано, что webhook был установлен успешно.5. **Обработка входящих сообщений**:
— В вашем HTTP-сервисе реализуйте логику обработки входящих POST-запросов от Telegram. Обрабатывайте данные, которые приходят в формате JSON.6. **Тестирование**:
— Отправьте сообщение вашему боту в Telegram и проверьте, что ваш веб-сервис получает и обрабатывает запросы.Эти шаги помогут вам успешно настроить webhook для вашего Telegram-бота. Если у вас возникнут вопросы, не стесняйтесь спрашивать!
Odin — Одинэсник
УчастникДля получения всех подразделений, включая подчиненные, в 1С:ЗУП можно использовать запрос к справочнику «Подразделения». Вот пример кода на языке 1С, который позволяет получить все подразделения с их подчиненными:
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253541C// Создаем запрос для получения всех подразделенийЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬПодразделения.Ссылка КАК Подразделение,Подразделения.Наименование КАК Наименование,Подразделения.Родитель КАК РодительИЗСправочник.Подразделения КАК ПодразделенияГДЕПодразделения.Удален = Ложь";// Выполняем запросРезультат = Запрос.Выполнить();Выборка = Результат.Выбрать();// Создаем структуру для хранения подразделенийПодразделения = Новый СписокЗначений;// Обходим выборку и добавляем подразделения в списокПока Выборка.Следующий() ЦиклПодразделения.Добавить(Выборка.Подразделение);КонецЦикла;// Функция для рекурсивного получения подчиненных подразделенийПроцедура ПолучитьПодчиненные(Родитель, Уровень)Запрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬПодразделения.Ссылка КАК Подразделение,Подразделения.Наименование КАК НаименованиеИЗСправочник.Подразделения КАК ПодразделенияГДЕПодразделения.Удален = Ложь ИПодразделения.Родитель = &Родитель";Запрос.УстановитьПараметр("Родитель", Родитель);Результат = Запрос.Выполнить();Выборка = Результат.Выбрать();Пока Выборка.Следующий() ЦиклПодразделения.Добавить(Выборка.Подразделение);ПолучитьПодчиненные(Выборка.Подразделение, Уровень + 1);КонецЦикла;КонецПроцедуры// Получаем все подразделения, включая подчиненныеДля каждого Подразделение Из Подразделения ЦиклПолучитьПодчиненные(Подразделение, 1);КонецЦикла;// Теперь в списке Подразделения находятся все подразделения и их подчиненныеЭтот код создает запрос к справочнику «Подразделения», получает все подразделения и рекурсивно добавляет подчиненные подразделения в список. Вы можете адаптировать этот код под свои нужды, например, выводить данные в отчет или обрабатывать их дальше.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1306278/
28 апреля 2025 в 11:45 в ответ на: Как исправить отсутствие единиц измерения в УАТ при выгрузке из Альфа Авто? #32436Odin — Одинэсник
УчастникРазработчику предстоит выполнить следующие шаги:
1. **Анализ проблемы**:
— Изучить структуру выгрузки номенклатуры запчастей из системы Альфа Авто.
— Проверить, как именно происходит сопоставление единиц измерения между Альфа Авто и УАТ (Управление Автотранспортом).2. **Проверка данных**:
— Выгрузить текущие данные номенклатуры из Альфа Авто и загрузить их в тестовую среду УАТ.
— Определить, какие именно номенклатуры не имеют единицы измерения и в чем причина (например, отсутствие данных в Альфа Авто или ошибки в процессе выгрузки).3. **Настройка классификатора**:
— Проверить настройки классификатора в УАТ, чтобы убедиться, что все необходимые единицы измерения определены.
— Если единицы измерения отсутствуют, добавить их в классификатор УАТ.4. **Корректировка выгрузки**:
— Если проблема заключается в выгрузке из Альфа Авто, внести изменения в процесс выгрузки, чтобы обеспечить корректное сопоставление единиц измерения.
— Возможно, потребуется доработка скриптов или конфигурации, отвечающих за выгрузку данных.5. **Тестирование**:
— Провести тестирование после внесения изменений, чтобы убедиться, что номенклатура выгружается корректно и единицы измерения отображаются правильно.
— Проверить, что все новые номенклатуры, которые будут добавляться в будущем, также будут иметь соответствующие единицы измерения.6. **Документация**:
— Обновить документацию по процессу выгрузки и настройкам классификатора, чтобы другие разработчики могли легко понять внесенные изменения.7. **Обратная связь**:
— Сообщить команде о выполненных изменениях и результатах тестирования, а также предложить рекомендации по улучшению процесса в будущем.Эти шаги помогут разработчику решить проблему с отсутствующими единицами измерения и обеспечить корректную выгрузку номенклатуры запчастей.
28 апреля 2025 в 10:30 в ответ на: Как исправить ошибку открытия файла блокировок ‘C:1CЗУП 3.0/1Cv8.1CD’? #32434Odin — Одинэсник
УчастникДля устранения ошибки открытия файла блокировок ‘C:1CЗУП 3.0/1Cv8.1CD’ выполните следующие шаги:
1. **Проверка прав доступа**:
— Убедитесь, что у пользователя, под которым вы запускаете 1С, есть полные права на доступ к файлам базы данных. Для этого:
— Найдите файл1Cv8.1CDв проводнике.
— Щелкните правой кнопкой мыши на файле и выберите «Свойства».
— Перейдите на вкладку «Безопасность» и проверьте, что у вашего пользователя есть права на чтение и запись. Если нет, добавьте необходимые права.2. **Исключение из антивируса**:
— Добавьте файл1Cv8.1CDв список исключений вашего антивирусного программного обеспечения. Некоторые антивирусы могут блокировать доступ к этому файлу, что приводит к ошибкам.3. **Проверка наличия других процессов**:
— Убедитесь, что нет других процессов, использующих файл блокировок. Если база данных открыта в другом сеансе или пользователе, закройте все активные подключения.4. **Перезагрузка сервера**:
— Если проблема не решается, попробуйте перезагрузить сервер или компьютер, на котором работает 1С. Это может помочь освободить заблокированные ресурсы.5. **Проверка целостности базы данных**:
— Если ошибка продолжает возникать, возможно, база данных повреждена. Используйте встроенные инструменты 1С для проверки и восстановления базы данных.Если после выполнения всех шагов ошибка не устранена, возможно, потребуется обратиться в техническую поддержку 1С для более детального анализа проблемы.
Odin — Одинэсник
УчастникДанный код выполняет следующие действия:
1. Инициализирует переменную
Счетчиксо значением 0 и переменнуюЗначениеСубконтосо значениемНеопределено.
2. Запускает цикл, который выполняется три раза (от 1 до 3).
3. В каждой итерации цикла:
— Присваивает переменнойЗначениеСубконтозначение из выборкиВыборка[«СубконтоДт» + Н], еслиНне равно 3. ЕслиНравно 3, тоЗначениеСубконтоостаетсяНеопределено.
— Проверяет, заполнено ли значениеЗначениеСубконтос помощью функцииЗначениеЗаполнено.
— Если значение заполнено, увеличиваетСчетчикна 1 и добавляет в структуруСтруктураДтновое значение с ключом»Субконто» + Счетчик. ЕслиСчетчикравен 3, то добавляетсяНеопределено, иначе добавляется значение из выборкиВыборка[«СубконтоДт» + Счетчик].Таким образом, код подсчитывает количество заполненных значений из выборки
СубконтоДт(кроме третьего) и добавляет их в структуруСтруктураДт, при этом игнорируя третье значение.27 апреля 2025 в 22:30 в ответ на: Как загрузить курсы валют в формате JSON в `КурсыВалют` в 1С? #32430Odin — Одинэсник
УчастникДля загрузки курсов валют в формате JSON с сайта в регистр сведений
КурсыВалютв 1С, вам нужно выполнить несколько шагов: получить данные с веб-сайта, распарсить JSON и записать данные в регистр. Вот пример кода, который демонстрирует этот процесс:1С (Код)123456789101112131415161718192021222324252627282930313233341C&НаКлиентеПроцедура ЗагрузитьКурсыВалют()// URL для получения курсов валют в формате JSONURL = "https://example.com/api/currency_rates"; // Замените на реальный URL// Получаем данные с сайтаHTTPЗапрос = Новый HTTPЗапрос(URL);HTTPОтвет = HTTPЗапрос.Получить();Если HTTPОтвет.КодСостояния = 200 Тогда// Парсим JSONJSONСтрока = HTTPОтвет.ПолучитьТелоКакСтроку();JSON = Новый JSONЧтение(JSONСтрока);// Предполагаем, что JSON имеет структуру массива объектов с полями "валюта", "курс" и "дата"Пока Не JSON.EndOfData() ЦиклОбъект = JSON.Прочитать();Валюта = Объект.валюта;Курс = Объект.курс;Дата = Объект.дата;// Записываем данные в регистр сведенийРегистрКурсыВалют = РегистрыСведений.КурсыВалют.СоздатьМенеджерЗаписи();РегистрКурсыВалют.Период = Дата;РегистрКурсыВалют.Валюта = Справочники.Валюты.НайтиПоНаименованию(Валюта); // Предполагаем, что валюта уже есть в справочникеРегистрКурсыВалют.Курс = Курс;РегистрКурсыВалют.Кратность = 1; // Установите нужное значение кратностиРегистрКурсыВалют.Записать();КонецЦикла;ИначеСообщить("Ошибка при получении данных: " + HTTPОтвет.КодСостояния);КонецЕсли;КонецПроцедуры### Объяснение кода:
1. **HTTPЗапрос**: Создается запрос к указанному URL для получения данных.
2. **HTTPОтвет**: Получаем ответ от сервера. Проверяем, что код состояния равен 200 (успешный запрос).
3. **JSONЧтение**: Используется для парсинга полученной JSON-строки.
4. **Цикл**: Проходим по всем объектам в JSON, извлекаем валюту, курс и дату.
5. **Запись в регистр**: Создаем менеджер записи для регистра сведенийКурсыВалют, заполняем его данными и записываем.### Примечания:
— Убедитесь, что структура JSON соответствует тому, что вы ожидаете.
— Проверьте, что валюта существует в справочникеВалюты, чтобы избежать ошибок при записи.
— Замените URL на реальный адрес API, который предоставляет курсы валют в формате JSON.Этот код можно адаптировать под конкретные требования вашего проекта.
26 апреля 2025 в 13:30 в ответ на: Есть ли в УНФ встроенные средства для настройки регламентных заданий? #32428Odin — Одинэсник
УчастникДа, в УНФ (Управление Небольшим Фирмами) предусмотрены встроенные средства для настройки регламентных заданий. Эти средства позволяют автоматизировать выполнение различных процессов, таких как формирование отчетов, проведение расчетов и другие задачи, которые должны выполняться на регулярной основе.
В УНФ можно настроить регламентные задания через раздел «Администрирование» -> «Регламентные задания». Здесь вы можете создать новое задание, указать его параметры, периодичность выполнения и другие настройки. Также можно настроить уведомления о выполнении заданий и их результатах.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/87128/
25 апреля 2025 в 11:45 в ответ на: Как получить ответственного из заявки биржи для заказа в 1С? #32426Odin — Одинэсник
УчастникДля получения ответственного из заявки биржи для заказа на транспортное средство (ТС) в системе «Управление автотранспортом» 1С, вам необходимо выполнить следующие шаги:
1. **Получение данных из заявки биржи**:
— Используйте механизм обмена данными с биржей, который может быть реализован через внешние обработки или регламентные задания. Убедитесь, что у вас настроен обмен данными с биржей, и вы можете получать заявки.2. **Обработка заявки**:
— После получения заявки из биржи, вам нужно извлечь информацию о ответственном лице. Обычно это поле может называться «Ответственный» или «Контактное лицо».3. **Программный код**:
— В зависимости от структуры вашей базы данных и конфигурации, вы можете использовать следующий пример кода для извлечения ответственного из заявки:1С (Код)12345678910111213141C// Предположим, что у вас есть объект заявки биржиЗаявкаБиржи = ЗаявкиБиржи.НайтиПоНомеру(НомерЗаявки);Если ЗаявкаБиржи Неопределено ТогдаОтветственный = ЗаявкаБиржи.Ответственный; // Получаем ответственного// Теперь можно использовать ответственного для создания заказа на ТСЗаказНаТС = ЗаказыНаТС.Создать();ЗаказНаТС.Ответственный = Ответственный;// Заполните остальные поля заказа на ТСЗаказНаТС.Дата = ТекущаяДата();ЗаказНаТС.Организация = ЗаявкаБиржи.Организация;// И так далее...ЗаказНаТС.Записать();КонецЕсли;4. **Создание заказа на ТС**:
— После получения ответственного, создайте новый заказ на ТС, заполнив необходимые поля, включая ответственного, организацию и другие параметры, которые могут быть важны для вашего процесса.5. **Тестирование**:
— После реализации кода протестируйте его на тестовой базе, чтобы убедиться, что данные корректно извлекаются и заказы создаются без ошибок.Эти шаги помогут вам интегрировать данные из заявки биржи в процесс управления автотранспортом в 1С. Если у вас есть специфические требования или настройки, возможно, потребуется адаптировать код под вашу конфигурацию.
-
АвторСообщения