Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Выгрузка файла в 1С.  (Прочитано 27302 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
ВИЛенин
Гость
« : 03-05-2010 10:36 » 

Помогите, не могу понять как выгрузить данные документа в txt  файл.
Файл открыть могу, копию файла сделать могу...а выгрузить данные документа из Базы...никак:(
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 05-05-2010 22:13 » 

ВИЛенин, Помогите установить Windows. Диск купил, в вертушку вставил - но телевизор не показывает...
Ну и кто должен догадываться о подробностях эксперимента? Что за 1с? Что за документ? Что за ***?
Записан
ВИЛенин
Гость
« Ответ #2 : 06-05-2010 02:33 » 

ну во-первых 1С Зарплата и Управление предприятием
Документ ЛЮБОЙ, заполненый пользователем - это два!
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 06-05-2010 08:01 » 

Что ты вкладываешь в фразу "выгрузить данные документа"? Тебе нужно печатную форму перевести в текстовый вид? или использовать эти данные где-то для импорта?
Записан
ВИЛенин
Гость
« Ответ #4 : 06-05-2010 10:08 » 

Мне нужно потом из эти данные загрузить в другой документ, чтобы получилась полная копия первого
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 06-05-2010 15:14 » 

А почему ты решил что тебе нужно именно txt файл?
Есть такая специальная конфигурация в 1С: КД 2 (Конвертация данных 2) - она позволяет создавать правила для обмена данными между базами с помощью xml файлов. Может стоит пойти по этому пути?
Опиши все же подробней задачу - может есть более простой/правильный путь решения...
Записан
ВИЛенин
Гость
« Ответ #6 : 07-05-2010 02:38 » 

у меня есть задание:
ЦИТИРУЮ:
По кнопке «Выгрузить» информация, содержащаяся в выбранном документе, выгружается в указанный файл. Информация должна быть исчерпывающей, то есть выгружаться должна такая информация, чтобы при нажатии кнопки «Загрузить» в базе создавалась бы копия исходного документа (за исключением номера, так как номера документов в системе уникальные).
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 07-05-2010 06:21 » 

ВИЛенин, так нигде не указано  в какой формат выгружать.
Если кнопка Выгрузить, то выгружай, например,в dbf формат и загружай из dbf. Не будет мороки  с парсером txt файла.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
ВИЛенин
Гость
« Ответ #8 : 07-05-2010 14:54 » 

Тогда вопрос как выгрузить в тот формат?
и почему в txt сложнее будет?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 07-05-2010 15:52 » 

...в базе создавалась бы копия исходного документа...
ВИЛенин, внимание вопрос: в какой базе? в той же самой или другой такой же?
Ответ на впорос дает информацию о том, нужно ли выгружать подчиненные объекты, подчиненные подчиненных, и т.д.
Записан
ВИЛенин
Гость
« Ответ #10 : 08-05-2010 01:21 » 

другой такой же
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 08-05-2010 09:05 » new

Тогда все плохо.
Документ может содержать не только примитивные типы данных (Строка, Число, Дата), но и ссылки на другие объекты базы (Справочники, Документы, ...).
Соответственно для всех таких объектов тебе нужно определить правила синхронизации, т.е.
во-первых: определить по какому признаку искать соответствие таких объектов.
во-вторых (не обязательно): определять какие данные уже есть в другой базе, чтобы не выгружать повторно.
Ну и вызывать процедуру выгрузки рекурсивно.

Кроме того нужно предусмотреть возможность зацикливания: Контрагент в качестве реквизита содержит поле ОсновнойДоговор, который в совю очередь в ревизите ссылается на этого же Контрагента.

Тебе это задание с какой целью поставили? интересует результат или метод решения своими силами?
Записан
ВИЛенин
Гость
« Ответ #12 : 08-05-2010 09:49 » 

интересует результат. Поставили задание с целью сделать прогу, которая будет работать
Если честно пока только больше стал не понимать...
Можете какнть примерно накидать что и как...хотя бы просто выгрузку без всяких проверок. А дальше соображу сам
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 10-05-2010 06:28 » 

Если интересует результат - то, как я написал выше, лучше использовать КД 2 (Конвертация данных).

Если хочется попрограммировать - то в простейшем случае создаешь соответствие, заполняешь его реквизитами, потом делаешь выгрузку в файл с использованием ЗначениеВФайл():
Код:
Соотв = Новый Соответствие;
Для каждого Рекв Из Док.Метаданные().Реквизиты Цикл
Соотв.Вставить(Рекв.Имя, Док[Рекв.Имя]);
КонецЦикла;
Соотв.Вставить("Дата", Док.Дата);
Соотв.Вставить("Номер", Док.Номер);
Соотв.Вставить("UUID", Док.УникальныйИдентификатор());
ЗначениеВФайл(ИмяФайла, Соотв);
Записан
ВИЛенин
Гость
« Ответ #14 : 10-05-2010 12:45 » 

Можешь подсказать ещё книжку какую-нибудь по подробнее почитать об этом?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 11-05-2010 05:17 » 

Про КД2 - обсуждение в этой теме: Работа с КД 2.0
Остальное - встроенная справка и логика.
Записан
ВИЛенин
Гость
« Ответ #16 : 14-05-2010 03:36 » 

В том же задании, но следующие пункты

5. При написании обработки необходимо использовать элемент языка «Метаданные. …». Это делается для универсализации программного кода.
6. При написании обработки не использовать функции «ЗначениеИзСтроки( )» и «ЗначениеВСтроку( )». Это условие дается для взятия формата выгрузки и загрузки под свой контроль.
7. Не использовать функцию «Уникальные идентификаторы».

Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 14-05-2010 12:20 » 

п.5: Метаданные я уже использовал - см. внимательно код
п.6: противоречит ЗначениеВФайл() (по сути - тот же внутренний формат)
п.7: Не совсем понятное требование
Записан
ВИЛенин
Гость
« Ответ #18 : 15-05-2010 03:22 » 

Отсюда вопрос как обойтись без функции ЗначениеВФайл() ?
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #19 : 15-05-2010 04:49 » 

А ты уже свой формат данных выгрузки разработал?
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #20 : 04-06-2010 03:12 » 

Kivals, тему удалять или перемещать ?
Записан

ВИЛенин
Гость
« Ответ #21 : 04-06-2010 03:36 » 

не знаю...мне пока ответы не очень помогли...
То есть примерно понял что делать, но конкретной проги так и не смог сделать.
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #22 : 04-06-2010 03:47 » 

ВИЛенин, ты хоть бы показать, что делал ) А то с места так и не сдвинешься
Записан

ВИЛенин
Гость
« Ответ #23 : 04-06-2010 04:19 » 

ща пока не могу...да днях покажу что делал. что сделал.
Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #24 : 04-06-2010 19:13 » 

Offtopic:
Алексей1153++, в теме в принципе даны полезные ответы, так что для будующих "ищущих знания" можно оставить. Мне часто помагали подобные темы, которые вроде бы и не закончены, но направление куда двигаться дано.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines