0
FuriKuri
26.02.14
✎
16:44
|
Столкнулся с задачей программного создания документа "Установка цен номенклатуры" из другого документа (Самописного) в УТ11. И вылезли 2 вопроса:
1) Хотел ввести УЦН на основании моего документа. Противил в настройках доков ввод на основании другого. Но в документе не появляется кнопка "Ввести на основании". Где эта функция включается или что нужно делать?
2) Если создавать документ программно - пишу так:
&НаКлиенте
Процедура СоздатьУстановкуЦен(Команда)
Форма = ПолучитьФорму("Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента");
ДанныеФормы = Форма.Объект;
ДанныеФормы = СоздатьУстановкуЦенНаСервере(ДанныеФормы);
КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
Форма.Открыть();
КонецПроцедуры
&НаСервере
Функция СоздатьУстановкуЦенНаСервере(ДанныеФормы)
ДанныеФормы2 = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.УстановкаЦенНоменклатуры"));
Отказ = Ложь;
Для каждого стр из Объект.товары цикл
Если Не ЗначениеЗаполнено(стр.БазоваяЦена) тогда
Сообщить("В строке "+Стр.НомерСтроки+"не заполнена базовая цена!");
Отказ = Истина;
КонецЕсли;
КонецЦикла;
Если Не Отказ тогда
ДанныеФормы2.Комментарий = Объект.Комментарий;
ДанныеФормы2.Ответственный = Объект.Ответственный;
Базовая = Справочники.ВидыЦен.НайтиПоНаименованию("Базовая");
НовыйТипЦен = ДанныеФормы2.ВидыЦен.Добавить();
НовыйТипЦен.ВидЦены = Базовая;
Рубли = Справочники.Валюты.НайтиПоКоду("643");
Для каждого стр из Объект.Товары цикл
НоваяСтрока = ДанныеФормы2.Товары.Добавить();
НоваяСтрока.Номенклатура = Стр.Номенклатура;
НоваяСтрока.Характеристика = стр.Характеристика;
НоваяСтрока.Цена = стр.БазоваяЦена;
НоваяСтрока.ВидЦены = Базовая;
НоваяСтрока.ЦенаИзмененаВручную = Истина;
КонецЦикла;
КонецЕсли;
ЗначениеВДанныеФормы(ДанныеФормы2, ДанныеФормы);
Возврат ДанныеФормы;
КонецФункции
Форма открывается но пустая... На форме все оформлено через деревья и т.д. Может кто сталкивался с программным созданием дока, как его правильно создавать?
|
|