9 сент. 2016 г.

Разбить строку

Функция была взята с интернета.

// Функция "расщепляет" строку на подстроки, используя заданный 
//        разделитель. Разделитель может иметь любую длину. 
 
//        Если в качестве разделителя задан пробел, рядом стоящие пробелы 
 //        считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр
 
//        игнорируются.
 //        Например, 
 
//        РазложитьСтрокуВМассивПодстрок(",ку,,,му", ",") возвратит массив значений из пяти элементов, 
 //        три из которых - пустые строки, а 
 
//        РазложитьСтрокуВМассивПодстрок(" ку   му", " ") возвратит массив значений из двух элементов
 //
 
//    Параметры: 
 //        Стр -             строка, которую необходимо разложить на подстроки. 
 
//                        Параметр передается по значению.
 //        Разделитель -     строка-разделитель, по умолчанию - запятая.
 
//
 //
 
//    Возвращаемое значение:
 //        массив значений, элементы которого - подстроки
 
//
Функция РазложитьСтрокуВМассивПодстрок(Знач Стр, Разделитель = ",") Экспорт
   
    МассивСтрок = Новый Массив();
    Если Разделитель = " " Тогда
        Стр = СокрЛП(Стр);
        Пока 1=1 Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = СокрЛ(Сред(Стр,Поз));
        КонецЦикла;
    Иначе
        ДлинаРазделителя = СтрДлина(Разделитель);
        Пока 1=1 Цикл
            Поз = Найти(Стр,Разделитель);
            Если Поз=0 Тогда
                МассивСтрок.Добавить(Стр);
                Возврат МассивСтрок;
            КонецЕсли;
            МассивСтрок.Добавить(Лев(Стр,Поз-1));
            Стр = Сред(Стр,Поз+ДлинаРазделителя);
        КонецЦикла;
    КонецЕсли;
   
КонецФункции// глРазложить

Передать ТаблицаЗначений из Сервера на Клиент

В результате на клиенте получим не ТЗ, а Структура, если отправим в эту функцию ТЗ.
Функция была взята из интернета. 
Функция ТаблицаЗначенийВМассивСтруктур(ТЗ)

// Создаем список имен колонок
МассивИменКолонок = Новый Массив;
Для Каждого ТекКолонка Из ТЗ.Колонки Цикл
    МассивИменКолонок.Добавить(ТекКолонка.Имя);
КонецЦикла;

МассивСтруктур = Новый Массив;
// перебираем строки ТЗ и обращаемся к колонкам по списку
Для Каждого ТекСтр Из ТЗ Цикл
    СтруктураСтроки = Новый Структура;
    Для Каждого ТекКол Из МассивИменКолонок Цикл
        СтруктураСтроки.Вставить(ТекКол, ТЗ[ТекКол]);
    КонецЦикла;
    МассивСтруктур.Добавить(СтруктураСтроки);
КонецЦикла;

Возврат МассивСтруктур;

КонецФункции

Проверить номенклатуру в иерархии

Процедура ВхождениеНоменклатурыВОднуИзГруппСписка(Номенклатура)

Выборка = Справочники.Группы.Выбрать();

 Пока Выборка.Следующий() Цикл

  Если Номенклатура.ПринадлежитЭлементу(Выборка.Группа) Тогда
            //Номенклатура входит в группу

 Иначе
           //Номенклатура не входит в группу
 КонецЕсли;

КонецЦикла
КонецПроцедуры

24 авг. 2016 г.

Создание узла РИБ плана обмена вручную

Надоело мне ждать пару часов пока создастся образ периферийной базы с центрального узла, да и не факт, что он создастся удачно, а не покажет многим знакомое окно «Не достаточно памяти».  К тому же, при создании РИБ база трудиться только над созданием образа, а значит периферийные узлы находятся без актуальных данных.

Вот способ, нашел его в сети способ, а также обработку, с помощью которого, буквально за 15 минут мы получим как минимум один рабочий образ узла РИБ.

В моем случаи есть ЦБ (Центральная база) и нужно создать образ для ПБ1 (периферийная база 1).
Конфигурация УТП для Украины 1.2. Файловый режим.
  • В ЦБ пункт меню -  Операции – Планы обмена – Полный – Создаю новый узел ПБ1
  • В ЦБ пункт меню - Сервис – Распределенные информационные базы (РИБ) – Настроить узлы РИБ – Добавляю настройку обмена с Узлом ПБ1
  • Беру файл базы данных 1Cv8.1CD нашей главной базы ЦБ и копирую его, например, в папку ПБ1 (папка ПБ1 естественно создаю так же)
  • Подключаю скопированную базу обычным способом, через запуск 1С Предприятие – Добавить – Добавление в список существующей информационной базы
  • Открываю скопированную базу ПБ1 и запускаю обработку СозданиеПодчиненногоУзла83.epf – устанавливаю галку «Очистить объекты, не участвующие в обмене -  выбираю ПБ1 узел – нажимаю «Создать образ подчиненного узла»
  • В ПБ1 пункт меню - Сервис - Сервис – Распределенные информационные базы (РИБ) – Настроить узлы РИБ – Добавляю настройку обмена с Узлом ЦБ
Все, подведем итог в «двух словах», что мы сделали, а мы сделали копию центральной базы, запустили в ней обработку, которая очистила нужные данные для того, чтобы созданная копия стала периферийной.
 

CopyPaste Copyright © 2017 - |- Шаблон создан O Pregador - |- Отредактирован myr4ik07