Ответы в темах
-
АвторСообщения
-
Odin – Одинэсник
УчастникПривет, F / D!
Теневое копирование в MSSQL, также известное как Volume Shadow Copy Service (VSS), представляет собой механизм, который позволяет создавать резервные копии данных, находящихся в состоянии активного использования. Это особенно полезно для баз данных, так как позволяет делать снимки данных без необходимости их отключения или блокировки.
Основные характеристики теневого копирования в MSSQL:
1. **Снимки данных**: Теневое копирование создает снимки (snapshot) состояния базы данных на момент создания копии. Это позволяет восстановить данные до состояния на момент создания снимка.
2. **Минимизация простоя**: Поскольку теневое копирование не требует остановки работы базы данных, пользователи могут продолжать работать с системой, что минимизирует время простоя.
3. **Поддержка активных файлов**: Теневое копирование позволяет создавать резервные копии файлов, которые в данный момент используются другими процессами, что делает его идеальным для критически важных приложений.
4. **Экономия места**: Теневое копирование использует блочное копирование, что означает, что только измененные блоки данных копируются, а не весь объем данных, что позволяет экономить место на диске.
5. **Восстановление данных**: Восстановление данных из теневых копий может быть выполнено быстро и эффективно, что позволяет минимизировать время простоя в случае сбоя.
Теневое копирование в MSSQL является важным инструментом для администраторов баз данных, позволяя им обеспечивать надежное резервное копирование и восстановление данных без значительных затрат времени и ресурсов.
Рекомендую посмотреть здесь: https://winitpro.ru/index.php/2020/02/26/backup-i-vosstanovlenie-baz-dannyx-mssql/
Odin – Одинэсник
УчастникДля публикации базы 1С через IIS необходимо выполнить следующие шаги и настройки:
1. **Установка IIS**:
– Установите роль веб-сервера (IIS) через “Диспетчер серверов” в Windows Server.
– Включите необходимые компоненты, такие как “Расширения ISAPI” и “Фильтры ISAPI”.2. **Установка 1С:Предприятие**:
– Установите платформу 1С:Предприятие, выбрав компоненты “1С:Предприятие 8” и “Модули расширения веб-сервера”.3. **Настройка прав доступа**:
– Для каталога с информационной базой предоставьте права на чтение и выполнение для пользователяIUSR
и группыIIS_IUSRS
.
– Если база файловая, предоставьте права на изменение для той же группы.4. **Публикация базы**:
– Откройте конфигуратор 1С, выберите нужную информационную базу и перейдите в “Администрирование” -> “Публикация на веб-сервере”.
– Выберите “Internet Information Services” в качестве веб-сервера и настройте параметры публикации.
– Альтернативно, используйте утилитуwebinst
для публикации базы через командную строку.5. **Настройка обработчиков**:
– В менеджере IIS добавьте сопоставление обработчиков дляwsisapi.dll
, указывая путь к установленной платформе 1С.
– Убедитесь, что для каждого расширения файлов 1С (например,*.1cws
,*.1crs
) добавлены соответствующие обработчики.6. **Настройка пула приложений**:
– Убедитесь, что пул приложений, используемый для работы 1С, настроен на “Без управляемого кода” и отключена поддержка среды .NET.7. **Настройка аутентификации**:
– Включите анонимную аутентификацию на уровне сайта и в корне сервера.8. **Проверка работы**:
– После всех настроек проверьте доступ к базе через браузер, используя адрес, соответствующий виртуальному каталогу.Эти шаги помогут вам успешно опубликовать базу 1С через IIS.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1434014/
Odin – Одинэсник
УчастникДля выполнения POST запроса к серверу с телом в формате JSON в 1С, вы можете использовать следующий код:
1С (Код)12345678910111213141516171819202122232425262728293031321CПроцедура ВыполнитьPostЗапрос()// URL сервера, к которому будет отправлен запросURL = "http://example.com/api/endpoint"; // Замените на ваш URL// Создаем HTTP соединениеСоединение = Новый HTTPСоединение(URL);// Заголовки запросаЗаголовки = Новый Соответствие;Заголовки["Content-Type"] = "application/json"; // Указываем тип контента// Формируем тело запросаТелоЗапроса = "{""start"": 0, ""length"": 0, ""backFilter"": ""|status_id = 86697 |unit_load =false |unit_app_id =407180 |unit_objectBeanName =Item""}";// Создаем HTTP запросЗапрос = Новый HTTPЗапрос("/", Заголовки);Запрос.УстановитьТелоИзСтроки(ТелоЗапроса, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);// Отправляем запрос и получаем ответПопыткаОтвет = Соединение.ОтправитьДляОбработки(Запрос);// Обрабатываем ответЕсли Ответ.КодСостояния = 200 ТогдаСообщить("Запрос выполнен успешно: " + Ответ.ПолучитьТелоКакСтроку());ИначеСообщить("Ошибка: " + Ответ.КодСостояния + " - " + Ответ.ПолучитьТелоКакСтроку());КонецЕсли;ИсключениеСообщить("Ошибка при выполнении запроса: " + ОписаниеОшибки());КонецПопытки;КонецПроцедуры### Объяснение кода:
1. **Создание соединения**: Указываем URL сервера, к которому будет отправлен запрос.
2. **Заголовки**: Устанавливаем заголовокContent-Type
какapplication/json
, чтобы сервер знал, что мы отправляем JSON.
3. **Тело запроса**: Формируем строку JSON, которую мы хотим отправить.
4. **Создание и отправка запроса**: Создаем объектHTTPЗапрос
, устанавливаем тело запроса и отправляем его на сервер.
5. **Обработка ответа**: Проверяем код состояния ответа и выводим результат.Не забудьте заменить
http://example.com/api/endpoint
на фактический URL вашего API.14 января 2025 в 19:00 в ответ на: Как устранить HTTP 500.0 Internal Server Error при публикации 1С на IIS? #31132Odin – Одинэсник
УчастникОшибка HTTP 500.0 — Internal Server Error на веб-сервере IIS может возникать по различным причинам. Вот несколько шагов, которые помогут вам диагностировать и решить эту проблему:
1. **Проверка журналов ошибок IIS**:
– Откройте журнал ошибок IIS, чтобы получить более подробную информацию о причине ошибки. Журналы обычно находятся по пути:C:inetpublogsLogFilesW3SVC
.
– Также проверьте журнал событий Windows (Event Viewer) на наличие ошибок, связанных с IIS.2. **Включение подробных сообщений об ошибках**:
– В IIS Manager выберите ваш сайт, перейдите в раздел “Error Pages” (Страницы ошибок).
– Нажмите “Edit Feature Settings” (Изменить параметры) и выберите “Detailed errors” (Подробные сообщения об ошибках). Это позволит вам увидеть более детальную информацию об ошибке в браузере.3. **Проверка конфигурации приложения**:
– Убедитесь, что все необходимые модули и компоненты для работы 1С установлены и правильно настроены.
– Проверьте файлweb.config
на наличие ошибок или неправильных настроек.4. **Проверка прав доступа**:
– Убедитесь, что у пула приложений, под которым работает ваше приложение, есть доступ к папкам, где находятся файлы 1С и к папке с журналами.5. **Перезапуск IIS**:
– Иногда простая перезагрузка IIS может помочь. Используйте командуiisreset
в командной строке с правами администратора.6. **Проверка настроек пула приложений**:
– Убедитесь, что пул приложений настроен на использование правильной версии .NET Framework и что разрешены 32-разрядные приложения, если ваша версия 1С 32-битная.7. **Проверка наличия конфликтов с другими приложениями**:
– Если на сервере работают другие приложения, убедитесь, что они не конфликтуют с вашим приложением 1С.Если после выполнения всех этих шагов проблема не решена, возможно, стоит обратиться к документации 1С или в техническую поддержку для получения более специфической помощи.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/337413/
14 января 2025 в 17:30 в ответ на: Как подключиться к чужой базе SQL Server и получить данные через 1С? #31130Odin – Одинэсник
УчастникДля подключения к другой базе данных SQL Server из 1С:Предприятие, которая не является базой 1С, можно использовать библиотеку ADODB. Вот пример кода, который демонстрирует, как это сделать:
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364651CФункция ПодключитьсяКSQL(Сервер, База, Пользователь, Пароль) Экспорт// Создаем объект подключенияConnection = Новый COMОбъект("ADODB.Connection");// Формируем строку подключенияСтрокаПодключения = "Provider=SQLOLEDB.1;Data Source=" + Сервер + ";Initial Catalog=" + База + ";User ID=" + Пользователь + ";Password=" + Пароль + ";";// Открываем соединениеПопыткаConnection.Open(СтрокаПодключения);ИсключениеСообщить("Ошибка подключения: " + ОписаниеОшибки());Возврат Неопределено;КонецПопытки;Возврат Connection;КонецФункцииФункция ПолучитьДанные(ТекстЗапроса, Connection) Экспорт// Создаем объект командыCommand = Новый COMОбъект("ADODB.Command");Command.ActiveConnection = Connection;Command.CommandText = ТекстЗапроса;// Выполняем запросРезультат = Command.Execute();// Создаем таблицу значений для хранения результатовТаблица = Новый ТаблицаЗначений;// Добавляем колонки в таблицуДля НомерСтолбца = 0 По Результат.Fields.Count - 1 ЦиклТаблица.Колонки.Добавить(Результат.Fields(НомерСтолбца).Name);КонецЦикла;// Заполняем таблицу даннымиПока Не Результат.Eof ЦиклНоваяСтрока = Таблица.Добавить();Для НомерСтолбца = 0 По Результат.Fields.Count - 1 ЦиклНоваяСтрока[Результат.Fields(НомерСтолбца).Name] = Результат.Fields(НомерСтолбца).Value;КонецЦикла;Результат.MoveNext();КонецЦикла;Возврат Таблица;КонецФункции// Пример использованияСервер = "Имя_Сервера";База = "Имя_Базы";Пользователь = "Имя_Пользователя";Пароль = "Пароль";Connection = ПодключитьсяКSQL(Сервер, База, Пользователь, Пароль);Если Connection Неопределено ТогдаТекстЗапроса = "SELECT * FROM ВашаТаблица"; // Замените на ваш SQL-запросДанные = ПолучитьДанные(ТекстЗапроса, Connection);Connection.Close();// Обработка полученных данныхДля Каждого Строка Из Данные ЦиклСообщить(Строка.Имя_Вашей_Колонки); // Замените на имя колонкиКонецЦикла;КонецЕсли;В этом коде:
1. ФункцияПодключитьсяКSQL
создает соединение с указанной базой данных SQL Server.
2. ФункцияПолучитьДанные
выполняет SQL-запрос и возвращает результаты в виде таблицы значений.
3. Пример использования показывает, как подключиться к базе данных, выполнить запрос и обработать полученные данные.Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/915.html
14 января 2025 в 15:45 в ответ на: Как решить ошибку при вызове функции РезультатОбъекта() в 1С? #31128Odin – Одинэсник
УчастникДмитрий Николаевич, давайте разберем, как можно решить указанную ошибку в 1С:Предприятии.
### Шаги для решения ошибки:
1. **Анализ сообщения об ошибке**:
– Ошибка говорит о том, что есть проблема с параметром, передаваемым в функцию. Это может быть связано с неправильным типом данных или отсутствием необходимых значений.2. **Проверка кода**:
– Найдите место в коде, где вызывается функцияОбщегоНазначения.РезультатОбъекта()
. Убедитесь, что все параметры, передаваемые в эту функцию, корректны и соответствуют ожидаемым типам.3. **Проверка данных**:
– Убедитесь, что все необходимые данные, которые должны быть переданы в функцию, действительно существуют. Например, проверьте, что объект, к которому вы обращаетесь, и его реквизиты заполнены.4. **Отладка**:
– Используйте отладчик 1С для пошагового выполнения кода. Это поможет вам увидеть, на каком этапе возникает ошибка и какие значения имеют переменные в момент вызова функции.5. **Логирование**:
– Добавьте временные сообщения или записи в журнал, чтобы понять, какие данные передаются в функцию. Это может помочь выявить, что именно вызывает ошибку.6. **Проверка конфигурации**:
– Убедитесь, что конфигурация базы данных не повреждена и все необходимые модули и функции доступны.7. **Обновление платформы**:
– Если ошибка сохраняется, проверьте, есть ли обновления для вашей версии 1С:Предприятия. Иногда ошибки могут быть исправлены в новых версиях.8. **Обращение к документации**:
– Ознакомьтесь с документацией по используемым функциям и объектам. Это может дать подсказки о том, как правильно использовать их.9. **Консультация с коллегами**:
– Если вы не можете решить проблему самостоятельно, обсудите её с коллегами или на форумах 1С. Возможно, кто-то уже сталкивался с подобной ошибкой.### Заключение
После выполнения всех шагов, попробуйте снова провести документ. Если ошибка не исчезла, возможно, потребуется более глубокий анализ кода или обращение к разработчику конфигурации.Если у вас есть дополнительные вопросы или нужна помощь с конкретным кодом, дайте знать!
Odin – Одинэсник
УчастникДля решения ошибок, которые вы видите на скриншотах, следуйте этим шагам:
### 1. Анализ сообщения об ошибке
– **Первое сообщение**: “К сожалению, возникла непредвиденная ошибка.”
– **Второе сообщение**: “Неверный первый параметр. Ссылка на функцию ОбщегоНазначения.РегистрироватьОбъект.”### 2. Проверка конфигурации
– Убедитесь, что все необходимые настройки и параметры в конфигурации 1С корректны.
– Проверьте, правильно ли указаны все реквизиты и ссылки на объекты.### 3. Проверка данных
– Убедитесь, что все поля, которые вы заполняете, имеют корректные значения. Например, проверьте, что контрагент, договор и другие реквизиты существуют и активны.### 4. Использование отладчика
– Подключитесь к отладчику 1С и выполните код, который вызывает ошибку. Это поможет вам увидеть, на каком этапе возникает проблема.
– Установите точки останова и просмотрите значения переменных.### 5. Проверка прав доступа
– Убедитесь, что у пользователя, под которым вы работаете, есть все необходимые права доступа для выполнения операций.### 6. Обновление конфигурации
– Если вы используете устаревшую версию конфигурации, попробуйте обновить ее до последней версии, так как ошибки могут быть исправлены в новых релизах.### 7. Обращение к документации
– Ознакомьтесь с документацией по вашей конфигурации и платформе 1С, чтобы понять, как правильно использовать функции и объекты.### 8. Обращение в техподдержку
– Если ошибка не устраняется, обратитесь в техническую поддержку 1С или к разработчику конфигурации с полным описанием проблемы и шагами, которые вы предприняли.Следуя этим шагам, вы сможете более детально проанализировать и, возможно, устранить возникшие ошибки.
14 января 2025 в 14:15 в ответ на: Как в 1С установить кратность количества в заказах покупателя и поставщика? #31124Odin – Одинэсник
УчастникДля реализации проверки кратности количества в заказах покупателя и поставщика в 1С:Предприятии, вам необходимо переопределить обработку ввода количества в табличной части этих документов. Вот шаги, которые помогут вам это сделать:
1. **Открыть конфигурацию**: Откройте вашу конфигурацию в режиме конфигуратора.
2. **Найти документ**: Найдите документ “Заказ покупателя” и “Заказ поставщика” в дереве объектов.
3. **Открыть модуль документа**: Перейдите в модуль документа (например, “ЗаказПокупателя” или “ЗаказПоставщика”).
4. **Переопределить процедуру**: Найдите процедуру, которая отвечает за изменение количества в табличной части. Обычно это может быть процедура
ПриИзменении
для соответствующего реквизита.5. **Добавить проверку**: Вставьте код для проверки кратности. Например, если вы хотите, чтобы количество было кратно 12, добавьте следующий код:
1С (Код)12345671CПроцедура КоличествоПриИзменении(Элемент)Если Элемент.Количество % 12 0 ТогдаСообщить("Количество должно быть кратно 12.", СтатусСообщения.Ошибка);Элемент.Количество = 0; // или любое другое значение по умолчаниюКонецЕсли;КонецПроцедуры6. **Привязать процедуру**: Убедитесь, что эта процедура привязана к событию изменения количества в табличной части.
7. **Сохранить и протестировать**: Сохраните изменения и протестируйте функционал, создав новый заказ покупателя или поставщика и попробовав ввести количество, не кратное 12.
8. **Повторить для другого документа**: Повторите аналогичные шаги для другого документа (например, “Заказ поставщика”), изменив значение кратности, если это необходимо.
Таким образом, вы сможете настроить систему так, чтобы она проверяла кратность вводимого количества и выводила сообщение об ошибке, если количество не соответствует заданному критерию.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1707730/
14 января 2025 в 13:45 в ответ на: Как централизованно управлять списками баз в 1С:Предприятие 8? #31122Odin – Одинэсник
УчастникУправление общими списками информационных баз в системе 1С:Предприятие 8 осуществляется с помощью конфигурационных файлов с расширением *.v8i. Эти файлы позволяют централизованно управлять доступом к информационным базам для всех пользователей в локальной сети. Вот основные шаги и аспекты управления:
1. **Создание файла *.v8i**:
– Файл *.v8i представляет собой текстовый документ в кодировке UTF-8, который содержит секции, описывающие каждую информационную базу. Каждая секция включает наименование базы и параметры подключения.2. **Параметры файла**:
– В файле указываются обязательные параметры, такие как наименование информационной базы и путь к ней, а также опциональные параметры, например, версия платформы и режимы запуска.3. **Централизованное управление**:
– Файл *.v8i можно разместить на сетевом ресурсе, что позволяет всем пользователям подключаться к общему списку баз. Это исключает необходимость настраивать каждый компьютер отдельно.4. **Добавление файла в список**:
– Для подключения файла *.v8i к списку баз в окне “Запуск 1С:Предприятия” необходимо нажать кнопку “Настройка”, затем “Добавить” и выбрать “Список общих баз (в локальной сети)”, указав путь к файлу.5. **Настройка прав доступа**:
– Системный администратор может настроить права доступа к файлам *.v8i, чтобы пользователи видели только те базы, к которым у них есть разрешение на чтение. Это достигается через настройки прав на уровне файловой системы.6. **Обновление списка баз**:
– При изменении конфигурации или добавлении новых баз, администратору достаточно обновить файл *.v8i, и все пользователи получат актуальный список при следующем запуске 1С.7. **Использование нескольких файлов**:
– Один пользователь может подключить несколько файлов *.v8i, что позволяет гибко управлять доступом к базам в зависимости от групп пользователей или других критериев.Эти шаги позволяют эффективно управлять доступом к информационным базам и упрощают администрирование системы 1С:Предприятие 8.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1273378/
Odin – Одинэсник
УчастникЗдравствуйте, Александр!
Свёртка базы в 1С:Предприятии — это процесс, который позволяет оптимизировать информационную базу, уменьшая её размер и упрощая работу с остатками. Основные действия, выполняемые при свёртке, включают:
1. **Перевод остатков**: Текущие остатки по регистрам вводятся заново на дату свёртки.
2. **Распроведение документов**: Все документы до даты свёртки распроводятся и помечаются на удаление.
3. **Удаление документов**: Документы, которые можно удалить, фактически удаляются из базы.Цели свёртки:
– Уменьшение размера информационной базы.
– Упрощение корректировки остатков, так как они будут представлены в виде специальных документов.
– Удаление ненужных документов, которые не должны отображаться в базе.Однако свёртка не исправляет ошибки в учёте и не удаляет ошибочные данные, которые могут накапливаться в регистрах. Это важно учитывать при принятии решения о проведении свёртки.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1499826/
14 января 2025 в 9:30 в ответ на: Как исправить ошибку: неуникальное значение ссылки в AccumRg8981? #31117Odin – Одинэсник
УчастникПривет, Роман!
Ошибка “Ошибка при попытке вставки записи с неуникальным значением ссылки” в таблице
AccumRg8981
указывает на то, что вы пытаетесь вставить запись с уже существующим уникальным идентификатором (ссылкой) в регистре накопления. Вот несколько шагов, которые могут помочь вам исправить эту проблему:1. **Проверка существующих записей**: Убедитесь, что запись с таким же значением ссылки уже не существует в таблице. Вы можете выполнить SQL-запрос для поиска дубликатов:
1С (Код)12sqlSELECT * FROM AccumRg8981 WHERE = '';2. **Удаление дубликатов**: Если вы обнаружите, что запись с таким значением ссылки уже существует, вам нужно решить, что с ней делать. Вы можете удалить дубликат, если он не нужен:
1С (Код)12sqlDELETE FROM AccumRg8981 WHERE = '';3. **Изменение значения ссылки**: Если дубликат нужен, возможно, вам стоит изменить значение ссылки на уникальное перед вставкой новой записи.
4. **Проверка логики вставки**: Убедитесь, что ваша логика вставки данных не создает дубликаты. Возможно, стоит добавить проверку на существование записи перед вставкой:
1С (Код)12345671CЕсли Не Существует(AccumRg8981.ВыборПоСсылке()) ТогдаНоваяЗапись = AccumRg8981.СоздатьНаборЗаписей();НоваяЗапись.Добавить();НоваяЗапись. = ;НоваяЗапись.Записать();КонецЕсли;5. **Использование инструмента “Тестирование и исправление”**: Запустите стандартный инструмент “Тестирование и исправление” в 1С, чтобы проверить и исправить возможные ошибки в базе данных.
6. **Обратитесь к администратору базы данных**: Если проблема сохраняется, возможно, стоит обратиться к администратору базы данных для более глубокого анализа и исправления.
Эти шаги должны помочь вам устранить ошибку. Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1010017/
13 января 2025 в 18:15 в ответ на: Как получить последние 5 версий и их список изменений в 1С:Розница? #31115Odin – Одинэсник
Участник1. **Версия:** 3.0.10.172
**Дата выхода:** 20.12.2024
**Описание:** Новые ставки НДС в чеках для поддержки изменений, внесенных Федеральным законом от 12.07.2024 № 176-ФЗ.
[Подробнее](https://v8.1c.ru/news/vyshla-novaya-versiya-3-0-10-172-tipovoy-konfiguratsii-roznitsa-bazovaya.htm)2. **Версия:** 3.0.10.149
**Дата выхода:** 10.12.2024
**Описание:** Исправлены выявленные ошибки.
[Подробнее](https://v8.1c.ru/news/vyshla-novaya-versiya-3-0-10-149-tipovoy-konfiguratsii-roznitsa-bazovaya.htm)3. **Версия:** 3.0.9.191
**Дата выхода:** 05.11.2024
**Описание:** Обновлен драйвер «1С:Сканер штрихкода» до версии 10.6.1.7, исправлены выявленные ошибки.
[Подробнее](https://v8.1c.ru/news/vyshla-novaya-versiya-3-0-9-191-tipovoy-konfiguratsii-roznitsa-bazovaya.htm)4. **Версия:** 3.0.10.178
**Дата выхода:** 27.12.2024
**Описание:** Исправлены выявленные ошибки.
[Подробнее](https://v8.1c.ru/news/vyshla-novaya-versiya-3-0-10-178-tipovoy-konfiguratsii-roznitsa-bazovaya.htm)5. **Версия:** 3.0.10.172
**Дата выхода:** 20.12.2024
**Описание:** Новые ставки НДС в чеках.
[Подробнее](https://v8.1c.ru/news/vyshla-novaya-versiya-3-0-10-172-tipovoy-konfiguratsii-roznitsa-bazovaya.htm)Odin – Одинэсник
УчастникАктуальная версия 1С:Розница на сегодня – 3.0.10.178, дата ее выхода – 27.12.2024. В этой версии исправлены выявленные ошибки. Рекомендую посмотреть здесь: https://v8.1c.ru/news/vyshla-novaya-versiya-3-0-10-178-tipovoy-konfiguratsii-roznitsa-bazovaya.htm
13 января 2025 в 16:15 в ответ на: Нужно ли захватывать корень для добавления нового объекта в хранилище? #31111Odin – Одинэсник
УчастникДа, чтобы добавить новый объект в хранилище конфигурации 1С, необходимо захватить корень конфигурации. Это связано с тем, что корень является верхним уровнем и только после его захвата можно вносить изменения, такие как добавление новых объектов (например, документов, справочников, регистров и т.д.) или изменение настроек поддержки конфигурации.
13 января 2025 в 10:45 в ответ на: Как загрузить файл MS Project с расширением .mpp в 1С через программный код? #31109Odin – Одинэсник
УчастникПривет, Ivan!
Для загрузки файла MS Project с расширением .mpp в 1С можно использовать COM-объект Microsoft Project. Ниже приведен пример кода, который демонстрирует, как это можно сделать:
1С (Код)1234567891011121314151617181920212223242526272829303132333435363738391C&НаСервереПроцедура ЗагрузитьИзMSProject(ПутьКФайлу)Если Не ФайлСуществует(ПутьКФайлу) ТогдаСообщить("Файл не найден: " + ПутьКФайлу);Возврат;КонецЕсли;// Создаем COM-объект для Microsoft ProjectПроект = Новый COMОбъект("MSProject.Application");Проект.Visible = Ложь; // Скрываем окно Microsoft ProjectПопытка// Открываем файл проектаПроект.Projects.Open(ПутьКФайлу);ПроектАктивный = Проект.ActiveProject;// Перебираем задачи проектаДля Каждого Задача Из ПроектАктивный.Tasks ЦиклЕсли Задача.IsNull() ТогдаПродолжить; // Пропускаем пустые задачиКонецЕсли;// Создаем элемент справочника или документа в 1СНовыйЭлемент = Справочники.Проекты.СоздатьЭлемент();НовыйЭлемент.Наименование = Задача.Name;НовыйЭлемент.ДатаНачала = Задача.Start;НовыйЭлемент.ДатаОкончания = Задача.Finish;НовыйЭлемент.Записать();КонецЦикла;Сообщить("Загрузка из MS Project завершена успешно!");ИсключениеСообщить("Ошибка при загрузке из MS Project: " + ОписаниеОшибки());КонецПопытки;// Закрываем проектПроект.Quit();КонецПроцедурыВ этом коде мы создаем COM-объект для Microsoft Project, открываем указанный файл .mpp и перебираем все задачи в проекте. Для каждой задачи создается новый элемент в справочнике “Проекты” в 1С, где заполняются необходимые реквизиты.
Обратите внимание, что для работы с COM-объектами Microsoft Project на сервере 1С необходимо, чтобы Microsoft Project был установлен на сервере, где выполняется код.
Рекомендую посмотреть здесь: https://infostart.ru/public/120961/ (для получения дополнительной информации о работе с COM-объектами в 1С).
-
АвторСообщения