|
Как открыть (создать) новый документ из документа | ☑ | ||
|---|---|---|---|---|
|
0
GoldMax1
08.05.05
✎
22:24
|
Требуется из документа "Счет" открыть новый документ "Расходная накладная" и записать в него все известные поля из Счета.
При этом новый документ должен появиться на экране с заполненными полями, но в базу он не сохраняется. Сохранение нового документа возможно по нажатию кнопки сохранить пользователем. НоваяРасходнаяНакладная = СоздатьОбъект"Документ.РасходнаяНакладная"); НоваяРасходнаяНакладная.Новый(); НоваяРасходнаяНакладная.ДатаДок = ДатаДок; НоваяРасходнаяНакладная.Покупатель = Покупатель; НоваяРасходнаяНакладная.Валюта = Валюта; НоваяРасходнаяНакладная.КурсВалюты = КурсВалюты; НоваяРасходнаяНакладная.МестоХранения = МестоХранения; НоваяРасходнаяНакладная.Проект = Проект; НоваяРасходнаяНакладная.Наценка = Наценка; НоваяРасходнаяНакладная.Примечание = Примечание; НоваяРасходнаяНакладная.ИтогСуммыБазовой = ИтогСуммыБазовой; НоваяРасходнаяНакладная.ИтогСуммыВалютной = ИтогСуммыВалютной; НоваяРасходнаяНакладная.Основание1 = ТекущийДокумент(); НоваяРасходнаяНакладная.СуммаСчета = Итог("СуммаРасходная"); МояТаблица = СоздатьОбъект("ТаблицаЗначений"); ВыгрузитьТабличнуюЧасть (МояТаблица,"НомерСтроки,БарКод,Наименование,ЕдИзм,ЦенаАктуальная,Количество,ЦенаБазовая,ЦенаРасходная,СуммаБазовая,СуммаРасходная"); НоваяРасходнаяНакладная.ЗагрузитьТабличнуюЧасть(МояТаблица); НоваяРасходнаяНакладная.Записать(); ОткрытьФорму(НоваяРасходнаяНакладная.ТекущийДокумент()); Предупреждение ("Урааа! Свершилось чудо! Расходная накладная № " + СокрЛП(НоваяРасходнаяНакладная.НомерДок) + " от " + СокрЛП(НоваяРасходнаяНакладная.ДатаДок) + " успешно создана"); |
|||
|
1
Почти Экслер
08.05.05
✎
22:28
|
ОткрытьФорму() в неё передать кучу параметров... без сохранения ТЧ вроде не заполнить в ней - фича такая...
|
|||
|
2
goodfella
08.05.05
✎
22:36
|
(0) А вот то, что вы здесь написали, что показывает?
|
|||
|
3
Почти Экслер
08.05.05
✎
22:41
|
(2) Ему же записывать не надо...
|
|||
|
4
goodfella
08.05.05
✎
22:49
|
(3) Точно, не дочитал, тогда вот, из СП:
ОткрытьФорму(<?>,,) Синтаксис: ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>) Назначение: Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании). Возвращает: 1 - если действие выполнено, 0 - иначе. Параметры: <ОписательОбъекта> - строка-описатель документа вида: 'Документ.ХХХХХ', где ХХХХХХ - вид документа; <КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен); <ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен). Замечание: Пока форма открыта, тип значения параметра <КонтекстФормы> равен 100, когда закрыта - 0. |
|||
|
5
Почти Экслер
08.05.05
✎
22:52
|
(4) 1 тоже не дочитал? ;) про фичу...
|
|||
|
6
GoldMax1
08.05.05
✎
23:07
|
Проблема в том что форма открывается и сохраняется, а мне нельзя ее сохранять. Обязательно на сохранение надо спросить разрешение у оператора.
Пробовал другими способами. Форма открывется, не сохраняется, а табличная часть пустая, хотя я ее заполнял |
|||
|
7
Почти Экслер
08.05.05
✎
23:10
|
(6) Ты прочитал 1?
|
|||
|
8
goodfella
08.05.05
✎
23:13
|
(6) А оператор может менять "Расходную накладную"?
|
|||
|
9
427
08.05.05
✎
23:14
|
(7) Оно слепое...
|
|||
|
10
427
08.05.05
✎
23:15
|
(8) у меня - может... Но отпустить больше счета нельзя - даже при частичных отгрузках...
|
|||
|
11
1С Дурочкааа
08.05.05
✎
23:16
|
А что, если не изобретать велосипед, открыть любую типовую конфигурацию и посмотреть как это делается хоть из документа, хоть из журнала?
|
|||
|
12
427
08.05.05
✎
23:17
|
(11) это же открывать надо...
|
|||
|
13
GoldMax1
08.05.05
✎
23:20
|
А если нет стандартной конфигурации? Дайте пожалуйста пример из стандартной конфигураци
|
|||
|
14
1С Дурочкааа
08.05.05
✎
23:34
|
(13) Регистрационную анкету покажи, и будет тебе типовая конфигурация.
|
|||
|
15
goodfella
08.05.05
✎
23:34
|
(13) В документе "Расходная накладная" должна быть процедура ВводНаОсновании, где должно быть описано, как из основания брать данные, а при проведении заявки ставь вызов: ОткрытьФорму("Документ.РасходнаяНакладная",,ТекущийДокумент())
|
|||
|
16
Почти Экслер
08.05.05
✎
23:37
|
(14) Это просто Пять ;)
|
|||
|
17
427
08.05.05
✎
23:46
|
(15) Не обязательно так... Можно и по другому... Но сути дела это не меняет
|
|||
|
18
GoldMax1
08.05.05
✎
23:57
|
При использовании ОткрытьФорму("Документ.РасходнаяНакладная",,ТекущийДокумент()) не заполняется табличная часть. В чем причина?
|
|||
|
19
427
09.05.05
✎
00:00
|
а в процедуре ВводНаОсновании предусмотрено заполнение таб части?
|
|||
|
20
GoldMax1
09.05.05
✎
00:02
|
Как именно нужно заполнять табличную часть при использовании процедуры вводНаОсновании?
|
|||
|
21
Warlock
09.05.05
✎
00:02
|
(20)А как ты другие реквизиты заполняешь?!
|
|||
|
22
GoldMax1
09.05.05
✎
00:04
|
Т.е. в "Расходной накладной" нужно написать цикл обхода строк "Счета" при создании их него новой накладной?
А почему этот цикл нельзя разместить в процедре "Счета"? |
|||
|
23
GoldMax1
09.05.05
✎
00:06
|
Реквизиты шапки заполняю из процедуры счета при создании накладной. А табличная часть по неизвестной причине не заполняется
|
|||
|
24
Warlock
09.05.05
✎
00:09
|
(23)Заполняй все в РН. ТЧ таким способом не заполнить, тебе это еще в (1) сказали...
|
|||
|
25
Warlock
09.05.05
✎
00:10
|
+24 как вариант можешь сформировать СЗ со всеми параметрами и передавать его вторым параметром в ОткрытьФорму()
|
|||
|
26
GoldMax1
09.05.05
✎
00:12
|
Большое спасибо. В таком случае хотелось бы увидеть образец процедуры ВводНаОснованиии для заполнения расходной накладной
|
|||
|
27
Почти Экслер
09.05.05
✎
00:19
|
(26) Золотой Вы наш Максим, возьмите любую типовую в самом деле...
|
|||
|
28
GoldMax1
09.05.05
✎
00:24
|
Ну нет у меня типовой. Поэтому если есть возможность, то пришлите пожалуйста образец
|
|||
|
29
427
09.05.05
✎
00:24
|
образец
Контрагент = Контрагент Докоснование.ВыьратьСтроки... Пока ДокОснование.ПолучитьСтроку = 1 цикл Товар = ДокОснование.Товар... Цена = ДокОснование.Цена ... конец... |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |