Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/25: Рейтинг темы: голосов - 25, средняя оценка - 5.00
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
1

Сохранить массив Справочников в файл

20.10.2013, 20:40. Показов 4993. Ответов 25
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
1С Предприятие 8.2
Управляемые формы.

Как сохранить массив в файл, если в нем хранятся Справочники как объекты.

Сейчас мне достаточно использовать функцию ЗначениеВФайл, но правильно сохранить не получается.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2013, 20:40
Ответы с готовыми решениями:

Осуществляю выгрузку справочников в текстовый файл.
Осуществляю выгрузку справочников в текстовый файл. Есть справочник он ссылается на другой...

Считать массив из файла и отсортировать его. Отсортированный массив сохранить в файл
Создать одномерный массив. Сохранить его в файл. Считать массив из файла и отсортировать его....

Создать массив натуральных трёхзначных чисел. Открыть файл для редактирования. В новый файл сохранить числа кратные трём
Доброе утро. Помогите пожалуйста. Создать массив натуральных трёхзначных чисел. Открыть файл для...

Сохранить 3d массив в файл
Собственно вопрос в заголовке. Помогите чем сможете.

25
900 / 877 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
20.10.2013, 21:42 2
Цитата Сообщение от daslex Посмотреть сообщение
Как сохранить массив в файл, если в нем хранятся Справочники как объекты.
Зачем?
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
20.10.2013, 22:08  [ТС] 3

Не по теме:

Как я не люблю вопрос Зачем :D



У меня мало практического опыта работы в 1С
У меня вообще нет опыта работы с файлами кроме как с txt
Мне нужно облегчить себе жизнь, написав несложную обработку.
Чтобы облегчить себе жизнь обработкой, мне достаточно перенести 2 справочника (В одном из них несколько справочников) из одной конфы в другую. (одна локальная-черновая, вторая серверная рабочая. Сами конфигурации абсолютно одинаковые)
Т.к. с теми справочниками никто кроме меня не работает, то я посчитал, что записав их в 2 отдельных массива , я смогу записать их как объекты на диск для копирования с черновой конфы в рабочую.
Т.к. я бы предпочел знать то чего не знаю, даже если потом использовать не буду.
Т.к. я пока еще понятия не имею о сериализаторах, xml и как с ними работать.
Т.к. мне это интересно.
Т.к. я не знаю какой подход правильный. (по передаче объектов из в)
Т.к. я не разобрался когда пытался такое сделать.
Т.к. я весь день убил, но так и не осилил простую с виду задачу.
Т.к. я посчитал, что такой вариант выглядит проще чем те, которые мне приходили на ум.



много еще причин нужно?
Мне не обязательно именно так (чтоб массив в файл), но я не отказываюсь от того, что мне это интересно.
0
900 / 877 / 8
Регистрация: 15.03.2012
Сообщений: 2,680
20.10.2013, 22:25 4
daslex, "сохранить массив в файл" и перенести данные между двумя базами все таки разные вещи.
1. Изучите в синт. помощнике описание и методы объекта ТекстовыйДокумент .
2. Обходя значения массива в цикле записывайте их в текстовый документ.

Относительно ваших дальнейших изысканий в области обменов данными, я бы посоветовал изучить конфигурацию "Конвертация данных". Ваша задача с помощью нее решается за 1 минуту без программирования.
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
20.10.2013, 22:57  [ТС] 5
Большая вероятность есть того, что текстовый документ мне не подходит.
Конвертацию данных - буду смотреть.

Добавлено через 25 минут
Я знаю, что при подобном подходе могут проявится некоторые нехорошие моменты, но так как обработку я делаю исключительно под себя и те данные, которые могут быть нарушены создаются исключительно мной, то мне не трудно доделывать будет.
Гораздо труднее и намного дольше руками копировать всё. (Эти загрузки, зависания, вылеты с бухты барахты с сообщением об ошибке столько времени отнимают).
Если я знаю как сохранять (именно знаю), то, значит то, что мне нужно я выцеплю точно.

Вопрос как бы в силе, несмотря на последний совет.
0
Эксперт 1С
843 / 606 / 211
Регистрация: 24.07.2013
Сообщений: 2,102
20.10.2013, 23:12 6
Есть готовая обработка ВыгрузкаЗагрузкаДанныхXML.epf, которая позволяется обмениваться данными между идентичными конфигурациями.
Есть она в поставке Конвертация данных.
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
20.10.2013, 23:51  [ТС] 7
Tklwegsd, спасибо.
нашел в нете, скачал, использовал (типа посмотрел как работает).

Но в будущем мне точно нужно будет перекидывать информацию из разных баз.
Уже сейчас нужно. Пока еще можно обойтись текстовым документом, но текстовый документ удобен совсем не всегда. Поэтому я бы предпочел узнать сейчас некоторые моменты, т.к. это лучше чем узнавать их в случае нехватки сроков (никто будущего не знает)
0
Эксперт 1С
843 / 606 / 211
Регистрация: 24.07.2013
Сообщений: 2,102
21.10.2013, 00:13 8
Цитата Сообщение от daslex Посмотреть сообщение
Но в будущем мне точно нужно будет перекидывать информацию из разных баз.
Тогда Конвертация данных.
0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
21.10.2013, 00:14 9
Цитата Сообщение от daslex Посмотреть сообщение
Не по теме:
Как я не люблю вопрос Зачем
Наиважнейший вопрос. Он касается алгоритма. Ламер упрямо долбится, как правило, в ворота, одиноко стоящие посреди поля. Это образно. А предметно - если явный алгоритмический косяк - к примеру, сохранять объекты, то и ставится вопрос "зачем". Объект динамичен. ЧТО ВЫ ХОТИТЕ СОХРАНИТЬ?
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
21.10.2013, 00:44  [ТС] 10
Цитата Сообщение от duk337 Посмотреть сообщение
ЧТО ВЫ ХОТИТЕ СОХРАНИТЬ?
Хотел в Документообороте 1.3 сохранить правила Автозаполнения шаблонов.
(Справочник ПравилаАвтозаполненияФайлов и его табличную часть ДанныеАвтозаполнения) (имена даю не совсем точные)

Обработка-то, упомянутая в теме вполне меня устраивает для решения задачи. Дальше просто что-то типа спортивного интереса.
Несомненно, я попытаюсь научиться работать с конвертацией данных. Но интуитивно могу догадываться, что в некоторых ситуациях ручная работа будет выгоднее. (мои такие догадки ничем не обоснованы, просто ощущение есть).

Не по теме:


Мысли вслух
Делать я начинал выбирая запросом все элементы справочника, записывал их в таблицу значений, таблицу значений в файл, потом загружал, при необходимости создавал новые справочники, куда вписывал информацию из загруженной ТЗ. Но под такой подход пословица подходит: "Чем дальше в лес - тем гуще дебри". Сложности возникли, поэтому решил упростить сохранив справочники в массивы, а массивы как объекты в файлы.
Но, похоже, что такой подход типичная ошибка разного рода новичков.
С текстовым файлом тоже сходу не получилось, т.к. количество объектов разное, что-то еще разное. Создавать кучу запросов, чтоб результаты записывать в отдельные файлы, а потом собирать все эти файлы не хотелось совсем.

0
2955 / 1767 / 82
Регистрация: 03.11.2011
Сообщений: 8,280
21.10.2013, 01:18 11
принято
0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
21.10.2013, 10:10 12
Прочитал несколько раз, так и не понял в чем проблема?
0
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
21.10.2013, 10:38  [ТС] 13
Цитата Сообщение от Xomych Посмотреть сообщение
так и не понял в чем проблема?
если в массиве хранятся объекты типа справочник, то ЗначениеВФайл("путь",Массив) сохраняет в файл не в виде массива объектов, а в виде какого-то массива (может только колонку первую или строку, не вникал я)

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

если писать для пользователей, которые далеки от программирования, то им, возможно, невозможно будет осилить конвертацию данных. (такой тип людей есть, что им кнопка нужна и такой тип людей точно работает с 1с как пользователи). Тут как ни крути самописное спасет.

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

Не по теме:

