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

Хранилище

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

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




>  Найти последнее вхождение ЗАПЯТОЙ
Mularik
Отправлено: 06.09.16, 19:05


Молчаливый
*

Группа: Пользователи
Сообщений: 3
Регистрация: 26.08.10
Пользователь №: 4299


Цитата(Pavlik1c @ 06.09.16, 16:43) *
После "ЗАМОВЛЕНІ ДОДАТКОВІ ПОСЛУГИ ЗА МЕЖАМИ ПАКЕТА:," могут быть разные значения...

Это не важно. Главное - что бы не менялось положение относительно запятых и количество нулей после точки в последнем числе, т.е.:
"ЗАМОВЛЕНІ ДОДАТКОВІ ПОСЛУГИ ЗА МЕЖАМИ ПАКЕТА:,[Число_1],[Число_2.],[Число_3.0000]" - в таком виде будет работать с любыми числами
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #116329 · Ответов: 12 · Просмотров: 8318
 

>  Найти последнее вхождение ЗАПЯТОЙ
Mularik
Отправлено: 06.09.16, 15:35


Молчаливый
*

Группа: Пользователи
Сообщений: 3
Регистрация: 26.08.10
Пользователь №: 4299


Pavlik1c @ Сегодня, 16:18 * ,
    Разделитель = ",";
    Строки = СтрЗаменить("ЗАМОВЛЕНІ ДОДАТКОВІ ПОСЛУГИ ЗА МЕЖАМИ ПАКЕТА:,3.9216,196.0784,200.0000", Разделитель, Символы.ПС);
    Результат = СтрПолучитьСтроку(Строки, 4);
    ДлСтр = СтрДлина(Результат);
    Сообщить(Лев(Результат,ДлСтр-5));
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #116319 · Ответов: 12 · Просмотров: 8318
 

>  Работа с ТаблицейЗначений на форме обработки
Mularik
Отправлено: 06.09.16, 13:57


Молчаливый
*

Группа: Пользователи
Сообщений: 3
Регистрация: 26.08.10
Пользователь №: 4299


Предположим, что данные уже загружены в ТабличноеПоле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 грн. и т.д.)


  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #116316 · Ответов: 3 · Просмотров: 2068
 


Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

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