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


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

Метки: документы

Как добавить строки в многострочную часть документа из другого документа?

Я
   Ars
 
31.05.04 - 11:46
Суть проблемы:
Есть документ, который при расчете формирует несколько других документов
на основе собственных вычислений, в том числе их табличную часть. Вот код:
 ОткрытьФорму("Документ.НарядБригадный#qq", NewFrmHandle);//Открываем новую форму

 NewFrmHandle.Приработок=Приработок;//Заполняем реквизиты шапки <---это работает

 ...
//Заполнение табличной части

 for i=1 to grid_Бригада.КоличествоСтрок() do //grid_Бригада - исходная таблица

  NewFrmHandle.НоваяСтрока(); <-----А ВОТ ЭТО УЖЕ НЕ РАБОТАЕТ
  NewFrmHandle.Сотрудник=grid_Бригада.ПолучитьЗначение(i, "Сотрудник");
 endDo;

При выполнении метода НоваяСтрока() не происходит ровным счетом ничего.

Это происходит очевидно из-за того, что имена реквизитов шапки соответствуют их полям ввода,
поэтому проблемы с ними нет, НО КАК ДОБРАТЬСЯ ДО ТАБЛИЧНОЙ ЧАСТИ ДОКУМЕНТА если я знаю только 
идентификатор формы (NewFrmHandle)
 
  Рекламное место пустует
   SnarkHunter
 
1 - 31.05.04 - 11:49
Документ сначала нужно записать, после этого доберешься...
   spock
 
2 - 31.05.04 - 11:52
Даже если документ будет записан добавить новые строки через контекст не выйдет... таким способом.
   Stan from Piter
 
3 - 31.05.04 - 11:52
Заполнить, записать, открыть ...
   spock
 
4 - 31.05.04 - 11:54
   Ars
 
6 - 31.05.04 - 12:05
>Заполнить, записать, открыть 

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

Т.е. что, через контекст формы нельзя получить контекст документа???
   spock
 
7 - 31.05.04 - 12:08
2(6)Контекст документа получить можно, а вот добавлять строки нельзя... ну и некоторые другие действия подобного вида.
А вот если ты откроешь документ модально, то сможешь добавить новые строки.
   Asmody
 
8 - 31.05.04 - 12:12
А если вообще другим путем пойти? Передать в форму нового документа параметр, и обработать его в процедуре ВводНового()?
   Композитор
 
9 - 31.05.04 - 12:19
(6) Зачем создавать и заполнять ненужный в будущем документ, если есть такая штука, как обработка?
   lexa
 
10 - 31.05.04 - 12:20
Попробуй ЗагрузитьТабличнуюЧасть(). В типовой ТиС посмотри документ быстрая продажа.
 
  Рекламное место пустует
   Ars
 
11 - 31.05.04 - 12:24
>spock
Модально к сожалению не подходит, т.к. документов формируется сразу несколько.

>Композитор
Ну, равновероятно он может оказаться и нужным :)

>Asmody
Да, это идея. Наверное так и придется делать.

А вообще, почему ж так сделано-то, что строки нельзя добавлять, когда все остальное можно менять?
   Композитор
 
13 - 31.05.04 - 12:26
(11) Дыры будут.
   Asmody
 
14 - 31.05.04 - 12:27
(11) а куда добавлять строки? ИМХО, у тебя получается переменная типа "Контекст формы" читай "ссылка на объект форма" (грубо). А в форме у тебя неявно присутствует ссылка на объект типа "Документ". Кстати, в v8 эти понятия развели, чем очень облегчили понимание...
   spock
 
21 - 31.05.04 - 12:38
2(15)Так, ты читать умеешь?
В примере из торговли используется технология заполнения ТЧ документ через СоздатьОбъект()...
А (0) делает через ОткрытьФорму().
Разницу чувствуем?

Согласен с (12) на 100%.
   lexa
 
23 - 31.05.04 - 12:44
Да прошу прощения не въехал. Кстати я сам с подобным недавно мучился (мне то же самое pit советовал и то же не в тему). Тогда надо сформировать таблицу значений, аналогичную табличной части документа и передавать ее в качестве параметра (или элемента списка параметров) в ОткрытьФорму("Документ.НужныйДокумент", ТЗ) или ОткрытьФорму("Документ.НужныйДокумент", СписокПараметров), а модуле формы нужного документа в процедуре ВводНового()
ЗагрузитьТабличнуюЧасть(ТЗ)



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