Цитата Сообщение от duk337 Посмотреть сообщение
Сообщение от daslex
Не по теме:
Как я не люблю вопрос Зачем
Наиважнейший вопрос.
Вот потому и не люблю, что сколько не распыляйся, никто не поймет, никто не поможет :no:

0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
21.10.2013, 11:05 14
Я через XBase перенос делал.
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
21.10.2013, 11:30  [ТС] 15
Я могу сказать немного странную вещь.
Но,
Предположим пользователь работает менеджером. Он ведет работу с документами, названия у которых не очень стандартные. (пусть даже простая смесь латинских символов). Сам пользователь работает с двумя разными конфигурациями. В конфигурациях внутри базы хранят информацию об одних и тех же объектах (сами реквизиты объектов могут разнится, но по сути это 1 объект, описанный в двух конфигурациях.) так как с конфигурациями работает пользователь, то чтобы автоматизировать его работу не заставляя его запускать тысячу программ для каждой его цели, можно создать волшебную для него кнопку. Загрузить в. Выгрузить для.

Сам по себе смысл вопроса в том, чтобы автоматизировать то, что можно автоматизировать, т,к. 1c изначально предназначен для автоматизации . А простое копирование мышкой имен и названий бывает приводит к ошибкам(не то выбрал, не то скопировал, не туда вставил)

я посчитал, что работать с объектами как с объектами мне поможет массив объектов. Мне не нужно следить за ссылочной целостностью, скоростью или за чем-то ещё.

Бывает же необходимо добавить объект конфигурации программно и добавляют. Я бы просто цеплял данные из сохраненного объекта и записывал их в создаваемое.
0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
21.10.2013, 11:32 16
А планы обмена настроить если между базами, не подойдет?
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
21.10.2013, 11:55  [ТС] 17
Не знаю. Честно, говоря, тяжело придумывать то, с чем пока не встречался.
Тяжело сказать о том, с чем пока еще не работал.

Если план обмена можно настроить между абсолютно любыми (и самописными и типовыми) конфигурациями и Если там можно описывать запросы, чтобы вытаскивать по какому-то реквизиту объекта всё, что к этому объекту принадлежит, то, возможно, подойдет. (Всё - это то, что даже из самых глубоких недр по хитросплетенным цепочкам внутри базы)

Более точный ответ придумать мне тоже сложно.
0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
21.10.2013, 11:58 18
Ну я могу только посоветовать накапливать информацию, читать, гуглить, так и разберешься. А уже по конкретным проблемам обращаться сюда, помогут. Тут я думаю уже всё расписали, что можно сделать
1
1373 / 596 / 199
Регистрация: 02.08.2011
Сообщений: 2,882
21.10.2013, 12:50  [ТС] 19
Я пока и без поисков понял одну важную вещь. )
даже если я сохраню массив объектов на диск, то загрузить скорее всего не выйдет. т,к конфигурация может не знать используемых типов.
Можно было и сразу сказать. Я знаю вы это точно знали, но устроили мне допрос тут :-D

за полезные советы всем спасибо. Тему можно считать закрытой. Неправильный вопрос хорошему не научит.
0
857 / 656 / 111
Регистрация: 01.11.2012
Сообщений: 2,411
21.10.2013, 13:04 20
Что за ерунда? Ты же сам написал. что у тебя 2 одинаковые конфигурации, каких типов они могут не понять?
Настраиваешь план обмена и всё работает. То что заводишь в одной переносится в другую. Есть наверняка написанные обработки по переносу данных, стоит в инете порыться. Да и перенос несложно написать используя любой формат практически.
0
21.10.2013, 13:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2013, 13:04
Помогаю со студенческими работами здесь

Сохранить массив в файл
Задача 1. Инициализировать массив строк размерностью n (n вводится пользователем) . Сохранить...

Сохранить массив объектов в файл
Есть массив объектов, определенного типа. Как прочитать эти объекты и сохранить в файл на жесткий...

Заполнить массив и сохранить в файл
Всем добрый день, есть вопросы по файлах: Мне нужно сначала с клавиатуры заполнить массив...

Сохранить массив данных в файл
Здравствуйте! Подскажите пожалуйста как можно записать массив данных в файл. У меня есть какой-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru