Имя: Пароль:
1C
1С v8
Установка цен номенклатуры и УФ в УТ11
0 FuriKuri
 
26.02.14
16:44
Столкнулся с задачей программного создания документа "Установка цен номенклатуры" из другого документа (Самописного) в УТ11. И вылезли 2 вопроса:
1) Хотел ввести УЦН на основании моего документа. Противил в настройках доков ввод на основании другого. Но в документе не появляется кнопка "Ввести на основании". Где эта функция включается или что нужно делать?
2) Если создавать документ программно - пишу так:

&НаКлиенте
Процедура СоздатьУстановкуЦен(Команда)
    
    Форма = ПолучитьФорму("Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента");
        ДанныеФормы = Форма.Объект;
        ДанныеФормы = СоздатьУстановкуЦенНаСервере(ДанныеФормы);
        КопироватьДанныеФормы(ДанныеФормы, Форма.Объект);
        Форма.Открыть();
КонецПроцедуры

&НаСервере
Функция СоздатьУстановкуЦенНаСервере(ДанныеФормы)
    
        ДанныеФормы2 = ДанныеФормыВЗначение(ДанныеФормы, Тип("ДокументОбъект.УстановкаЦенНоменклатуры"));
            
    Отказ = Ложь;
    Для каждого стр из Объект.товары цикл
        Если Не ЗначениеЗаполнено(стр.БазоваяЦена) тогда
            Сообщить("В строке "+Стр.НомерСтроки+"не заполнена  базовая цена!");
            Отказ = Истина;
        КонецЕсли;
    КонецЦикла;
    
    Если Не Отказ тогда

        ДанныеФормы2.Комментарий = Объект.Комментарий;
        ДанныеФормы2.Ответственный = Объект.Ответственный;
        
        Базовая = Справочники.ВидыЦен.НайтиПоНаименованию("Базовая");
        
        НовыйТипЦен = ДанныеФормы2.ВидыЦен.Добавить();
        НовыйТипЦен.ВидЦены = Базовая;                 
        Рубли = Справочники.Валюты.НайтиПоКоду("643");
        
        Для каждого стр из Объект.Товары цикл
            
            НоваяСтрока = ДанныеФормы2.Товары.Добавить();
            НоваяСтрока.Номенклатура = Стр.Номенклатура;
            НоваяСтрока.Характеристика = стр.Характеристика;
            НоваяСтрока.Цена = стр.БазоваяЦена;
            НоваяСтрока.ВидЦены = Базовая;
            НоваяСтрока.ЦенаИзмененаВручную = Истина;
                        
        КонецЦикла;
        
        КонецЕсли;
    
    ЗначениеВДанныеФормы(ДанныеФормы2, ДанныеФормы);
    Возврат ДанныеФормы;

    
КонецФункции


Форма открывается но пустая... На форме все оформлено через деревья и т.д. Может кто сталкивался с программным созданием дока, как его правильно создавать?
1 kvikster
 
26.02.14
16:48
лучше просто добавь колонку в документ и сделай движения прям регистр сведений Цены номенклатуры, при условии что только один вид цены
2 FuriKuri
 
26.02.14
16:54
(1) нет, нужно именно документ создать
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.