Имя: Пароль:
1C
 
Открыть документ в 1с 7.7
0 Eeelena
 
30.10.14
07:28
Как открыть программно документ?
1 Мимохожий Однако
 
30.10.14
07:28
СоздатьОбъект
2 Рэйв
 
30.10.14
07:30
ОткрытьФорму()
3 Рэйв
 
30.10.14
07:30
+см параметры.
4 Eeelena
 
30.10.14
07:32
(2) ДобавляемыйДок = СоздатьОбъект("Документ.ЗаявкаПокупателя");  
ДобавляемыйДок.Новый();
ДобавляемыйДок.ВидОперации=Перечисление.ВидыОперацийЗаявок.Неподтвержденная;
Спр = СоздатьОбъект("Справочник.Номенклатура");



Для НомерСтроки = 1 По ТабЗнач.КоличествоСтрок()-1 Цикл
ТабЗнач.ПолучитьСтрокуПоНомеру(НомерСтроки);
ДобавляемыйДок.ДатаДок=ТекущаяДата();

Если (Спр.НайтиПоРеквизиту("Артикул",ТабЗнач.Артикул,1)=1) И (ТабЗнач.Количество<>0) Тогда
    
ДобавляемыйДок.НоваяСтрока();
ДобавляемыйДок.Номенклатура=Спр.ТекущийЭлемент();
ДобавляемыйДок.Количество=ТабЗнач.Количество;
  
КонецЕсли;
КонецЦикла;

Сообщить("Товары выгружены в табличную часть документа Неподтвержденная заявка №"+ДобавляемыйДок.НомерДок);
ДобавляемыйДок.Записать();
ОткрытьФорму(ДобавляемыйДок);


делаю вот так ОткрытьФорму(ДобавляемыйДок); он ничего не открывает
5 Рэйв
 
30.10.14
07:43
может
ОткрытьФорму(ДобавляемыйДок.ТекущийДокумент())
?
6 Мимохожий Однако
 
30.10.14
07:44
ОткрытьФорму(<?>,,)
Синтаксис:
ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>)
Назначение:
Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании).
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<ОписательОбъекта> - строка-описатель документа вида:
  'Документ.ХХХХХ', где ХХХХХХ - вид документа;
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен);
<ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен).
Замечание:
Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0.
7 aka AMIGO
 
30.10.14
08:06
(4) Отладчиком умеешь пользоваться? - Тогда поставь точку останова на оператор
ОткрытьФорму(ДобавляемыйДок);

и посмотри, почему не попадаешь в новый док.

Возможно, нехватает указания параметра в этой формуле.
т.е. следует ОткрытьФорму(ДобавляемыйДок, Параметр);

а в модуле формы, в проц "ПриОткрытии" обычно присутствуют такие операторы:
Процедура ПриОткрытии()  
    Парам = Форма.Параметр;
    Если ТипЗначенияСтр(Парам)="СписокЗначений" Тогда
        Если ПустоеЗначение(Парам.Получить("Команда"))=1 Тогда
...
Именно в эту процедуру ты и должна попасть.
8 Мимохожий Однако
 
30.10.14
08:09
Она уже убежала )) Скорее всего (5) помогло. Но код корявый.
9 Eeelena
 
30.10.14
08:11
(8) да, (5) помогла)
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший