Вход | Регистрация

1С:Предприятие ::

Метки: 

Импорт из Excel и создание нового документа

Я
   kkorsakoff
 
28.04.04 - 12:43
Встала следующая задача: импортировать некоторые данные из экселя и вывести на основе их документы об оказании услуг.
С импортом разобрался, данные получил.
А вот насчет создания документа и дальнейшего его вывода для проверки и редактирования возникли проблемы.
То есть суть такая - надо создать ноый документ, заполнить некоторые его поля полученными из экселя значениями, а затем отобразить форму, чтобы ее проверить и в дальнейшем уже вручную сохранить.
Не приведёте ли алгоритм? Надо создавать документ, а на его основе форму. Или создавать форму и ей как-то передать значения для подстановки?
 
 
   NastyFrog
 
1 - 28.04.04 - 13:07
ОткрытьФорму(<?>,,)
Синтаксис:
ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>)
Назначение:
Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании).
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<ОписательОбъекта> - строка-описатель документа вида:
  'Документ.ХХХХХ', где ХХХХХХ - вид документа;
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен);
<ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен).
Замечание:
Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0.
   URI752
2 - 28.04.04 - 13:10
Я думаю следует поступать следующим образом:
Необходимо создавать документ  и заполнять его нужными данными, полученными из Экселя
Док = СоздатьОбъект("Документ.РасходнаяНакладная");
Док.Новый();
Док.Фирма = Фирма;
Док.Склад = Склад;
Пока  Цикл
// Обход данных, полученных из Экселя

   Док.НоваяСтрока();
   Док.Товар = Товар;
   Док.Цена = Цена;
   ...
КонецЦикла;
Док.Записать();
ОткрытьФорму(Док);
PS. Здесь фирма, склад, товар, цена - данные выбранные из Экселя ...
Единственный недостаток этого метода - то что документ записывается, и если он сформирован не правильно, его надо будет удалять вручную, что неудобно, если создается обработка создает несколько документов ...
   VlVikTim
 
3 - 28.04.04 - 13:19
Мдя-а, а что добавить в документ кнопочку "Загрузить" и зацепить ее на процедуру в которой и будут перебираться строки для заполнения табличной части религия не позволяет?
   kkorsakoff
 
4 - 28.04.04 - 13:25
[QUOTE}
Док = СоздатьОбъект("Документ.РасходнаяНакладная"); 
Док.Новый(); 
Док.Фирма = Фирма; 
Док.Склад = Склад; 
...
Док.Записать(); 
ОткрытьФорму(Док); 
[/QUOTE]

Я таким путем поступал. Форма не открывается...просто ничего не происходит:(
А насчет религии, так она позволяет.
Не позволяет задача: цикл лежит выше. То есть в каждом его прогоне создается и открывается _новый_ документ с данными из _новой_ строки таблицы экселя.
   NastyFrog
 
5 - 28.04.04 - 13:29
ОткрытьФорму(Док.ТекущийДокумент()); ?
   kkorsakoff
 
6 - 28.04.04 - 13:31
Вот мой код:
Док=СоздатьОбъект("Документ.ОказаниеУслуг");
Док.Новый();
Док.НомерДок="00000009"//для примера меняю просто номер

Док.Записать();
ОткрытьФорму(Док);
Сообщить("Открыта форма...");
-------
Однако форма к моему сожалению не открывается...почему и задал этот вопрос тут
   NastyFrog
 
7 - 28.04.04 - 13:33
ТекущийДокумент()
   kkorsakoff
 
8 - 28.04.04 - 13:42
ОткрытьФорму(Док.ТекущийДокумент()); ? 

Спасибо! Все работает:)


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует