Главная Автоматизация оптовой торговли, взаимодействие поставщиков и дилеров
 





 
 

Процедура глФайлЛог(Файл, Текст) Экспорт
    Перем ff,txt;
    ff = CreateObject("Scripting.FileSystemObject");
    txt = ff.OpenTextFile(Файл, 8, 1);
    txt.WriteLine(""+Формат(ТекущаяДата(), "ДДДММГГГГ")+" "+ТекущееВремя()+" "+Текст);
    txt.Close();
КонецПроцедуры

Функция глСтрока(сп, Разделитель = ",") Экспорт
    Перем СтрРез;
    Если ТипЗначения(сп) = 2 Тогда
        Возврат сп;
    ИначеЕсли ТипЗначенияСтр(сп) = "СписокЗначений" Тогда
        СтрРез = "";
        Для исп = 1 по сп.РазмерСписка() Цикл
            СтрРез = СтрРез + Разделитель + сп.ПолучитьЗначение(исп);
        КонецЦикла;
        Возврат Сред(СтрРез, СтрДлина(Разделитель)+1);
    Иначе
        сообщить("Неправильное использование функции глСтрока");
        Возврат "";
    КонецЕсли;
КонецФункции

Функция глСписок(стр = "", Разделитель = ",", флДобавлятьПустыеЗначения=0) Экспорт
    Перем _рез, _стр, _поз;
    Если ТипЗначенияСтр(стр) = "СписокЗначений" Тогда
        Возврат стр;
    ИначеЕсли ТипЗначения(стр) = 2 Тогда
        _Рез = ЗначениеИзСтрокиВнутр("{""VL"",{}}");
        _стр = стр;
        _поз = Найти(_стр, Разделитель);
        Если _поз > 0 Тогда
            _ДлинаРазделителя = СтрДлина(Разделитель);
            Пока _поз > 0 Цикл
                _зн = СокрЛП(Лев(_стр, _поз-1));
                _стр = Сред(_стр, _поз + _ДлинаРазделителя);
                _поз = Найти(_стр, Разделитель);
                Если (флДобавлятьПустыеЗначения = 1)или(ПустаяСтрока(_зн) = 0) Тогда
                    _Рез.ДобавитьЗначение(_зн);
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;

        Если (флДобавлятьПустыеЗначения = 1)или(ПустаяСтрока(_стр) = 0) Тогда
            _Рез.ДобавитьЗначение(СокрЛП(_стр));
        КонецЕсли;
        Возврат _Рез;
    Иначе
        сообщить("Неправильное использование функции глСписок");
        Возврат СоздатьОбъект("СписокЗначений");
    КонецЕсли;
КонецФункции

Функция глТаблицаЗначений(НазвКолонок) Экспорт
   Перем резТЗ, сп, стр, Колонка, Тип, Длина, Точность;
   резТЗ = СоздатьОбъект("ТаблицаЗначений");
   сп = глСписок(НазвКолонок, ",", 0);
   Если сп.РазмерСписка() > 0 Тогда
      Для исп = 1 по сп.РазмерСписка() Цикл
         стр = сп.ПолучитьЗначение(исп);
         Если Прав(стр, 1) = "*" Тогда
            резТЗ.НоваяКолонка(Лев(стр, СтрДлина(стр)-1), "Число");
         ИначеЕсли Найти(стр, "-") = 0 Тогда
            резТЗ.НоваяКолонка(стр);
         Иначе
            стр = СтрЗаменить(стр, "-", РазделительСтрок);
            Колонка = СокрЛП(СтрПолучитьСтроку(стр, 1));
            Тип = СокрЛП(СтрПолучитьСтроку(стр, 2));
            Длина = Число(СтрПолучитьСтроку(стр, 3));
            Точность = Число(СтрПолучитьСтроку(стр, 4));
            резТЗ.НоваяКолонка(Колонка, Тип, Длина, Точность);
         КонецЕсли;
      КонецЦикла;
   КонецЕсли;
   Возврат резТЗ;
КонецФункции
     
  Синтаксических ошибок не обнаружено!    

Автор сайта Тельнов Виктор, telnov-vs@yandex.ru

 
Hosted by uCoz