Имя: Пароль:
1C
1С v8
Переделка внешнего обработчика для УПП 1с 8.2
0 fat001
 
16.04.14
11:31
Приветствую имеется внешняя обработка для УНФ позволяющая создать несколько заказов на производство на основании заказов от покупателя. Писалась и тестировалась для релиза 1.3.2.5 как ее переделать для УПП 8.2 код модуля прилагаю.


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

Процедура ПолучитьДанныеПоЗаказам(ОбъектыНазначения,Заказы) Экспорт
  
   Заказы.Очистить();
  
   Запрос = Новый Запрос;
  
   Запрос.УстановитьПараметр("ОбъектыНазначения",ОбъектыНазначения);
              
   Запрос.Текст = "            
       |ВЫБРАТЬ РАЗРЕШЕННЫЕ
      |
      |   ВЫБОР
      |      КОГДА Константы.ФункциональнаяОпцияРезервированиеЗапасов
      |         ТОГДА ЗаказПокупателяЗапасы.Ссылка
      |      ИНАЧЕ ЗНАЧЕНИЕ(Документ.ЗаказПокупателя.ПустаяСсылка)
      |   КОНЕЦ КАК ЗаказПокупателя,
      |
      |   ЗаказПокупателяЗапасы.Ссылка.Организация КАК Организация,
      |
      |   ВЫБОР
      |      КОГДА ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаПродажи.ТипСтруктурнойЕдиницы = ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.Подразделение)
      |         ТОГДА ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаПродажи
      |      ИНАЧЕ ЗНАЧЕНИЕ(Справочник.СтруктурныеЕдиницы.ПустаяСсылка)
      |   КОНЕЦ КАК СтруктурнаяЕдиница,
      |
      |   ВЫБОР
      |      КОГДА ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаПродажи.ТипСтруктурнойЕдиницы = ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.Подразделение)
      |            И ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаРезерв = ЗНАЧЕНИЕ(Справочник.СтруктурныеЕдиницы.ПустаяСсылка)
      |            И (ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаПродажи.ИсточникПеремещения.ТипСтруктурнойЕдиницы = ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.Склад)
      |               ИЛИ ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаПродажи.ИсточникПеремещения.ТипСтруктурнойЕдиницы = ЗНАЧЕНИЕ(Перечисление.ТипыСтруктурныхЕдиниц.Подразделение))
      |         ТОГДА ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаПродажи.ИсточникПеремещения
      |      ИНАЧЕ ЗаказПокупателяЗапасы.Ссылка.СтруктурнаяЕдиницаРезерв
      |   КОНЕЦ КАК СтруктурнаяЕдиницаРезерв,
      |
      |   ВЫБОР
      |      КОГДА ЗаказПокупателяЗапасы.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ЗаказНаряд)
      |         ТОГДА ЗаказПокупателяЗапасы.Ссылка.Финиш
      |      ИНАЧЕ ЗаказПокупателяЗапасы.ДатаОтгрузки
      |   КОНЕЦ КАК Финиш,
      |
      |   ВЫБОР
      |      КОГДА ЗаказПокупателяЗапасы.Ссылка.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЗаказПокупателя.ЗаказНаряд)
      |         ТОГДА ЗаказПокупателяЗапасы.Ссылка.Старт
      |      ИНАЧЕ ДОБАВИТЬКДАТЕ(ЗаказПокупателяЗапасы.ДатаОтгрузки, ДЕНЬ, -ЗаказПокупателяЗапасы.Номенклатура.СрокПополнения)
      |   КОНЕЦ КАК Старт,
      |
      |   ЗаказПокупателяЗапасы.Номенклатура     КАК Номенклатура,
      |   ЗаказПокупателяЗапасы.Характеристика   КАК Характеристика,
      |   ЗаказПокупателяЗапасы.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
      |   ЗаказПокупателяЗапасы.Количество       КАК Количество,
      |   ЗаказПокупателяЗапасы.Количество       КАК Резерв,
      |   ЗаказПокупателяЗапасы.Спецификация     КАК Спецификация
      |ИЗ
      |   Документ.ЗаказПокупателя.Запасы КАК ЗаказПокупателяЗапасы,
      |   Константы КАК Константы
      |ГДЕ
      |   ЗаказПокупателяЗапасы.Ссылка В (&ОбъектыНазначения)
      |";
  
   Рез = Запрос.Выполнить();
  
   Если Рез.Пустой() Тогда
      Возврат;
   Иначе
      Заказы =  Рез.Выгрузить();
   КонецЕсли;  
  
КонецПроцедуры
1 Kookish
 
16.04.14
11:36
А в чем проблема? Запускать пробовали?
Заказы.Загрузить(Рез.Выгрузить());
?
2 fat001
 
16.04.14
11:47
да вообще в упп не открывает
3 Kookish
 
16.04.14
11:50
УПП на обычных формах? Странно, и почему же не открывает... И ничего-ничего не говорит?
4 fat001
 
16.04.14
11:52
да
5 Kookish
 
16.04.14
12:02
Дык если обработка написана для УФ, с чего бы ей открываться в обычном приложении без подготовки? Нарисуй для нее обычную форму, сделай ее основной, делов-то.
6 fat001
 
16.04.14
12:22
Если можно по подробнее опишите пожалуйста как это все можно сделать?
7 Люблю 1с
 
16.04.14
13:33
(6) позовите специалиста
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс