Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику Mularik ::: Спасибо сказали: 1 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
06.09.16, 13:57 Работа с ТаблицейЗначений на форме обработки
Предположим, что данные уже загружены в ТабличноеПоле1. Результат поместим в ТабличноеПоле2.
Процедура КнопкаВыполнитьНажатие(Кнопка)
    ТабличноеПоле2.Очистить();
    
    НС=1;
    Счетчик =  ТабличноеПоле1.Количество() - 1;

    Пока Счетчик > 0 Цикл      
        
        ОбработкаПрерыванияПользователя(); //указав данный оператор, цикл можно прервать в любой момент нажатие ctrl+break
                    
        Если НЕ ПустаяСтрока(ТабличноеПоле1[НС].Данные) Тогда
            
                                       НоваяСтрока = ТабличноеПоле2.Добавить();
                            
            ТекущееЗначение = Сред(ТабличноеПоле1[НС].Данные,12,3);
            ИмяКолонки = "Контракт";             
            НоваяСтрока[ИмяКолонки] = ТекущееЗначение;
                    
            ТекущееЗначение = Прав(ТабличноеПоле1[НС].Данные,11);
            ИмяКолонки = "Телефон";             
            НоваяСтрока[ИмяКолонки] = ТекущееЗначение;
                
            ДлСтр2 = СтрДлина(ТабличноеПоле1[НС+1].Данные);
            Стр2 =  ТабличноеПоле1[НС+1].Данные;
            ТекущееЗначение = Лев(Прав(Стр2,ДлСтр2-17),СтрДлина(Прав(Стр2,ДлСтр2-17))-1);
            ИмяКолонки = "Пакет";             
            НоваяСтрока[ИмяКолонки] = ТекущееЗначение;
                
            ТекущееЗначение = Лев(Прав(ТабличноеПоле1[НС+2].Данные,7),3);
            ИмяКолонки = "Цена";             
            НоваяСтрока[ИмяКолонки] = ТекущееЗначение;
                
            НС = НС+3;
            Счетчик = Счетчик - 3;    
            
        Иначе
            НС = НС + 1;
            Счетчик = Счетчик - 1;
            Продолжить;
            
        КонецЕсли;
                
    КонецЦикла;
    
    ЭлементыФормы.ТабличноеПоле2.Значение = ТабличноеПоле2;
              ЭлементыФормы.ТабличноеПоле2.СоздатьКолонки();

КонецПроцедуры

Нужно учесть, что данный код будет работать корректо только на данном примере, т.к. если, например, данные ВАРТІСТЬ ПАКЕТА/ЩОМІСЯЧНА ПЛАТА будут с копейками, то результат будет неверным. Для этого необходимо более сложный алгоритм разбора строки. Либо при заполнении исходного файла предусмотреть точное форматирование данных (писать не 100 грн, а всегда 100,00 грн. и т.д.)


Pavlik1c,

RSS Текстовая версия Сейчас: 18.05.24, 5:12
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!