Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 05:04

Внешняя обработка Заполнения!

Автор Yura063, 21 мар 2013, 11:34

0 Пользователей и 1 гость просматривают эту тему.

Yura063

Все доброго времени суток!
Проблема в следующем, создал внешнюю обработку для документа перемещения для УТ11. Обработка заполняет все остатки склада (Торговой точки) для перемещении на основной склад!


&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
    Режим = РежимДиалогаВопрос.ДаНет;
    Текст = "Текущие данные документа будут заменены новыми без возможности восстановления.
    |Продолжить?";
    Ответ = Вопрос(Текст, Режим, 0);
    Если Ответ = КодВозвратаДиалога.Да Тогда

        Для каждого Элемент из ОбъектыНазначенияМассив Цикл

            КлючПоиска = Новый Структура("Ключ", Элемент);

            Окна = ПолучитьОкна();
            Для каждого Окно из Окна Цикл

                Если НЕ Окно.Основное
                И Найти(Окно.Заголовок, Элемент) Тогда
               
                    Форма = ОткрытьФорму("Документ.ПеремещениеТоваров.Форма.ФормаДокумента",КлючПоиска,,,Окно);

                   НовыйОбъект = Форма.Объект;

                    ЗаполнитьОбъект(НовыйОбъект);

                   КопироватьДанныеФормы(НовыйОбъект, Форма.Объект);
                КонецЕсли;
               
            КонецЦикла;
           
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ЗаполнитьОбъект(НовыйОбъект)
   
    НовыйОбъект.Товары.Очистить();
   
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ТоварыНаСкладахОстатки.Номенклатура,
    |    ТоварыНаСкладахОстатки.Характеристика,
    |    ТоварыНаСкладахОстатки.ВНаличииОстаток КАК Количество
    |ИЗ
    |    РегистрНакопления.ТоварыНаСкладах.Остатки(&Период, ) КАК ТоварыНаСкладахОстатки
    |ГДЕ
    |    ТоварыНаСкладахОстатки.Склад = &Склад
    |
    |СГРУППИРОВАТЬ ПО
    |    ТоварыНаСкладахОстатки.Номенклатура,
    |    ТоварыНаСкладахОстатки.Характеристика,
    |    ТоварыНаСкладахОстатки.ВНаличииОстаток";
    Запрос.УстановитьПараметр("Период", НовыйОбъект.Дата);
    Запрос.УстановитьПараметр("Склад", НовыйОбъект.СкладОтправитель);
    Выборка = Запрос.Выполнить().Выбрать();
    Сообщить(НовыйОбъект.Дата);
    Сообщить(НовыйОбъект.СкладОтправитель);
    Пока Выборка.Следующий() Цикл
        НоваяСтрока = НовыйОбъект.Товары.Добавить();
        НоваяСтрока.Номенклатура = Выборка.Номенклатура;
        НоваяСтрока.Характеристика = Выборка.Характеристика;
        НоваяСтрока.Количество = Выборка.Количество;
        НоваяСтрока.КоличествоУпаковок = Выборка.Количество;
    КонецЦикла;
КонецФункции

Помогли, отблагодари!

Yura063

В результате документ пустой. как будто не срабатывает
КопироватьДанныеФормы(НовыйОбъект, Форма.Объект)
Что делать?
После этой строки вставлял Форма.Обновить();
Вылетает с ошибкой но форма документа показывается заполненной!


Помогли, отблагодари!

Slin

skype: slin-dev

Yura063

Суть не в этом! В том что появляется форма заполненная! Как я понял появляется форма Которая НовыйОбъект!
Помогли, отблагодари!

Slin

Попробуй вместо форма.Обновить() использовать ОповеститьОбИзменении(НовыйОбъект)
Добавлено: 21 мар 2013, 12:27


у тебя же управляемые формы?
skype: slin-dev

Yura063

Ошибка первого параметра! там ссылка нужна а не Объект! Я так думаю может из-за цикла! он мне обнуляет?!
Добавлено: 21 мар 2013, 13:09


Если вставить Форма.ОбновитьОтображениеДанных(); то ошибки нет Он показывает номенклатуру и сразу затирает!
Добавлено: 21 мар 2013, 13:09


ДА!!!
Могу выложить обработку!
Помогли, отблагодари!

Slin

Цитата: Yura063 от 21 мар 2013, 13:06
Ошибка первого параметра! там ссылка нужна а не Объект! Я так думаю может из-за цикла! он мне обнуляет?!
Ну да... все равно метод не тот :)
skype: slin-dev

Yura063

Вот обработка!

Добавлено: 21 мар 2013, 13:30


добавлять как внешнюю! в документе перемещения Заполнение!

Добавлено: 21 мар 2013, 13:32


процедуры заполнения в модуле формы!

Добавлено: 21 мар 2013, 14:56


Есть ли другой вариант получение формы!

Добавлено: 22 мар 2013, 16:30


Подойдем с другой стороны к вопросу!
Как в открытой управляемой форме, заполнить табличную часть документа и обновить форму чтобы видеть изменения табличной части?
Помогли, отблагодари!

Yura063

Господа! Вопрос в следующем! Программное изменение данных в открытой управляемой форме и отображение изменений на форме?
Помогли, отблагодари!

SlazZy

Когда господ просят о помощи, то не скрывают код паролем. Вам за него стыдно или боитесь, что украдут? В общем-то есть за что стыдиться )) :dfbbdrfb:

особенно учитывая то, что ваша обработка - копипас с инфостарта, вместе с комментариями

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск