Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 18:54

Помогите новичку!

Автор basic01, 17 ноя 2010, 19:01

0 Пользователей и 1 гость просматривают эту тему.

basic01

Всем Привет!

Друг показал задание, и я не могу понять как его выполнить.
Мне интересно как такое можно написать?
Занимаюсь изучением 1С 1.5 месяца, в кодах слабоват. :dfbsdfbsdf:

Так вот задание (выполняется в 1С:Предприятие 8.2):
Необходимо с помощью программных средств языка 1С написать внешнюю обработку «Перегрузка документа».
На форме находятся 2 поля: в одном выбираем документ, в другом файл; и две кнопки: "Выгрузить" и "Загрузить"
По кнопке «Выгрузить» информация, содержащая в выбранном документе, выгружается в указанный файл.
По кнопке «Загрузить», из указанного файла, в базе создается копия исходного документа (за исключением номера документа, так как номера документов в системе уникальные).
При написании обработки необходимо использовать элемент языка «Метаданные....».

progmikon

Задание примерно понятно. Скажите, а требования к формату файла есть?

DenPlus

Могу предложить такой, хорошо зарекомендовавший себя метод.

По кнопке "Выгрузить":

Создаются две таблицы значений. ТаблицаШапкиДокумента и ТаблицаТабличнойЧастиДокумента.
Соответственно в таблица шапки имеет колонки с названиями реквизитов шапки, а таблица ТЧ имеет колонки с названиями реквизитов табличный частей.

Заполняем эти таблицы значений.
Затем используем ЗначениеВФайл.

По кнопке "Загрузить" присваиваем некой переменной "ЗначениеИзФайла" и раскручиваем эту переменную как обычную таблицу значений.


basic01


basic01

Цитата: DenPlus от 17 ноя 2010, 21:26
Могу предложить такой, хорошо зарекомендовавший себя метод.

По кнопке "Выгрузить":

Создаются две таблицы значений. ТаблицаШапкиДокумента и ТаблицаТабличнойЧастиДокумента.
Соответственно в таблица шапки имеет колонки с названиями реквизитов шапки, а таблица ТЧ имеет колонки с названиями реквизитов табличный частей.

Заполняем эти таблицы значений.
Затем используем ЗначениеВФайл.

По кнопке "Загрузить" присваиваем некой переменной "ЗначениеИзФайла" и раскручиваем эту переменную как обычную таблицу значений.


Может код выложиш примерный

DenPlus

Цитировать
Может код выложиш примерный

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

progmikon

Цитата: DenPlus от 17 ноя 2010, 21:26
Могу предложить такой, хорошо зарекомендовавший себя метод.

По кнопке "Выгрузить":

Создаются две таблицы значений. ТаблицаШапкиДокумента и ТаблицаТабличнойЧастиДокумента.
Соответственно в таблица шапки имеет колонки с названиями реквизитов шапки, а таблица ТЧ имеет колонки с названиями реквизитов табличный частей.

Заполняем эти таблицы значений.
Затем используем ЗначениеВФайл.

По кнопке "Загрузить" присваиваем некой переменной "ЗначениеИзФайла" и раскручиваем эту переменную как обычную таблицу значений.



Интересный подход. А где будет храниться имя самой табличной части?

DenPlus

Цитировать
Интересный подход. А где будет храниться имя самой табличной части?
Да вроде не где не будет храниться. А надо? Мне казалось, что речь шла не об универсальной обработке. Не?

progmikon

Не...я не про универсальность.
У меня по твоему подходу два вопроса:
1. Что делать если табличных частей больше 1?
2. Что собственно ты будешь передавать в ЗначениеВФайл? Две таблицы? А файлов тогда сколько?

mdv

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

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск