Заполнение нового открытого документа 7.7
Показывать по
10
20
40
сообщений
- 1
- 2
16.05.2008
16:46
#1
"Делаю так:
Если ПустоеЗначение(ДокУд)=1 Тогда
ОткрытьФорму("Документ.УдорожаниеТовара",ДокУд);
//Заполнение шапки документа
//Заполняется!
ДокУд.Основание=СокрЛП(НомерДок)+" от "+Строка(ДатаДок);
ДокУд.Автор=Пользователь;
ДокУд.Дата_курса=ДокОснование.Дата_курса;
ДокУд.Валюта=ДокОснование.Валюта;
ДокУд.Курс=ДокОснование.Курс;
ДокУд.Фирма=ДокОснование.Фирма;
ДокУд.ТипЦен=Перечисление.ТипыРасхЦен.Розничные;
ДокУд.СтавкаНДС=ДокОснование.СтавкаНДС;
ДокУд.Склад=ДокОснование.СкладТов;
КонецЕсли;
//Заполнение табличной части документа
//НЕ заполняется!!!
ДокУд.НоваяСтрока();
//Здесь имеем на отладчике ДокУд.КоличествоСтрок() = 0
ДокУд.Товар=ДокОснование.Товар;
ДокУд.Количество=ДокОснование.Количество;
ДокУд.Единица=ДокОснование.Единица;
ДокУд.Коэффициент=ДокОснование.Коэффициент;
ДокУд.Цена=ДокОснование.Цена;
Что я не так делаю?"
Если ПустоеЗначение(ДокУд)=1 Тогда
ОткрытьФорму("Документ.УдорожаниеТовара",ДокУд);
//Заполнение шапки документа
//Заполняется!
ДокУд.Основание=СокрЛП(НомерДок)+" от "+Строка(ДатаДок);
ДокУд.Автор=Пользователь;
ДокУд.Дата_курса=ДокОснование.Дата_курса;
ДокУд.Валюта=ДокОснование.Валюта;
ДокУд.Курс=ДокОснование.Курс;
ДокУд.Фирма=ДокОснование.Фирма;
ДокУд.ТипЦен=Перечисление.ТипыРасхЦен.Розничные;
ДокУд.СтавкаНДС=ДокОснование.СтавкаНДС;
ДокУд.Склад=ДокОснование.СкладТов;
КонецЕсли;
//Заполнение табличной части документа
//НЕ заполняется!!!
ДокУд.НоваяСтрока();
//Здесь имеем на отладчике ДокУд.КоличествоСтрок() = 0
ДокУд.Товар=ДокОснование.Товар;
ДокУд.Количество=ДокОснование.Количество;
ДокУд.Единица=ДокОснование.Единица;
ДокУд.Коэффициент=ДокОснование.Коэффициент;
ДокУд.Цена=ДокОснование.Цена;
Что я не так делаю?"
16.05.2008
16:49
#2
Не совсем понятен код. Вы открываете форму документа передав в нее параметр, конкретный документ. Дальше вы что хотите чтобы происходило? Он сам бы заполннялся по каким-то данным?
16.05.2008
16:56
#4
Я пытаюсь создать новый документ, открыть его, заполнить, но не записывать, а предоставть право записа и проведения пользователю...
16.05.2008
16:59
#5
Не подходит...
Ситуация следующая, при вводе на основании Счета Расходной накладной проверяется изменилась ли цена и в зависимости от этого надо создать еще третий документ.
Ситуация следующая, при вводе на основании Счета Расходной накладной проверяется изменилась ли цена и в зависимости от этого надо создать еще третий документ.
16.05.2008
17:17
#6
"Попробуйте изменить алгоритм. Сначала ЗАПОЛНИТЬ,потом ОТКРЫТЬ.
ОткрытьФорму("Документ.УдорожаниеТовара",ДокУд);
перенесите в конец кода."
ОткрытьФорму("Документ.УдорожаниеТовара",ДокУд);
перенесите в конец кода."
16.05.2008
17:32
#7
"Для того, что-бы сначала заполнить а потом открыть документ его нужно предварительно записать, а именно этого и не надо делать программно.
В смысле Сначала Новый(); потом Записать(); и только потом ОткрытьФорму(..."
В смысле Сначала Новый(); потом Записать(); и только потом ОткрытьФорму(..."
16.05.2008
17:38
#8
"Пардон туплю. В основном уже в 8 работаю. Не пойму почему у вас шапка заполняется.
ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>)
Назначение:
Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании).
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<ОписательОбъекта> - строка-описатель документа вида:
'Документ.ХХХХХ', где ХХХХХХ - вид документа;
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен);
<ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен).
Этот код выполняется не в форме я так понимаю?
//Заполнение шапки документа
//Заполняется!
ДокУд.Основание=СокрЛП(НомерДок)+" от "+Строка(ДатаДок);
ДокУд.Автор=Пользователь;
ДокУд.Дата_курса=ДокОснование.Дата_курса;
ДокУд.Валюта=ДокОснование.Валюта;
ДокУд.Курс=ДокОснование.Курс;
ДокУд.Фирма=ДокОснование.Фирма;
ДокУд.ТипЦен=Перечисление.ТипыРасхЦен.Розничные;
ДокУд.СтавкаНДС=ДокОснование.СтавкаНДС;
ДокУд.Склад=ДокОснование.СкладТов;
КонецЕсли;
//Заполнение табличной части документа
//НЕ заполняется!!!
ДокУд.НоваяСтрока();
//Здесь имеем на отладчике ДокУд.КоличествоСтрок() = 0
ДокУд.Товар=ДокОснование.Товар;
ДокУд.Количество=ДокОснование.Количество;
ДокУд.Единица=ДокОснование.Единица;
ДокУд.Коэффициент=ДокОснование.Коэффициент;
ДокУд.Цена=ДокОснование.Цена;
"
ОткрытьФорму(<ОписательОбъекта>,<КонтекстФормы>,<ДокументОснование>)
Назначение:
Открывает визуальную форму ввода нового документа (в т.ч. в режиме ввода на основании).
Возвращает: 1 - если действие выполнено, 0 - иначе.
Параметры:
<ОписательОбъекта> - строка-описатель документа вида:
'Документ.ХХХХХ', где ХХХХХХ - вид документа;
<КонтекстФормы> - имя переменной, куда можно задать значение любого типа для передачи в открываемую форму. Данное значение будет доступно в открытой форме как атрибут Форма.Параметр. После исполнения данного метода система вернет в данную переменную контекст открытой формы (необязателен);
<ДокументОснование> - документ-основание для открытия формы ввода нового документа в режиме ввода на основании (необязателен).
Этот код выполняется не в форме я так понимаю?
//Заполнение шапки документа
//Заполняется!
ДокУд.Основание=СокрЛП(НомерДок)+" от "+Строка(ДатаДок);
ДокУд.Автор=Пользователь;
ДокУд.Дата_курса=ДокОснование.Дата_курса;
ДокУд.Валюта=ДокОснование.Валюта;
ДокУд.Курс=ДокОснование.Курс;
ДокУд.Фирма=ДокОснование.Фирма;
ДокУд.ТипЦен=Перечисление.ТипыРасхЦен.Розничные;
ДокУд.СтавкаНДС=ДокОснование.СтавкаНДС;
ДокУд.Склад=ДокОснование.СкладТов;
КонецЕсли;
//Заполнение табличной части документа
//НЕ заполняется!!!
ДокУд.НоваяСтрока();
//Здесь имеем на отладчике ДокУд.КоличествоСтрок() = 0
ДокУд.Товар=ДокОснование.Товар;
ДокУд.Количество=ДокОснование.Количество;
ДокУд.Единица=ДокОснование.Единица;
ДокУд.Коэффициент=ДокОснование.Коэффициент;
ДокУд.Цена=ДокОснование.Цена;
"
16.05.2008
17:45
#9
"Я бы сделал так :
Если ПустоеЗначение(ДокУд)=1 Тогда
ОткрытьФорму("Документ.УдорожаниеТовара",,ДокументОснование);
Дальше уже в форме в процедуре ВводНаОсновании() уже был заполнял новый документ.
"
Если ПустоеЗначение(ДокУд)=1 Тогда
ОткрытьФорму("Документ.УдорожаниеТовара",,ДокументОснование);
Дальше уже в форме в процедуре ВводНаОсновании() уже был заполнял новый документ.
"
16.05.2008
17:49
#10
Описываю еще раз ситуацию.
Есть Счет на предоплату.
На его основании вводим Расходную накладную.
В процедуре ВводНаОсновании(... Расходной накладной сверяем текущую цену товара и цену из Счета.
Если цены разные то в процедуре ВводНаОсновании которая находится в модуле документа Расходная накладная пытаемся создать Уценку или Удорожание товара.
Но НЕ записывая ни Уценку ни Удорожание и их нужно вывести на экран!
А не записываем мы их потому, что при вводе на основании Счета Накладной пользователь может не сохранить (записать) накладную, а уценка либо удорожания уже к ней будут записаны, что не есть гуд...
Есть Счет на предоплату.
На его основании вводим Расходную накладную.
В процедуре ВводНаОсновании(... Расходной накладной сверяем текущую цену товара и цену из Счета.
Если цены разные то в процедуре ВводНаОсновании которая находится в модуле документа Расходная накладная пытаемся создать Уценку или Удорожание товара.
Но НЕ записывая ни Уценку ни Удорожание и их нужно вывести на экран!
А не записываем мы их потому, что при вводе на основании Счета Накладной пользователь может не сохранить (записать) накладную, а уценка либо удорожания уже к ней будут записаны, что не есть гуд...
- 1
- 2
ЗиК релиз 283 Пособие до 1,5 лет неверно считает календарные дниОтражение зарплаты в регламентированном учете 1С ЗУП 8.1
Читают тему
(гостей: 1)