есть xml файл на 2млн. строк, по сути база 1CШтатно базы 1С не выгружаются в XML. В XML можно выгрузить только конфигурацию или ее элементы. База штатно выгружается в архив *.dt
Нужно как-то перенести её в SQL или что-то подобное.Вероятно упоминается продукт MsSQL, так как SQL - это язык запросов. Практически все современные СУБД поддерживают импорт данных из файлов XML. Вот дока по MsSQL.
Подумываю регнуть облачное хранилище для 1С, развернуть это всё дело там и как нибудь экспортировать в нужном формате.Если есть доступ к 1С, то проще сразу выгрузить в нужно формате. Второй вариант - грузить сырые данные в новую базу из XML файлов, а далее уже на месте редактировать структуру таблиц и чистить "мусор". Как вариант, можно SELECTами сделать выгрузку только нужной информации в файлы для последующей загрузки в финальной базе.
Но вот не знаю как обратиться к данным.Выше была общая стратегия, но судя по комментариям у автора проблема с пониманием азов. Вариантов обращения к данным на платформе 1С:Предприятие ровно два - это объектный (через точку начиная от имеющегося Объекта или Ссылки) и табличный (выборка нужных данных с помощью языка запросов).
ОбъектМетаданных: ПланСчетов (MetadataObject: ChartOfAccounts)
Предопределенные (Predefined)
Использование:
Только чтение.
Описание:
Тип: Неопределено.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Данное свойство всегда имеет значение Неопределено, т.к. во встроенном языке не предусмотрена работа со значением данного свойства.
Получить предопределенные элементы можно с помощью менеджера справочника по имени предопределенного элемента: ПредопределенныйЭлемент = Справочники.Имя_Справочника.Имя_Предопределенного.
Запрос = Новый Запрос(
"ВЫБРАТЬ
| Хозрасчетный.Ссылка КАК Ссылка
|ИЗ
| ПланСчетов.Хозрасчетный КАК Хозрасчетный
|ГДЕ
| Хозрасчетный.Предопределенный = Истина
|
|УПОРЯДОЧИТЬ ПО
| Хозрасчетный.Порядок");
Выборка = Запрос.Выполнить().Выбрать();
СписокСчетов = Новый СписокЗначений;
СписокСчетов.ТипЗначения = Новый ОписаниеТипов("ПланСчетовСсылка.Хозрасчетный");
Пока Выборка.Следующий() Цикл
СписокСчетов.Добавить(Выборка.Ссылка);
КонецЦикла; Кто нибудь делал простое приложение в связке с 1с?Многие делали.
Гугл говорит, что rest api у 1с есть, через oData.Можно через oData, а можно создавать свои произвольные HTTP-сервисы.
И забегая на будущее, через тот же rest возможна ли авторизация под учеткой менеджера в 1с на стороннем приложении?можно дергать любую процедуру на 1С и если не ловишь 401 ошибку, то значит логин/пароль правильные. Но можно использовать 1С для аутентификации как провайдера OpenID.
Но после обновления базы у меня выскакивает ошибка о неизвестном значении, которое я добавил. Анализируя код, оказывается что реквизит не имеет новое значение.
Уважаемы специалисты, почему для управленческого учета (оперативного учета), не начнут разрабатывать программу на C#?
Ведь 1С это оболочка над базой данных, а интерфейс написан на C#.
Зачем создавать платформу и еще встроенный язык 1с (Искусственно создавать новые рабочие кадры???Чтобы выжимать деньги на всяких книжках по программированию 1с и прочих учебных курсов?), если есть .NET Framework и C#?
А что бы не начинать проект постоянно с нуля, можно написать собственную библиотеку с необходимыми инструментами для бухгалтерии и т.п.
В настройках поддержки написано, что версия 3.0.39.65, а в свойствах самой конфигурации версия 3.0.64.54