По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Akteur33, можно вот так даже извратиться
Список1 = Новый Массив;
Список1.Добавить(1);
Список1.Добавить(2);
Список1.Добавить(3);
Список1.Добавить(4);
Список1.Добавить(5);
Список2 = Новый Массив;
Список2.Добавить(11);
Список2.Добавить(12);
Список2.Добавить(13);
Список2.Добавить(14);
Список2.Добавить(15);
КолР = Формат(Список1.Количество() + Список2.Количество(), "ЧГ=0");
СтрСписок1 = ЗначениеВСтрокуВнутр(Список1);
СтрСписок2 = ЗначениеВСтрокуВнутр(Список2);
Заголовок = Лев(СтрСписок1,44);
Элементы1 = Сред(СтрСписок1,47,СтрДлина(СтрСписок1)-50);
Элементы2 = Сред(СтрСписок2,47,СтрДлина(СтрСписок2)-50);
Подвал = Прав(СтрСписок1,4);
СтрокаРез = Заголовок+КолР+","+Элементы1+","+Элементы2+Подвал;
НовыйМассив = ЗначениеИзСТрокиВнутр(СтрокаРез);
Показать
(8)что-то подобное я уже встречал.. ругался вот здесь
Ошибка формата потока.
Весь код:
ЗначениеИзСТрокиВнутр(СтрСписР)
Ошибка формата потока.
Весь код:
Функция ОбъединитьМассивыЗначений(Массив1,Массив2,Массив3) Экспорт
Если (ТипЗнч(Массив1)=Тип("Массив")) И (ТипЗнч(Массив2)=Тип("Массив")) И (ТипЗнч(Массив3)=Тип("Массив")) Тогда
СтрМассив1 = ЗначениеВСтрокуВнутр(Массив1);
СтрМассив2 = ЗначениеВСтрокуВнутр(Массив2);
СтрМассив3 = ЗначениеВСтрокуВнутр(Массив3);
Шапка = Лев(СтрМассив1,91);
Знач1 = Сред(СтрМассив1,92,СтрДлина(СтрМассив1)-110);
Знач2 = Сред(СтрМассив2,92,СтрДлина(СтрМассив2)-110);
Знач3 = Сред(СтрМассив3,92,СтрДлина(СтрМассив3)-110);
Подвал = Прав(СтрМассив1,19);
СтрСписР = Шапка+Знач1+Знач2+Знач3+Подвал;
СтрМассив = ЗначениеИзСТрокиВнутр(СтрСписР);
Возврат СтрМассив;
Иначе
Возврат Неопределено;
КонецЕсли
КонецФункции
Показать
(4) есть не типовые регистры.
хочу получить три массива с регистрами сведений, накопления и бухгалтерии (сбств не типовые). А потом нужен еще массив со всеми полученными регистрами из этих трех.
просто я решил немного уменьшить код, сделав общую функцию, которая получает массивы с не типовыми объектами, но тогда не знаю, как получить общий массив) а так, конечно, все ясно: три цикла, и все готово.
хочу получить три массива с регистрами сведений, накопления и бухгалтерии (сбств не типовые). А потом нужен еще массив со всеми полученными регистрами из этих трех.
просто я решил немного уменьшить код, сделав общую функцию, которая получает массивы с не типовыми объектами, но тогда не знаю, как получить общий массив) а так, конечно, все ясно: три цикла, и все готово.
(3)Задача объединения массивов на самом деле встречается весьма часто. Я обычно держу для этого функцию в общем модуле, куда передаю структуру массивов, которая в свою очередь для каждого элемента структуры организует цикл по элементам массива и добавляет полученные уникальные значения в итоговый массив. Т.о. нет смысла заморачиваться сколько там массивов надо сложить, 2,3 или 150.
Функция СложитьМассивы(СтруктураМассивов, ТолькоУникальные = Истина) Экспорт
ИтогМассив = Новый Массив;
Для Каждого КлючИЗначение из СтруктураМассивов Цикл
Если НЕ ТипЗнч(КлючИЗначение.Значение) = Тип("Массив") Тогда
Продолжить;
КонецЕсли;
Для Каждого Элемент из КлючИЗначение.Значение Цикл
Если ТолькоУникальные Тогда
Если ИтогМассив.Найти(Элемент) = Неопределено Тогда
ИтогМассив.Добавить(Элемент);
КонецЕсли;
Иначе
ИтогМассив.Добавить(Элемент);
КонецЕсли;
КонецЦикла;
КонецЦикла;
Возврат ИтогМассив;
КонецФункции
Показать
а пакетный запрос организовать? :)
если регистры известны. во вложенном запросе делаете пакетный запрос. если ключевые поля одинаковые то через объединения добавляйте таблицы. Во внешнем запросе можете сделать группировки и т.д. На выходе будет нужная таблица. самый простой и быстрый по времени исполнения вариант.
если регистры известны. во вложенном запросе делаете пакетный запрос. если ключевые поля одинаковые то через объединения добавляйте таблицы. Во внешнем запросе можете сделать группировки и т.д. На выходе будет нужная таблица. самый простой и быстрый по времени исполнения вариант.
два варианта:
1. запросом ко всем (трем) источникам выбираешь все в один массив. причем это можно сделать тогда же, когда формируешь отдельные (три) массива
2. если есть уже (три) массива, делаешь из них временные таблицы и запросом же объединяешь
1. запросом ко всем (трем) источникам выбираешь все в один массив. причем это можно сделать тогда же, когда формируешь отдельные (три) массива
2. если есть уже (три) массива, делаешь из них временные таблицы и запросом же объединяешь
В БСП есть готовая функция ОбщегоНазначения.ЗаполнитьМассивУникальнымиЗначениями(МассивПриемник, МассивИсточник);
(18)
Устарела. Следует использовать ОбщегоНазначенияКлиентСервер.ДополнитьМассив,
установив параметра ТолькоУникальныеЗначения в значение Истина.
ЗаполнитьМассивУникальнымиЗначениями
Устарела. Следует использовать ОбщегоНазначенияКлиентСервер.ДополнитьМассив,
установив параметра ТолькоУникальныеЗначения в значение Истина.
LomayaZakat; RizhkovSergio; user1925533; Xershi; dmb2006; gigas116; Redempty; ivanovkpd; powar; fuser; user1559729; One_Assembler; mi13; unknown181538; sergey_s_; Мах; native-api; whirlpool; TimofeySin; Izumov; Vova_Di; Andrei_Ivanov; dynamicsystems; Moonlitolga; Jeka44; ПрестарелыйЗаяц; romankoav; Drivingblind; AndrewVVS; ahahaev;
+30
–
Ответить
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот