8.х 1С - Переделка внешнего обработчика для УПП 1с 8.2

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем fat0001, 16 апр 2014.

  1. TopicStarter Overlay
    fat0001
    Offline

    fat0001

    Регистрация:
    16 апр 2014
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    Приветствую имеется внешняя обработка для УНФ позволяющая создать несколько заказов на производство на основании заказов от покупателя. Писалась и тестировалась для релиза 1.3.2.5 как ее переделать для УПП 8.2 код модуля прилагаю.


    Функция СведенияОВнешнейОбработке() Экспорт

    РегистрационныеДанные = Новый Структура;
    РегистрационныеДанные.Вставить("Наименование", "Создание заказов на производство");
    РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
    РегистрационныеДанные.Вставить("Версия", "1.0");
    РегистрационныеДанные.Вставить("Вид", "СозданиеСвязанныхОбъектов");
    РегистрационныеДанные.Вставить("Информация", "Создание заказов на производство на основании заказа покупателя");

    /////////////// команды /////////////////////////

    тзКоманд = Новый ТаблицаЗначений;
    тзКоманд.Колонки.Добавить("Идентификатор");
    тзКоманд.Колонки.Добавить("Представление");
    тзКоманд.Колонки.Добавить("Модификатор");
    тзКоманд.Колонки.Добавить("ПоказыватьОповещение");
    тзКоманд.Колонки.Добавить("Использование");

    строкаКоманды = тзКоманд.Добавить();
    строкаКоманды.Идентификатор = "Создать";
    строкаКоманды.Представление = "Создать заказы на производство";
    строкаКоманды.ПоказыватьОповещение = Истина;

    строкаКоманды.Использование = "ВызовКлиентскогоМетода";

    РегистрационныеДанные.Вставить("Команды", тзКоманд);

    МассивНазначений = Новый Массив;
    МассивНазначений.Добавить("Документ.ЗаказПокупателя");
    РегистрационныеДанные.Вставить("Назначение", МассивНазначений);

    Возврат РегистрационныеДанные;

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

    Процедура ПолучитьДанныеПоЗаказам(ОбъектыНазначения,Заказы) Экспорт

    Заказы.Очистить();

    Запрос = Новый Запрос;

    Запрос.УстановитьПараметр("ОбъектыНазначения",ОбъектыНазначе ния);

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

    Рез = Запрос.Выполнить();

    Если Рез.Пустой() Тогда
    Возврат;
    Иначе
    Заказы = Рез.Выгрузить();
    КонецЕсли;

    КонецПроцедуры
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.750
    Симпатии:
    509
    Баллы:
    204
    Это вы нам предлагаете переделать ???
  3. Thelearning
    Offline

    Thelearning Профессионал в 1С Команда форума

    Регистрация:
    9 сен 2010
    Сообщения:
    701
    Симпатии:
    72
    Баллы:
    54
    С нуля проще написать будет.
    --- Объединение сообщений, 16 апр 2014 ---
    А вообще согласен с alexburn. У Вас что-то конкретное не получается или нужно сделать?
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.634
    Симпатии:
    946
    Баллы:
    204
    Пишите заново Вот например ФункциональнаяОпцияРезервированиеЗапасов, в УПП такой константы нет

Поделиться этой страницей