Имя: Пароль:
1C
1С v8
Ввод на основании, открытие найденного документа
0 1634344
 
18.10.13
14:56
Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)
    Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ПриходнаяНакладная") Тогда    

        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    Ценообразование.Номер,
        |    Ценообразование.Дата,
        |    Ценообразование.Проведен,
        |    Ценообразование.ДокументОснование
        |ИЗ
        |    Документ.Ценообразование КАК Ценообразование
        |ГДЕ
        |    Ценообразование.Проведен = &Проведен
        |    И Ценообразование.ДокументОснование.Ссылка = &ДокументОснование";

    Запрос.УстановитьПараметр("ДокументОснование", ДанныеЗаполнения.Ссылка);
    Запрос.УстановитьПараметр("Проведен", Истина);

    Результат = Запрос.Выполнить().Выгрузить();
    КоличествоСтрок=Результат.Количество();
    Если КоличествоСтрок > 0 Тогда
        Сообщить("Внимание !!!!!!!
        |Ценообразование уже введено");
        /////////////////////////////////////
        //КАК теперь сделать так что-бы открылся не
        //пустой документ а полученный запросом документ
        //////////////////////////////////////

    Иначе    
        ДокументОснование = ДанныеЗаполнения.Ссылка;
        Склад = ДанныеЗаполнения.Склад;
        Для Каждого ТекСтрокаНоменклатура Из ДанныеЗаполнения.Номенклатура Цикл
            НоваяСтрока = Номенклатура.Добавить();
            НоваяСтрока.ЕдиницаИзмерения = ТекСтрокаНоменклатура.ЕдиницаИзмерения;
            НоваяСтрока.Наименование = ТекСтрокаНоменклатура.Наименование;
            НоваяСтрока.ЦенаЗакупки = ТекСтрокаНоменклатура.ЦенаЗакупки;
1 1634344
 
18.10.13
14:57
суть в том что бы открывался не пустой документ ценообразование,а документ полученный в запросе, и с запретом его редактирования.
2 Галахад
 
гуру
18.10.13
14:58
УФ?
3 1634344
 
18.10.13
14:59
(2)да
4 Fedor-1971
 
18.10.13
15:03
Как-то так: ОткрытьФорму("Документ.Ценообразование.ФормаОбъекта", новый Структура("Ключ",Результат.Ссылка));
Результат.Ссылка -  ссылка на найденный документ
5 1634344
 
18.10.13
15:07
(4)
{Документ.Ценообразование.МодульОбъекта(31,9)}: Процедура или функция с указанным именем не определена (ОткрытьФорму)
        <<?>>ОткрытьФорму("Документ.Ценообразование.Форма.ФормаДокумента",новый Структура("Ключ",Результат.Ссылка)) (Проверка: Сервер)
6 banco
 
18.10.13
15:10
(5) на сервере не откроешь форму. можно попробовать в обработчике ОбработкаПолученияФормы удалить из параметров основание и добавить ключ твою ссылка
7 VikingKosmo
 
18.10.13
15:10
(5) а ты форму на сервере открыть собираешься?! о_О
8 1634344
 
18.10.13
15:18
(5) Впал в штопор, где находиться данная предопределенная процедура
9 Fedor-1971
 
18.10.13
15:18
написал для УФ - процедура открытия должна быть &НаКлиенте, а ОбработкаЗаполнения выполняется на сервере, потому придётся поизвращаться,

можно в Параметры.Добавить("докЦенообразование",Результат.Ссылка)

в обработчике ПриОткрытии() достать из параметров и открыть форму документа.
10 1634344
 
18.10.13
15:18
(6)
11 banco
 
18.10.13
15:22
(8) в модуле менеджера
12 1634344
 
18.10.13
15:23
Походу дела вариант тупиковый
13 1Сергей
 
18.10.13
15:24
(11) о_О фигасе
14 mrDSide
 
18.10.13
15:25
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    
    ПараметрыВыбора = Новый Структура("ДокументСсылка", ПараметрКоманды);
    ОткрытьФорму("Обработка.РезультатыПроведенияДокумента.Форма.Форма" , ПараметрыВыбора, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно)
    
КонецПроцедуры
15 mrDSide
 
18.10.13
15:25
из моей конфигурации, работает 100%
16 mrDSide
 
18.10.13
15:26
только в запросе ссылку выбирай и проверяй на РезультатЗапроса.Пустой()
17 mrDSide
 
18.10.13
15:27
еще можно создать форму на сервере и передать ссылку навигационную на клиент.
18 banco
 
18.10.13
15:28
(13) не знал что в модуле менеджера есть обработчик ОбработкаПолученияФормы?
19 banco
 
18.10.13
15:44
(0) короче, вот как то так

Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка)

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

КонецЕсли;

КонецПроцедуры