Перенос открытых заказ-нарядов из Альфа 3.3 в Альфа 5.0

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Перенос открытых заказ-нарядов из Альфа 3.3 в Альфа 5.0
 
Как осуществить сабж? Справочники и ввод остатков перенесли.
Изменено: Юлия Насонова - 23.08.2013 09:16:06
 
Для переноса незавершенного производства необходимо создать заказ-наряд и указать его не странице «Параметры» при загрузке. Тогда все детали будут перенесены в производство под этот заказ-наряд. Далее с помощью документов перемещения незавершенного производства эти запчасти необходимо перенести в открытые заказ-наряды (открытые заказ-наряды создаются в базе приемнике вручную).
 
Светлана, нам нужно перенести заказ-наряды целиком, вместе с работами, исполнителями и проч. Их порядка 300 документов, никто их вручную создавать не будет.
Основная сложность в том, что я не могу сообразить, как перенести исполнителей. В Альфе 5.0 это отдельная табличная часть, а в 3.3 просто реквизиты табличной части.
Помогите, пожалуйста.
 
С помощью типовой обработки заказ-наряды не переносятся, переносятся только остатки товаров в незавершенном производстве.
 
Это я понала, обработку напишу сама. Подскажите пожалуйста, как исполнителей можно перенести.
Изменено: Юлия Насонова - 26.08.2013 07:27:08
 
Юлия Насонова,
Если через КД делать, то в обработчике Правила конвертации группы свойств-Перед обработкой код типа:
Код
ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений");
ТабличнаяЧасть.НоваяКолонка("Количество");
ТабличнаяЧасть.НоваяКолонка("Коэффициент");
ТабличнаяЧасть.НоваяКолонка("Сумма");
ТабличнаяЧасть.НоваяКолонка("СуммаВсего");
ТабличнаяЧасть.НоваяКолонка("Цена");
ТабличнаяЧасть.НоваяКолонка("Работа");
ТабличнаяЧасть.НоваяКолонка("Нормочас");
ТабличнаяЧасть.НоваяКолонка("СтавкаНДС");
ТабличнаяЧасть.НоваяКолонка("ИдентификаторРаботы");
ТабличнаяЧасть.НоваяКолонка("ПримечаниеРаботыПечать");

ТабличнаяЧасть2 = СоздатьОбъект("ТаблицаЗначений");
ТабличнаяЧасть2.НоваяКолонка("Исполнитель");
ТабличнаяЧасть2.НоваяКолонка("Цех");
ТабличнаяЧасть2.НоваяКолонка("Процент");
ТабличнаяЧасть2.НоваяКолонка("ИдентификаторРаботы");

Инфо = СоздатьОбъект("AddIn.V7SysInfo");


ИсходнаяТаблица=СоздатьОбъект("ТаблицаЗначений");
Источник.ВыгрузитьТабличнуюЧасть(ИсходнаяТаблица, "НомерСтроки,Наличие,Номенклатура,Единица, Количество, Кратность,Цена, Сумма, НП,НДС,Исполнитель1,Исполнитель2,Исполнитель3,Исполнитель4,Исполнитель5,Процент1,Процент2,Процент3,Процент4,Процент5,Цех,ФактическоеВремя,Склад");
Для КолСтр=1 по ИсходнаяТаблица.КоличествоСтрок() Цикл
   ИсходнаяТаблица.ПолучитьСтрокуПоНомеру(КолСтр);
   Если ИсходнаяТаблица.Номенклатура.Вид()="ПереченьРабот" Тогда
      ТабличнаяЧасть.НоваяСтрока();
      ТабличнаяЧасть.Количество = ИсходнаяТаблица.Количество;
      ТабличнаяЧасть.Коэффициент = ИсходнаяТаблица.Кратность;
      ТабличнаяЧасть.Сумма = ИсходнаяТаблица.Сумма;
      ТабличнаяЧасть.СуммаВсего = ИсходнаяТаблица.Сумма;
      ТабличнаяЧасть.Цена = ИсходнаяТаблица.Цена;
      ТабличнаяЧасть.Работа = ИсходнаяТаблица.Номенклатура;
      ТабличнаяЧасть.Нормочас = "Рубль";
      ТабличнаяЧасть.СтавкаНДС = "БезНДС";
      ТабличнаяЧасть.ИдентификаторРаботы = Инфо.СоздатьGUID();
      Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель1)=0 Тогда
         ТабличнаяЧасть2.НоваяСтрока();
         ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель1;
         ТабличнаяЧасть2.Цех="ЦБ000001";
         ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент1;
         ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
      КонецЕсли;
      Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель2)=0 Тогда
         ТабличнаяЧасть2.НоваяСтрока();
         ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель2;
         ТабличнаяЧасть2.Цех="ЦБ000001";
         ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент2;
         ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
      КонецЕсли;
      Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель3)=0 Тогда
         ТабличнаяЧасть2.НоваяСтрока();
         ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель3;
         ТабличнаяЧасть2.Цех="ЦБ000001";
         ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент3;
         ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
      КонецЕсли;
      Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель4)=0 Тогда
         ТабличнаяЧасть2.НоваяСтрока();
         ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель4;
         ТабличнаяЧасть2.Цех="ЦБ000001";
         ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент4;
         ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
      КонецЕсли;
      Если ПустоеЗначение(ИсходнаяТаблица.Исполнитель5)=0 Тогда
         ТабличнаяЧасть2.НоваяСтрока();
         ТабличнаяЧасть2.Исполнитель=ИсходнаяТаблица.Исполнитель5;
         ТабличнаяЧасть2.Цех="ЦБ000001";
         ТабличнаяЧасть2.Процент=ИсходнаяТаблица.Процент5;
         ТабличнаяЧасть2.ИдентификаторРаботы=ТабличнаяЧасть.ИдентификаторРаботы;
      КонецЕсли;
   КонецЕсли;
КонецЦикла;

ВходящиеДанные = СоздатьОбъект("СписокЗначений");
ВходящиеДанные.ДобавитьЗначение(ТабличнаяЧасть, "Работы");
ВходящиеДанные.ДобавитьЗначение(ТабличнаяЧасть2, "Исполнители");
а таблицы Работы и Исполнители получать из внешних данных.
 
Сергей, огромное спасибо!!!
Все получилось!
Изменено: Юлия Насонова - 27.08.2013 15:09:37
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С