8.х ОБМЕН Проблема с заполнением НазначениеИспользования

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем vikips, 19 май 2015.

  1. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Есть ПВД с обработчиком ПередОбратокой со следющим кодом

    Код:
    Запрос = Новый Запрос;
         Запрос.Текст = "ВЫБРАТЬ
         |   ХозрасчетныйОстатки.Счет,
         |   ХозрасчетныйОстатки.Субконто1,
         |   ХозрасчетныйОстатки.Субконто2,
         |   ХозрасчетныйОстатки.Субконто3,
         |   ХозрасчетныйОстатки.Организация,
         |   ХозрасчетныйОстатки.СуммаОстатокДт,
         |   ХозрасчетныйОстатки.КоличествоОстатокДт,
         |   ХозрасчетныйОстатки.Подразделение,
         |   ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.СпособОтраженияРасходов,
         |   ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.СчетУчета
         |ИЗ";
         Если ЗначениеЗаполнено(Параметры.Организация) Тогда
           Запрос.Текст = Запрос.Текст + "
           |   РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счет = &Счет, , Организация = &Организация) КАК ХозрасчетныйОстатки";
         Иначе
           Запрос.Текст = Запрос.Текст + "
           |   РегистрБухгалтерии.Хозрасчетный.Остатки(&ДатаОстатков, Счет = &Счет, , ) КАК ХозрасчетныйОстатки";
         КонецЕсли;
         Запрос.Текст = Запрос.Текст + "
         |     ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПередачаМатериаловВЭксплуатацию.ИнвентарьИХозяйственныеПринадлежности КАК ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности
         |     ПО ХозрасчетныйОстатки.Субконто2 = ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Ссылка
         |       И ХозрасчетныйОстатки.Субконто1 = ПередачаМатериаловВЭксплуатациюИнвентарьИХозяйственныеПринадлежности.Номенклатура";
    
         Сообщить(Запрос.Текст);
    
         Запрос.УстановитьПараметр("ДатаОстатков",   Параметры.ДатаВводаОстатков);
         Запрос.УстановитьПараметр("Счет",        ПланыСчетов.Хозрасчетный.ИнвентарьИХозяйственныеПринадлежностиВЭксплуатации);
         Если ЗначениеЗаполнено(Параметры.Организация) Тогда
           Запрос.УстановитьПараметр("Организация", Параметры.Организация)
         КонецЕсли;
    
         Результат = Запрос.Выполнить().Выгрузить();
         Результат.Сортировать("Организация Возр");
         ТекОрганизация = "";
    
         ИсходныеДанные = Новый Структура("Дата, Организация, Комментарий, Материалы");
    
         Материалы = Новый ТаблицаЗначений;
         Материалы.Колонки.Добавить("Номенклатура");
         Материалы.Колонки.Добавить("ФизЛицо");
         Материалы.Колонки.Добавить("НазначениеИспользования");
         Материалы.Колонки.Добавить("ДатаПередачиВЭксплуатацию");
         Материалы.Колонки.Добавить("ДокументПартии");
         Материалы.Колонки.Добавить("Количество");
         Материалы.Колонки.Добавить("ЕдиницаИзмерения");
         Материалы.Колонки.Добавить("Коэффициент");
         Материалы.Колонки.Добавить("Стоимость");
         Материалы.Колонки.Добавить("ПогашеннаяСтоимость");
         Материалы.Колонки.Добавить("СтоимостьРегл");
         Материалы.Колонки.Добавить("ПогашеннаяСтоимостьРегл");
         Материалы.Колонки.Добавить("ВременнаяРазница");
         Материалы.Колонки.Добавить("ПогашеннаяВременнаяРазница");
         Материалы.Колонки.Добавить("ПостояннаяРазница");
         Материалы.Колонки.Добавить("ПогашеннаяПостояннаяРазница");
         Материалы.Колонки.Добавить("СчетУчетаБУ");
         Материалы.Колонки.Добавить("СчетУчетаНУ");
    
    
         Для Каждого ТекСтрока Из Результат Цикл 
           Если ТекОрганизация <> ТекСтрока.Организация Тогда //Началась выборка по следующей организации
        
             Если Материалы.Количество() > 0 Тогда
               ИсходныеДанные.Материалы = Материалы;
               ВыгрузитьПоПравилу(ИсходныеДанные,, ,, "ВводНачальныхОстатковМатериаловВЭксплуатацииОст");
             КонецЕсли;
        
             Материалы.Очистить();  
             ТекОрганизация = ТекСтрока.Организация;  
             ИсходныеДанные.Дата       = Параметры.ДатаВводаОстатков;
             ИсходныеДанные.Организация   = ТекОрганизация;
             ИсходныеДанные.Комментарий   = "Перенесено из БП 3.0, МЦ.04";
           КонецЕсли;
      
           НоваяСтрока = Материалы.Добавить();
           НоваяСтрока.Номенклатура         = ТекСтрока.Субконто1;
           НоваяСтрока.ФизЛицо             = ТекСтрока.Субконто3;
           НоваяСтрока.ДатаПередачиВЭксплуатацию   = ТекСтрока.Субконто2.Дата;
           НоваяСтрока.ДокументПартии         = ТекСтрока.Субконто2;
           НоваяСтрока.Количество           = ТекСтрока.КоличествоОстатокДт;
           НоваяСтрока.ЕдиницаИзмерения       = ТекСтрока.Субконто1.ЕдиницаИзмерения;
           НоваяСтрока.Коэффициент           = 1;
           НоваяСтрока.Стоимость           = ТекСтрока.СуммаОстатокДт;
           НоваяСтрока.СтоимостьРегл         = ТекСтрока.СуммаОстатокДт;
           НоваяСтрока.СчетУчетаБУ           = ТекСтрока.СчетУчета;
           НоваяСтрока.СчетУчетаНУ           = ТекСтрока.СчетУчета;
      
    //        НоваяСтрока.НазначениеИспользования = ;
         КонецЦикла;
    
    
         ИсходныеДанные.Материалы = Материалы;
         ВыгрузитьПоПравилу(ИсходныеДанные,, ,, "ВводНачальныхОстатковМатериаловВЭксплуатацииОст");
    Вопрос в следующем нужно заполнить НоваяСтрока.НазначениеИспользования используя
    ТекСтрока.СпособОтраженияРасходов с соответсвуюзим правилом конвертации использую функцию ВыгрузитьПоПравилу(); если можно то как, или подскажите как сделать по другому
  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    У Вас в ПКО есть этот реквизит. У него есть правило конвертации объекта. Просто передавайте туда ссылку, универсальная выгрузка сделает все сама.
    --- Объединение сообщений, 19 май 2015 ---
    У Вас по такому же приницпу выгружается номенклатура или физ. лица.
  3. TopicStarter Overlay
    vikips
    Offline

    vikips Опытный в 1С

    Регистрация:
    3 окт 2006
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Спасибо, с этой частью справился,
    но есть проблема
    при выгрузке формируется несколько документов, но когда загружаешь получается, что все документы имеют один и тот же номер и в журнале только один документ, хотя в настройках ПКО стоит галка Автоматически генерировать номер или код

    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
    Документ проведен : Ввод начальных остатков материалов в эксплуатации 00000000001 от 31.12.2014 23:59:59
  4. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    6.990
    Симпатии:
    399
    Баллы:
    104
    Значит выгрузка найти не может нужный документ. В свойствах ПКО установите галочку "Поиск по уникальному идентификатору" и будет счастье.
    --- Объединение сообщений, 20 май 2015 ---
    И поля поиска укажите нормальные. Типа Дата, номер, организация или что там еще есть.

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