Заполнение нового открытого документа 7.7

Новая тема
Показывать по 10 20 40 сообщений
"Делаю так:

Если ПустоеЗначение(ДокУд)=1 Тогда
ОткрытьФорму("Документ.УдорожаниеТовара",ДокУд);
//Заполнение шапки документа
//Заполняется!
ДокУд.Основание=СокрЛП(НомерДок)+" от "+Строка(ДатаДок);
ДокУд.Автор=Пользователь;
ДокУд.Дата_курса=ДокОснование.Дата_курса;
ДокУд.Валюта=ДокОснование.Валюта;
ДокУд.Курс=ДокОснование.Курс;
ДокУд.Фирма=ДокОснование.Фирма;
ДокУд.ТипЦен=Перечисление.ТипыРасхЦен.Розничные;
ДокУд.СтавкаНДС=ДокОснование.СтавкаНДС;
ДокУд.Склад=ДокОснование.СкладТов;
КонецЕсли;
//Заполнение табличной части документа
//НЕ заполняется!!!
ДокУд.НоваяСтрока();
//Здесь имеем на отладчике ДокУд.КоличествоСтрок() = 0
ДокУд.Товар=ДокОснование.Товар;
ДокУд.Количество=ДокОснование.Количество;
ДокУд.Единица=ДокОснование.Единица;
ДокУд.Коэффициент=ДокОснование.Коэффициент;
ДокУд.Цена=ДокОснование.Цена;

Что я не так делаю?"
Не совсем понятен код. Вы открываете форму документа передав в нее параметр, конкретный документ. Дальше вы что хотите чтобы происходило? Он сам бы заполннялся по каким-то данным?
">  ДокУд.НоваяСтрока();

Новаястрока();"
Я пытаюсь создать новый документ, открыть его, заполнить, но не записывать, а предоставть право записа и проведения пользователю...
Не подходит...
Ситуация следующая, при вводе на основании Счета Расходной накладной проверяется изменилась ли цена и в зависимости от этого надо создать еще третий документ.
"Попробуйте изменить алгоритм. Сначала ЗАПОЛНИТЬ,потом ОТКРЫТЬ.

ОткрытьФорму("Документ.УдорожаниеТовара",ДокУд);

перенесите в конец кода."
"Для того, что-бы сначала заполнить а потом открыть документ его нужно предварительно записать, а именно этого и не надо делать программно.
В смысле Сначала Новый(); потом Записать(); и только потом ОткрытьФорму(..."
"Пардон туплю. В основном уже в 8 работаю. Не пойму почему у вас шапка заполняется.

ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>)
Назначение:
Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании).
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<ОписательОбъекта> - строка-описатель документа вида:
 'Документ.ХХХХХ', где ХХХХХХ - вид документа;
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен);
<ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен).

Этот код выполняется не в форме я так понимаю?

//Заполнение шапки документа
//Заполняется!
ДокУд.Основание=СокрЛП(НомерДок)+" от "+Строка(ДатаДок);
ДокУд.Автор=Пользователь;
ДокУд.Дата_курса=ДокОснование.Дата_курса;
ДокУд.Валюта=ДокОснование.Валюта;
ДокУд.Курс=ДокОснование.Курс;
ДокУд.Фирма=ДокОснование.Фирма;
ДокУд.ТипЦен=Перечисление.ТипыРасхЦен.Розничные;
ДокУд.СтавкаНДС=ДокОснование.СтавкаНДС;
ДокУд.Склад=ДокОснование.СкладТов;
КонецЕсли;
//Заполнение табличной части документа
//НЕ заполняется!!!
ДокУд.НоваяСтрока();
//Здесь имеем на отладчике ДокУд.КоличествоСтрок() = 0
ДокУд.Товар=ДокОснование.Товар;
ДокУд.Количество=ДокОснование.Количество;
ДокУд.Единица=ДокОснование.Единица;
ДокУд.Коэффициент=ДокОснование.Коэффициент;
ДокУд.Цена=ДокОснование.Цена;


"
"Я бы сделал так :

Если ПустоеЗначение(ДокУд)=1 Тогда
ОткрытьФорму("Документ.УдорожаниеТовара",,ДокументОснование);

Дальше уже в форме в процедуре ВводНаОсновании() уже был заполнял новый документ.
"
Описываю еще раз ситуацию.
Есть Счет на предоплату.
На его основании вводим Расходную накладную.
В процедуре ВводНаОсновании(... Расходной накладной сверяем текущую цену товара и цену из Счета.
Если цены разные то в процедуре ВводНаОсновании которая находится в модуле документа Расходная накладная пытаемся создать Уценку или Удорожание товара.
Но НЕ записывая ни Уценку ни Удорожание и их нужно вывести на экран!
А не записываем мы их потому, что при вводе на основании Счета Накладной пользователь может не сохранить (записать) накладную, а уценка либо удорожания уже к ней будут записаны, что не есть гуд...
Читают тему
(гостей: 1)

Быстрый переход