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

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

Автор fat001, 16 апр 2014, 10:41

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

fat001

Приветствую имеется внешняя обработка для УНФ позволяющая создать несколько заказов на производство на основании заказов от покупателя. Писалась и тестировалась для релиза 1.3.2.5 как ее переделать для УПП 8.2 код модуля прилагаю.


Функция СведенияОВнешнейОбработке() Экспорт
   
   РегистрационныеДанные = Новый Структура;
   РегистрационныеДанные.Вставить("Наименование", "Создание заказов на производство");
   РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
   РегистрационныеДанные.Вставить("Версия", "1.0");
   РегистрационныеДанные.Вставить("Вид", "СозданиеСвязанныхОбъектов");
   РегистрационныеДанные.Вставить("Информация", "Создание заказов на производство на основании заказа покупателя");
   
   /////////////// команды /////////////////////////
   
   тзКоманд = Новый ТаблицаЗначений;
   тзКоманд.Колонки.Добавить("Идентификатор");
   тзКоманд.Колонки.Добавить("Представление");
   тзКоманд.Колонки.Добавить("Модификатор");
   тзКоманд.Колонки.Добавить("ПоказыватьОповещение");
   тзКоманд.Колонки.Добавить("Использование");
   
   строкаКоманды = тзКоманд.Добавить();
   строкаКоманды.Идентификатор = "Создать";
   строкаКоманды.Представление = "Создать заказы на производство";
   строкаКоманды.ПоказыватьОповещение = Истина;
   
   строкаКоманды.Использование = "ВызовКлиентскогоМетода";
                                    
   РегистрационныеДанные.Вставить("Команды", тзКоманд);
   
   МассивНазначений = Новый Массив;
   МассивНазначений.Добавить("Документ.ЗаказПокупателя");
   РегистрационныеДанные.Вставить("Назначение", МассивНазначений);
      
   Возврат РегистрационныеДанные;
   
КонецФункции

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

СветланаCC

1) Проще будет прикрепить саму обработку!
Тазовод)

markgenuine

Для начала нужно посмотреть в обработке какие функции и процедуры используются, если нет обращения к процедурам конкретно из самой конфигурации, то продолжаем копать дальше, смотрим какие обращения к объектам и к метаданным есть, правим их на УПП объекты и метаданные, так же смотрим запрос и правим поля которые называются по другому или не существуют.

fat001

Цитата: markgenuine от 16 апр 2014, 11:27
Для начала нужно посмотреть в обработке какие функции и процедуры используются, если нет обращения к процедурам конкретно из самой конфигурации, то продолжаем копать дальше, смотрим какие обращения к объектам и к метаданным есть, правим их на УПП объекты и метаданные, так же смотрим запрос и правим поля которые называются по другому или не существуют.
Можно по подробние я в этом деле новечек ?

chuevsf

Цитата: fat001 от 17 апр 2014, 10:43
Можно по подробние я в этом деле новечек ?
Вообще-то программистам за такие дела очень хорошие деньги платят.:) Именно за переделки и доделки.
Изучайте особенности программирования в 1С и будет вам счастье.

Теги:

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

Рейтинг@Mail.ru

Поиск