Имя: Пароль:
1C
1С v8
ВводНаОсновании проверка условия УФ
0 opus70
 
07.01.16
15:34
Добрый день,
Портирую старые хотелки из 7.7 ТИС
и столкнулся с такой проблемой в 7.7 у меня в заказе в табличной части были прописаны разные склады
и В Процедуре НаОсновании(..) в док "Раелизция"
я проверял если есть несколько складов то выдавал Вопрос с выбором склада и в "НАКЛАДНУЮ" только товары этого склада
а вот как это сделать из УТ 11
никак не могу понять
есть Процедура ОбработкаЗаполнения(...) это серверный метод
я так понимаю там не возможно выполнить диалоговый выбор
а как проверить при
открытии Документ что документ введен на основании тоже не могу понять

если ДокументОснование.Вид()="ЗаявкаПокупателя" Тогда
    СписокСкладов = СоздатьОбъект("СписокЗначений");
    ДокументОснование.ВыбратьСтроки();
    Пока ДокументОснование.ПолучитьСтроку()=1 Цикл
    если ПустоеЗначение(ДокументОснование.НаСклад)=1 Тогда
        Продолжить;
    конецесли;
    если СписокСкладов.найтиЗначение(ДокументОснование.НаСклад)=0 Тогда
                СписокСкладов.ДобавитьЗначение(ДокументОснование.НаСклад);
            конецесли;
    Конеццикла;
    АА =СписокСкладов.Размерсписка();
    если АА=1 Тогда
        Склад = СписокСкладов.ПолучитьЗначение(1);
    ИначеЕсли АА>1 Тогда
        Выбор=СписокСкладов.ПолучитьЗначение(1);
    если СписокСкладов.ВыбратьЗначение(Выбор,"Выберите склад",,,)=1 Тогда
            Склад = Выбор;
Конецесли;
конецесли;
        
    Конецесли;
1 ВРедная
 
07.01.16
16:07
Заполняй какое нибудь доп свойство документа, потом при создании на сервере анализируй его
2 Вжескрыылг
 
07.01.16
16:17
Если УФ открыта (выбор докоснования делается в форме реализации), то сделать реквизит формы "СписокСкладов" и в обработке выбора присовокупить ВыбратьИзМеню(СписокСкладов, ЭлементДокументОснование) (или асинхронный аналог)
3 Вжескрыылг
 
07.01.16
16:18
(2) реквизит тогда можно воопче не делать
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.