[РЕШЕНО] Добавление реквизита в обработку програмно 1с8.2 обычное приложение

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Nik02071, 3 фев 2015.

  1. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Имеется внешняя обработка .Как програмно создать/Удалить реквизит этой внешней обработки ?
    Тип значений реквизита является ТаблицаЗначений. Этот реквизит является источником данных ТабличноеПоле на форме этой обработки. Это ТабличноеПоле может появляться и заполнение ТабличногоПоля может меняться в зависимости от занесенной информации в ПолеВвода на форме этой обработки
  2. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Код:
          
        //Отбора по 51 счету  
          
        СтруктураОтбораСч51=Новый Структура;
         СтруктураОтбораСч51.Вставить("Шифр","51");
          СтруктураОтбораСч38=Новый Структура;
           СтруктураОтбораСч38.Вставить("Шифр","38");
        // СтруктураОтбораСч51.Вставить("Месяц","02");
         МассивСтрок51=ТаблицаНачислений.НайтиСтроки(СтруктураОтбораСч51);
          МассивСтрок38=ТаблицаНачислений.НайтиСтроки(СтруктураОтбораСч38);
        // Для Каждого стрМасс Из МассивСтрок Цикл
        ////     Сообщить(стрМасс.Месяц);
        // КонецЦикла;
    //     Сообщить("максимальный индекс массива"+" - "+ МассивСтрок.ВГраница());
    Если МассивСтрок51.ВГраница()<>-1 Или  МассивСтрок38.ВГраница()<>1 Тогда
        //ОбработкаОбъект.тзТаблицаНачислений51.Колонки.Очистить();
      
           
             Надпись51Счет=ЭлементыФормы.Добавить(Тип("Надпись"),"Надпись51",Истина,);
             Надпись51Счет.Заголовок="Имеются начисления по 51 и З8  шифрам";
        //    Надпись51Счет.Видимость=Истина;
               
    Надпись51Счет.Верх        = 150;
    Надпись51Счет.Лево           = 96;
    Надпись51Счет.Ширина         = 220;
    Надпись51Счет.Высота         = 19;
    //Создаем таблицу начислений по 51 шифру
    
    ТаблицаНачислений51=ЭлементыФормы.Добавить(Тип("ТабличноеПоле"),"ПолеНачислений",Истина,);
    ЭлементыФормы.Данные="";
    тзТаблицаНачислений51.Колонки.Добавить("Загружать");
    тзТаблицаНачислений51.Колонки.Загружать.Ширина=10;
    тзТаблицаНачислений51.Колонки.Добавить("Месяц", Новый ОписаниеТипов("Строка"));
    тзТаблицаНачислений51.Колонки.Месяц.Ширина=6;
    тзТаблицаНачислений51.Колонки.Добавить("Год", Новый ОписаниеТипов("Строка"));
    тзТаблицаНачислений51.Колонки.Год.Ширина=10;
    тзТаблицаНачислений51.Колонки.Добавить("Шифр", Новый ОписаниеТипов("Строка"));
    тзТаблицаНачислений51.Колонки.Шифр.Ширина=3;
    тзТаблицаНачислений51.Колонки.Добавить("Начислено", Новый ОписаниеТипов("Строка"));
    тзТаблицаНачислений51.Колонки.Начислено.Ширина=12;
    
    
    
    ЭлементыФормы.ПолеНачислений.Данные="тзТаблицаНачислений51";
    ЭлементыФормы.ПолеНачислений.Верх=170;
    ЭлементыФормы.ПолеНачислений.Лево=50;
    ЭлементыФормы.ПолеНачислений.Ширина=300;
    ЭлементыФормы.ПолеНачислений.Высота=100;
    ЭлементыФормы.ПолеНачислений.ТолькоПросмотр = Ложь;
    ЭлементыФормы.ПолеНачислений.ИзменятьПорядокСтрок = Истина;
    ЭлементыФормы.ПолеНачислений.ИзменятьСоставСтрок = Истина;
    
    ЭлементыФормы.ПолеНачислений.СоздатьКолонки();
    
    
    МассивСтрокЗап51=ТаблицаНачислений.НайтиСтроки(СтруктураОтбораСч51);
    //Заполнили поле формы
    Для Каждого Строки из МассивСтрокЗап51 Цикл
       
        НоваяСтрока=тзТаблицаНачислений51.Добавить();
        НоваяСтрока.Загружать=Истина;
        НоваяСтрока.Месяц=Строки.Месяц;
        НоваяСтрока.Год=Строки.Год;
        НоваяСтрока.Шифр=Строки.Шифр;
    НоваяСтрока.Начислено=Строка(Строки.СуммаНачисления)+" "+"руб.";
    КонецЦикла;
    МассивСтрокЗап38=ТаблицаНачислений.НайтиСтроки(СтруктураОтбораСч38);
    Для Каждого Строки1 Из  МассивСтрок38 Цикл
           НоваяСтрока1=тзТаблицаНачислений51.Добавить();
        НоваяСтрока1.Загружать=Истина;
        НоваяСтрока1.Месяц=Строки1.Месяц;
        НоваяСтрока1.Год=Строки1.Год;
        НоваяСтрока1.Шифр=Строки1.Шифр;
    НоваяСтрока1.Начислено=Строка(Строки1.СуммаНачисления)+" "+"руб.";
       
       
         КонецЦикла;
      ТекКолонка=ЭлементыФормы.ПолеНачислений.Колонки["Загружать"];
    ТекКолонка.УстановитьЭлементУправления(Тип("Флажок"));
    ТекКолонка.ДанныеФлажка = "Загружать";
    ТекКолонка.Ширина = 3;
    ТекКолонка.ТекстШапки = "Использовать";
    ТекКолонка.РежимРедактирования=РежимРедактированияКолонки.Непосредственно;
    ТекКолонка.ЭлементУправления.ПрозрачныйФон = Истина;
              
    КонецЕсли;
    
  3. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    ПолеТабличного документа - это малость не то.
    Сформируйте ТабличныйДокумент и его в виде ХранилищеЗначения поместите в колонку ТЗ/ТЧ объекта.
  4. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Задаю табельный номер человека, если эти шифр 38 и 51 есть в начислениях появляется таблица все устраиваем. Для другого человека приходится снова запускать обработку, хочу чтобы все было без перезапуска обработки
    --- Объединение сообщений, 3 фев 2015 ---
    т. е. хранить мне д
    --- Объединение сообщений, 3 фев 2015 ---
    У меня не поле табличного документа а поле формы
    Последнее редактирование: 3 фев 2015
  5. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    Блин, код - разрыв мозга какой-то.....
    Так сделайте вызов всего этого кода при изменении значения табельного номера человека.
  6. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    буду упрощать
  7. TopicStarter Overlay
    Nik02071
    Offline

    Nik02071 Опытный в 1С

    Регистрация:
    12 ноя 2008
    Сообщения:
    347
    Симпатии:
    1
    Баллы:
    29
    Спасибо. Все получилось
Похожие темы
  1. kuzdi86
    Ответов:
    2
    Просмотров:
    508
  2. Elkis
    Ответов:
    3
    Просмотров:
    772
Загрузка...

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