Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Работа с многострочной частью открытого документа (http://forums.kuban.ru/f1040/rabota_s_mnogostrochnoj_chast-yu_otkrytogo_dokumenta-3837830.html)

alex_dmn 09.03.2013 19:39

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

Спасибо.

RupertLongdine 09.03.2013 20:35

Нужно заполнить его многострочную, тьфу!, табличную часть... Не?

МимохожийОднако 09.03.2013 20:36

Телепаты подтянутся к 11-му числу.

real 09.03.2013 20:45

(0) В типовых посмотреть, нет?

_U2 09.03.2013 22:39

..Можно так:
Док=СсылкаНаДок.ПолучитьОбъект();
.......
НовСтр=Док.ТаблицаКудаДобавляешь.Добавить();
НовСтр.Поле1=ЗначениеПоля1;
НовСтр.Поле2=Значение;
....
Док.Записать();//не забудь

_U2 09.03.2013 22:52

..Если структура таблиц одинакова...
ТЗ=Док1.Таблица.Выгрузить();
Док2.Таблица.Загрузить(ТЗ);
....
или вообще...
Док1=Док2.Скопировать()
Док1.Записать();
....
Те чо надо то, вопрос простой и решить его можно
еше мильон+1 способом...:-))

_U2 10.03.2013 16:40

Все это затолкай во внешнюю обработку и подцепи на кнопку "Заполнить"...вот тебе ссылка, там все подробно описано, как это сделать:
[url]http://infostart.ru/public/17140/[/url]

Helen1986 10.03.2013 18:41

(4,5) как то так, только обычно учитывают, что нужно не просто копирование, а копирование с обработкой

Orwell 10.03.2013 19:16

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

VZ 10.03.2013 19:38

8-Оруэлл > С чего бы? Вот так взять и забить прямо в документ. Без санкции. А почему не в табличное поле, которое автоматически заполнит ТЧ при записи? По жамканью юзером специальных кнопок "ОК" и "Запись". Кажется, в сабже речь про "вновь созданный" документ, не?

Orwell 10.03.2013 19:51

9-VZ > Поддерживаю!) Но, не понимаю...
Вот, допустим есть такое: ЭлементыФормы.Товары...
Забей туда что-нибудь программно?

VZ 10.03.2013 20:19

10-Оруэлл > ЭлементыФормы.Товары.Наименование.Значение="Оруэлл"; //Не?
Звиняй за шутку :)

alex_dmn 10.03.2013 20:26

Если честно, 4 года уже как НЕпрограммист 1с :) Но жизнь заставляет ... -) Итак, на выходе должно быть вот что: юзер открывает документ "Наряд", вводит туда всякие данные, там же на форме имеется табличная часть документа, которая для редактирования будет не доступна (программно), она отражает некую информацию, которая будет браться автоматически по нажатию на кнопку "заполнить" из других ранее созданных и проведенных документов. Ну как то там, сумбурно немного, но надеюсь понятно.

Типовые уже все перелопатил, но не нашел подобной реализации.

8
направьте на правильный путь :)

VZ 10.03.2013 20:31

12-alex_dmn > [url]http://itprovince.blogspot.ru/2009/11/blog-post_27.html[/url]
Не?

_U2 10.03.2013 20:44

ту 12
..братан! ты напиши хотя бы...ЗУП,УПП,Комплексная?
тебе про телепатов еще раз сказать?
.......
Допустим в ЗУП, есть хороший документ "Наряд"...но для специфики некоторых контор он неудобен...поэтому мне пришлось написать свой документ...куда гружу инфу
из табелей, инфу сколько это стоит, какие у них надбавки...т.к. это вахта на севере, причем несколько объектов и они скачут туда сюда как блохи....
ТВОЮ СИТУАЦИЮ В СТУДИЮ!!

Reaper 10.03.2013 20:55

[quote=VZ;29450225]А почему не в табличное поле, которое автоматически заполнит ТЧ при записи?[/quote]
Чего? О_о

alex_dmn 10.03.2013 21:06

14
Это не типовая конфигурация. Сам разрабюатываю с нуля

alex_dmn 10.03.2013 21:07

Итак, проблема вроде б как решена своими силами. Все оказалось намного проще, просто подзабыл коды :)

Док = СоздатьОбъект("Документ.Табель");
Док.ИспользоватьЖурнал("Табеля", 1);
Док.ВыбратьДокументы(ДатаОТ,ДатаДо);
Пока Док.ПолучитьДокумент()=1 Цикл
Док.ВыбратьСтроки ();
Пока Док.ПолучитьСтроку()=1 Цикл
НоваяСтрока();
ФИО=Док.Фио;
КТУ="1";
КонецЦикла;
//Записать();
КонецЦикла;

alex_dmn 10.03.2013 21:08

Тут главное вот что:
Док.ВыбратьСтроки ();
Пока Док.ПолучитьСтроку()=1 Цикл
НоваяСтрока();
ФИО=Док.Фио;
КонецЦикла;

Сорри что побеспокоил!!!

Orwell 10.03.2013 21:10

11-VZ > не работает( Не, ну можно усовершенствовать, поправить, совершить подвиг - и вырезать, таки, гланды через ноздри!) Но, зачем?

0-alex_dmn > Или я не понимаю, или ты борешься с ветряной мельницей, как Дон Кихот) Тебе нужно на форму документа (уже давно существующего) докинуть кнопку Заполнить - потом заполнить по другому документу? Или ты свой документ сваял, а заполняешь по существующему?

VZ 10.03.2013 21:11

15-Reaper > Ну, внутри ПриЗаписи() ;)

alex_dmn 10.03.2013 21:14

19
Вначале заполняются документы "Табель". Их много. Далее юзер открывает документ "Наряд" и его заполняет. Но табличная часть у меня будет запоняться автоматически исходя из данных которые имеются в уже сохраненных документах "Табеля". Понял? Т.е. открываю новый документ и туда в таблитчнеую часть завожу данные из документов которые уже проведенны.

Orwell 10.03.2013 21:15

Упс... парень бьется с семерой...

alex_dmn 10.03.2013 21:15

Короче проблему решил. Простите чайника. Тему можно крыть.

alex_dmn 10.03.2013 21:16

22 - ага. с 7кой :)

VZ 10.03.2013 21:17

17-alex_dmn > Б... "семерка"... Предупреждать надо!
Кстати, (17),(18) требуют уже [b]записанного[/b] документа.

smaharbAX 10.03.2013 22:40

позовите Пита


Текущее время: 14:39. Часовой пояс GMT +3.