8.х Внешняя обработка и Планирование

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем mixkr, 28 авг 2015.

  1. TopicStarter Overlay
    mixkr
    Offline

    mixkr

    Регистрация:
    18 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте. В общем не получается перенести данные из внешней обработки в план производства.
    Цель такая , из плана производства переносится данные , они редактируются во внешней обработке и измененные данные должны в этот план производства занестись. А они не заносятся. Код

    Код:
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        ЗаполняемыйДокумент = Параметры.ОбъектыНазначения[0];
        Объект.ТабЧастьПродукция.Загрузить(ЗаполняемыйДокумент.Продукция.Выгрузить());
        ТипДок = ЗаполняемыйДокумент.Метаданные().имя;
        КонецПроцедуры
    &НаКлиенте
    Процедура Заполнить(Команда)
         
        КлючПоиска = Новый Структура("Ключ", ЗаполняемыйДокумент);
        ФормаДокумента = ПолучитьФорму("Документ." + ТипДок + ".ФормаОбъекта", КлючПоиска);
        ДанныеФормыОбъект = ФормаДокумента.Объект; 
        ПеренестиВДокументНаСервере(ДанныеФормыОбъект);
        КопироватьДанныеФормы(ДанныеФормыОбъект, ФормаДокумента.Объект);
        ФормаДокумента.Модифицированность = Истина;
        Закрыть();
    КонецПроцедуры
    &НаСервере
    Процедура ПеренестиВДокументНаСервере(ДанныеФормыОбъект)
     
        ДанныеФормыОбъект.Продукция.Загрузить(Объект.ТабЧастьПродукция.Выгрузить());
     
    КонецПроцедуры
  2. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    А в форме документа точно сама табличная часть документа отображается?
    Или, может, там некая таблица значений, не связанная с табличной частью, которая программно обрабатывается (как, например, в документе "Установка цен номенклатуры" в типовых конфигурациях).
  3. TopicStarter Overlay
    mixkr
    Offline

    mixkr

    Регистрация:
    18 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Отображается , щас даже процесс работы формы скину
    • Имеется вот такой план :
    • [​IMG]
    • Запускаем обработку :
    [​IMG]
    всё отлично , все данные подхватил
    • Далее для примера , удаляем часть номенклатуры, получаем :
    [​IMG]
    • Нажимаем кнопку заполнить:
    [​IMG]
    все без изменений , только одно но, в названии стоит * , значит что-то изменилось , но не табличная часть :(
    как буд-то не туда я данные кидаю , помогите
  4. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Я имел в виду, что нужно посмотреть в конфигураторе, что это за таблица на форме документа отображается.
    Откройте форму документа в конфигураторе. В окошке "Элементы" (или внизу на самом изображении формы) встаньте на таблицу, откройте свойства и посмотрите свойство "ПутьКДанным". Если там табличная часть (Объект.Продукция), тогда все нормально. Должно работать.
    Раз у Вас не работает, значит там не табличная часть, а, скорее всего, реквизит формы с типом "ТаблицаЗначений".

    По крайней мере мне так кажется, на первый взгляд.
  5. TopicStarter Overlay
    mixkr
    Offline

    mixkr

    Регистрация:
    18 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Щас посмотреть не могу , но если бы там , не было (Объект.Продукция), то бы данные не загрузились из таблицы в обработку
  6. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Ну почему же...
    В обработку Вы загружаете данные не из формы, а непосредственно из табличной части документа, ссылка на который у вас есть.
    Код:
    Объект.ТабЧастьПродукция.Загрузить(ЗаполняемыйДокумент.Продукция.Выгрузить());
    Данные в табличной части содержатся. А на форме документа эта табличная часть может и не отображаться.
    Последнее редактирование: 28 авг 2015
  7. TopicStarter Overlay
    mixkr
    Offline

    mixkr

    Регистрация:
    18 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Вот ,я встал на таблицу , там стоит пусть к данным (Объект.ТабЧастьПродукция),[​IMG]
    как то по другому надо работать с планами . Вот как , хз ,проект загибается :(
  8. TopicStarter Overlay
    mixkr
    Offline

    mixkr

    Регистрация:
    18 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Одна проблема решена , в планах существут реквизит , ТабличнаяЧасть="ПродукцияПоДатам", как раз туда в начале при планировании попадают данные , Теперь колонка с номенклатурой появляется , а вот количество нет.
    Т.к. имя колонки с количеством формируется по правилу "Количество_"+ Период.ИмяКолонки
    Во время отладки , посмотрел что это за значение Период.ИмяКолонки, оказался код ="4cf24367_80cd_4031_918c_bbe7deccf92f".
    А теперь вопрос , как этот код программно подгрузить , и переименовать программно мне свою колонку ???
    Отдельно реквизита Период , нету
  9. alexburn
    Offline

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

    Регистрация:
    5 янв 2009
    Сообщения:
    14.760
    Симпатии:
    509
    Баллы:
    204
    Зачем вам такой изврат ? 4cf24367_80cd_4031_918c_bbe7deccf92f это идентификатор какой-то
    Вы динамически подгружаете колонки? Такая фишка не прокатит в т.ч. 1С это вам не ООП :). Что будет если для каждого дока разное количество колонок ?
  10. TopicStarter Overlay
    mixkr
    Offline

    mixkr

    Регистрация:
    18 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    Код:
    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
        ЗаполняемыйДокумент = Параметры.ОбъектыНазначения[0];
        Объект.Продукция.Загрузить(ЗаполняемыйДокумент.Продукция.Выгрузить());
        ТипДок = ЗаполняемыйДокумент.Метаданные().имя;
        КонецПроцедуры
    &НаКлиенте
    Процедура Заполнить(Команда)
    
        КлючПоиска = Новый Структура("Ключ", ЗаполняемыйДокумент);
        ФормаДокумента = ПолучитьФорму("Документ.ПланПроизводства.Форма.ФормаДокумента", КлючПоиска);
        //ДанныеФормыОбъект = ФормаДокумента.Объект;
          ДанныеФормыОбъект = ФормаДокумента.ПродукцияПоДатам;
        ПеренестиВДокументНаСервере(ДанныеФормыОбъект);
        КопироватьДанныеФормы(ДанныеФормыОбъект, ФормаДокумента.ПродукцияПоДатам);
        ФормаДокумента.Модифицированность = Истина;
    
      
        Закрыть();
    КонецПроцедуры
    &НаСервере
    Процедура ПеренестиВДокументНаСервере(ДанныеФормыОбъект)
    
        ДанныеФормыОбъект.Загрузить(Объект.Продукция.Выгрузить());
    
    КонецПроцедуры
    
    
    &НаКлиенте
            Процедура ТабЧастьПродукцияПриИзменении(Элемент)
                КонецПроцедуры
    Вот такой код щас, он загружает во внешнюю обработку только номенклатуру , можно ее изменить , и выгружает номенклатуру , а количество выгружает если колонка называется Количество_4cf24367_80cd_4031_918c_bbe7deccf92f

    "Период" тип ДанныеФормыЭлементКоллекции

    как программно получать этот идентификатор и изменять имя колонки
    Последнее редактирование: 31 авг 2015
  11. 1cUserAndrew
    Offline

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

    Регистрация:
    27 май 2010
    Сообщения:
    4.948
    Симпатии:
    149
    Баллы:
    104
    Это надо проделать не в обработке, а в документе.
  12. TopicStarter Overlay
    mixkr
    Offline

    mixkr

    Регистрация:
    18 авг 2015
    Сообщения:
    7
    Симпатии:
    0
    Баллы:
    1
    читай выше я решил эту проблему. В планах в начале загружаются данные до проводки в таблицу „ПродукцияПоДатам”, после проводки сами данные переносятся из этой таблицы в таблицу„Продукция”
    Конфигурацию базы менять запрещено.
    Проблема щас в том что колонка количество в таблице „ПродукцияПоДатам” формируется как "Количество_"+ Период.ИмяКолонки
    период.имяколонки , не могу выцепить не где.
Похожие темы
  1. 1cUserAndrew
    Ответов:
    4
    Просмотров:
    1.791
Загрузка...

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