Граф(ин) 7.7. (дополнение)

Публикация № 78032

Разработка - Математика и алгоритмы

8
Строим ориентированные графы.

На мысль дополнить статью Граф(ин) 7.7. меня натолкнула активная дискуссия в теме Реально написать хитрый запрос. Я решил попробовать построить модель ориентированного графа не на справочниках (это статично) на ТЗ с возможностью сделать «разузлование». Начнем.

ТЗ_Дуги будет иметь у нас две колонки «НачУзел» и «КонУзел». Тип - Число (номер строки ТЗ_Узлы).

ТЗ_Узлы заведем с колонками «Содержимое» (тип - Справочник.Некий) и «Количество» (Число). Это для того, чтобы для примера решить задачу, сформулированную в обсуждении Ish_2. Еще две колонки - «ДугиВход» и «ДугиИсход» - это СпискиЗначений (числовых) - номеров строк ТЗ_Дуги.

Справочник Некий по условию имеет реквизиты «Влад» (тип - Справочник.Некий) и «Количество». Разумеется, владельца может и не быть (граф не обязан быть связным).

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

Вот, собственно и все. Алгоритмом сложности  N*log N мы получили полную картину устройства ссылок в справочнике. Никаких зацикливаний. Никаких ограничений на структуру графа кроме запрета кратных дуг. Один проход. Допускается даже совпадение начального и конечного узлов дуги...

Начало статьи было чисто умозрительным. Однако ж без реального моделирования не обойтись. К тому же Ish_2 предельно конкретизировал задачу: граф представлен набором (справочником) размеченных дуг {НачУзел, КонУзел, Количество}. Рассуждения о деревьях признаны неуместными - только произвольные графы; статья Как не «попасть на миллион» (от ildarovich) "не катит".

Ну что же. Делаем махонькую конфигурацию, заполняем справочник номенклатурных позиций из 1000 наименований (это узлы будущего графа) и начинаем "развлекаться" с дугами. Будем случайным образом строить графы с количеством дуг от 1000 до 5000 и исследовать их на зацикленность. Только добавим еще одно ограничение: длина пути не должна превышать 7, что вполне в рамках упомянутого обсуждения на форуме.

Алгоритм обхода - стандартный "вширь". Надо заметить, что в данных жестких условиях (нет никакой информации о структуре) обходы "вширь" и "вглубь" должны давать одинаковые результаты, поскольку требуется перечислить все пути, а не просто побывать в каждой вершине или на каждой дуге.

В приведенной конфигурации в качестве перечня путей используется СписокЗначений - Строк (номера вершин с разделителями). 

Разузловываются все вершины, не имеющие предков.

На последнем скрине приведены (в секундах) времена поиска циклов и последующего разузлования. 


8

Скачать файлы

Наименование Файл Версия Размер
Сохраненная конфигурация
.zip 45,56Kb
02.09.14
19
.zip 45,56Kb 19 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Alraune 1457 13.11.10 15:25 Сейчас в теме
Я правильно понимаю, на скринах представлены составляющие спецификации?
2. Арчибальд 2708 13.11.10 15:45 Сейчас в теме
(1) Не только. В спецификации циклы недопустимы, тк что там сломается и циклический запрос и рекурсия. А тут я даю механизм анализа существующего справочника с реквизитом-ссылкой на собственный элемент. Если этот справочник представляет собой спецификацию - то это способ проверки корректности спецификации. Если справочник представляет схему (алгоритм) вычислений, управляемых данными (в идеологии Дракона) то модно "замутить" что-то с оптимизацией вычислений. Обход деревьев тоже легко отсюда строится. И т.д.
3. Ish_2 1038 13.11.10 17:41 Сейчас в теме
Замечания.
1. Задача без тестового примера - ничто.
2. Эта задача, старая как мир, имеет множество вариантов и реализаций решения .
3. Очередная реализация , без объяснения её преимуществ бессмысленна.

Например, ИНТЕРЕС ПРЕДСТАВЛЯЕТ реализация , дающая максимальное быстродействие для очень больших деревьев.

Сделай себе миллион узлов ( по примеру http://infostart.ru/forum/forum14/topic35991/
по схеме подчинения в 7 уровней 1-10-10-10-10-10-10 и расскажи нам о быстродействии.
У Владимира это заняло 3 мин. А у тебя ?

Или покажи в чем какие-то другие преимущества твоей реализации.



5. hogik 429 14.11.10 02:45 Сейчас в теме
(3)
Игорь.
А вдруг у Александра используется DBF-ная версия 1С-а в локальном (терминальном) режиме. А компьютер собран на процессоре AMD - эти процессоры лучше работают на наших задачах. Тогда он, точно, побьет наши достижения в минутах. ;-)
Не надо пугать людей "минутами". Не все будут читать тему форума в 100 сообщений. И могут решить, что я выжил из ума на старости лет - сравниваю скорости процессоров Вашей и своей машины. ;-)
P.S. Прошу прощения у Автора публикации за данное, моё, сообщение. Но, уж...
6. Арчибальд 2708 14.11.10 11:28 Сейчас в теме
(5) Именно DBF :D Локально - чего мне по серверам толкаться с тестовой базой. Процессор, правда Intel Core2.
(4) Запрос сам по себе мне неинтересен, тем более, что он, похоже и не сработает без предварительных проверок структуры графа. Интересно моделирование данных. В свое время довелось заниматься автоматизацией распараллеливания вычислений, основанной на графах. Узел графа - вычислительный модуль, дуга - таблица данных. По готовности входов - выделение модулю процессора и запуск. Ностальгия, однако.
9. Арчибальд 2708 15.11.10 08:34 Сейчас в теме
(3)
Например, ИНТЕРЕС ПРЕДСТАВЛЯЕТ реализация , дающая максимальное быстродействие для очень больших деревьев.
Я, вообще-то не о деревьях писал, а о произвольных графах, "запрятанных", в частности, в справочниках из темы форума. А если точно известно, что исследуемый граф - это дерево, задача существенно упрощается. Вот цитата по ссылке http://infostart.ru/public/20797/
Впрочем, использование рекурсии не является единственным решением для этой задачи. Существует еще один оригинальный алгоритм - поуровневый обход дерева (предложен Арчибальдом).
При прочих равных условиях выполнение кода с использованием рекурсии заняло 0,086753 секунды, выполнение кода с использованием нескольких вложенных циклов – 0,050159 секунды, выполнение кода поуровневого обхода дерева – 0,087718 секунды.
Отмечу только, что я-то предлагал в комментариях текст семерочный.
10. Ish_2 1038 15.11.10 09:00 Сейчас в теме
(9) Поймал. Конечно, речь идет о произвольном графе.
Вот я и отбираю алгоритмы и их реализации для СУБД. Как ты догадываешься , их в интернете вагон и маленькая тележка.

1 . Первым важнейшим критерием отбора , конечно, является их эффективность (быстродействие).
2. Вторым важнейшим критерием отбора , конечно , является наличие эффективного контроля зацикливания.

Я смотрю на твою обработку и думаю : Зачем она ? Что в ней такого ?
Ты ни слова не написал по этим двум пунктам по первому пункту.
Получается , что автор выставил свою обработку просто так ... дескать , а можно и вот так . Я пожимаю плечами : пожалуй , можно ... и что ?

Вот если бы ты привел реализовал тест для графа из форума 1-10-10-10-10-10-10.
Мы бы обсудили что-то по первому пункту - чем хорош твой алгоритм.
11. Арчибальд 2708 15.11.10 09:38 Сейчас в теме
(10) В качестве первого критерия я бы все же указал работоспособность. Очень эффективные неработающие алгоритмы меня как-то не прельщают.
Моя обработка эффективно фиксирует топологию графа. Такой же алгоритм можно запускать в процедуре ПриЗаписи справочника Некий для блокировки зацикливания. Ну, а если циклов гарантированно не будет, тогда уж можно начинать искать алгоритм по второму важнейшему критерию - быстродействию.
12. Ish_2 1038 15.11.10 10:17 Сейчас в теме
(11) Работоспособность - как критерий идет нулевым номером , который опускается по умолчанию ,как само собой разумеещееся. Хм.. ты рассматриваешь работоспособность как некое достижение ?
Ну, а если циклов гарантированно не будет, тогда уж можно начинать искать алгоритм по второму важнейшему критерию - быстродействию.


Как это ? Нашли алгоритм , который работоспособен , добились удаления зациклинности и ... пошли искать другой алгоритм ? более эффективный ?
13. Арчибальд 2708 15.11.10 10:35 Сейчас в теме
(12) Займемся цитированием. Тебя
29.

Ish_2 02.11.10 22:02

Грамотные , значит... Вы тут меня не пугайте : "ациклический граф", "динамические списки", "такого не может быть!"...
Может .
Даёшь "Циклический граф" и "Адинамические списки" !
В этом ВСЯ СОЛЬ ЗАДАЧИ . В узлах могут быть ЛЮБЫЕ Элементы.
Отсылаю вас к справочнику СпецификацияНоменклатуры в БП 1.6.
Задача из тривиальной превращается в нечто интересное.
И это нечто я собираюсь решать. Без рекурсии. Только средствами 1с.
Будем надеяться , всё получится .
32.

Ish_2 02.11.10 22:56

Дана таблица
Владелец , Номенклатура, Количество.

Колонки Владелец и Номенклатура - одного типа . Таблица заполнена одному Богу известно как.
Для выбранной пользователем Номенклатуры нужно получить получить плоскую таблицу
Номенклатура , Количество. Т.е раскрутить дерево до элементов , которые не имеют подчиненных("детей").

Так вот, если ты допускаешь циклы, то забудь про дерево. И обязательно надо получить структуру графа. В этом СОЛЬ задачи (которая у меня решена): получить юзабельную модель данных. Обойти граф известной структуры - это уже дело техники. Обойти дерево - дело простой техники.
14. Ish_2 1038 15.11.10 10:51 Сейчас в теме
(13) Опять поймал. На смешении понятий "дерева" и "графа".
Но замени "дерево" на "граф" и все встанет на свои места.

И обязательно надо получить структуру графа. В этом СОЛЬ задачи (которая у меня решена): получить юзабельную модель данных.


В моей таблице СпецификацииНоменклатуры с колонками Владелец, Номенклатура,Количество граф уже описан
самым полным образом. Зачем мне находить его структуру ? Она уже есть .
СОЛЬ ЗАДАЧИ в том , что его( граф-таблицу) нужно обходить сразу , одновременно решая задачу разузлования и контроля зацикленности.
Иначе алгоритм получится жутким и неэффективным.
15. Арчибальд 2708 15.11.10 11:15 Сейчас в теме
(14) У нас подходы разные. Задача разузлования в циклическом графе решения не имеет. Я проверяю зацикленность и отказываюсь от решения. Ты же предлагаешь действовать по понятиям Кристобаля Хозевича Хунты, которому было западло заниматься задачами, имеющими решение. Начнем, мол, решать, и поэффективнее (побыстрее) зайдем в тупик (цикл). Ну, Хунта - маг и романтик. Но и он бы не стал искать решение неразрешимой, возможно, задачи средствами 1С.
4. hogik 429 13.11.10 20:45 Сейчас в теме
Александр.
Ставлю плюс на эту статью. И на предыдущую - плюс.
И огромный минус за игнорирование слова "запрос" в теме форума. ;-)
Т.к. "китайскими палочками"(с) любой алгоритм трудно "кушать".
Кроме выходных (внешних) форм.
Какой инструмент - такой и результат. :-(
Но результатов много... ;-)

7. ildarovich 6721 15.11.10 01:07 Сейчас в теме
(0) Мне кажется, следует четче определить назначение процедуры Сформировать().
Ведь на самом деле в ней происходит только преобразования информации о связях графа из таблицы справочника в таблицу значений. Никакие другие прикладные задачи при этом не решаются, то есть это всего лишь подготовительный этап перед применением любого алгоритма на графах с использованием таблицы значений. К тому же получаемая информация трижды избыточна: информационной достаточностью будет обладать сама по себе таблица ТЗ_Дуги, или одна таблица ТЗ_Узлы, в которой заполнена только колонка ДугиВход, а также таблица ТЗ_Узлы, где заполнена только колонка ДугиИсход. Любая из этих таблиц позволит восстановить остальные.
Понятно, что избыточность позволит ускорить некоторые алгоритмы, но без их указания все эти таблицы вместе не кажутся необходимыми.
Арчибальд; +1 Ответить
8. Арчибальд 2708 15.11.10 07:51 Сейчас в теме
(7)
Любая из этих таблиц позволит восстановить остальные.
ТЗ_Дуги и в самом деле дает полное представление о топологии графа, и в ТЗ_Узлы колонки ДугиВход и ДугиИсход избыточны. Это наследие описанного в 6 посте :)
16. Ish_2 1038 15.11.10 11:41 Сейчас в теме
Я проверяю зацикленность и отказываюсь от решения.

Это трусость.
Сравни : Я устанавливаю зацикленность данной ветки - ставлю стопор и продолжаю движение по другой ветке. И в итоге на выходе имею
1. список всех зацикленных веток (граф ошибок)
2. плоскую таблицу разузлования ( в которой могут присутствовать ошибочные номенклатуры , т.е. номенклатуры с признаком стопора)
Почувствуй разницу.


P.S. ты не думай , я веду граф в красной книжице как ты меня обозвал.
Новая Запись - "Хунта" ( пока незацикленная)
17. Ish_2 1038 22.11.10 12:03 Сейчас в теме
Браво !
(ты уж прости меня - я подумал , что ты дрогнул)
Оставьте свое сообщение

См. также

Как создать индикатор в 1С:Предприятии 7.7 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Абонемент ($m) Работа с интерфейсом Универсальные функции

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    9626    2    HAMMER_59    6       

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    21085    4    Serginio    1       

Степень сходства двух наименований справочника 13

Статья Программист Внешний отчет (ert,erf) v7.7 v8 Windows Абонемент ($m) Математика и алгоритмы

Статья посвящена исследованию следующего вопроса: необходимо сравнить 2 наименования справочников с целью вычисления их степени сходства. По задумке, степень сходства должна выражаться в процентах.

1 стартмани

25.02.2015    17498    etmarket    34       

Запуск php програм в 1С 7.7 0

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Абонемент ($m) Универсальные функции

Запуск программ PHP на сервере по прямому адресному запросу. Дополнительная возможность - передавать параметры методом GET-запросов.

1 стартмани

15.09.2014    5122    7    kwadro    1       

Перевод десятичного числа в HEX, BIN, OCT, _IdToStr и другие системы 1

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 1cv7.md Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

Два алгоритма перевода десятичного числа в другую систему исчисления от 2 до 36 только средствами 1С (без ВК)

1 стартмани

05.06.2014    10356    10    kos    3       

1C7.7 парсер JSON 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Windows Абонемент ($m) Универсальные функции

РАБОТОСПОСОБНЫЙ парсер JSON встраивается в глобальный модуль в виде 3х функций. Для достижения положительного результата активно используется regexp.

1 стартмани

23.01.2014    14089    65    pit201201    16       

Компонента "Быстрый регистр" для 1С 7.7 (на прямых запросах SQL 1c++) 7

Инструменты и обработки Программист Внешний отчет (ert,erf) v7.7 Windows Абонемент ($m) Универсальные функции

Ускорение операций с регистрами 1с 7.7 через объектную модель, за счет доступа через прямые запросы SQL (1c++). Существует возможность добавления произвольных подзапросов соединений c другими таблицами и отборов WHERE, гибкой настройки вывода полей в результат

1 стартмани

13.01.2014    10105    8    victor_goodwill    7       

Обработка проверки номера сотового телефона 3

Инструменты и обработки no Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Windows Абонемент ($m) Универсальные обработки Классификаторы Универсальные функции

Обработка предназначена для проверки номера сотового телефона по базе def номеров РФ по данным rossvyaz.ru

1 стартмани

05.10.2012    14864    28    BPAvel    8       

Почтовый клиент для скачивания вложений с почты 1С:7.7 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) WEB Универсальные функции

Скачивает вложения, и переименовывает на уникальное имя. Нужно для того, что бы скачивало ВСЕ файлы, даже если эти файлы с одинаковым именем. Изначально разрабатывалось для массового скачивания больших объемов квитанций о принятии отчетов в налоговую. иногда в письме было два и более разных файлов, с одинаковым именем. Существующие почтовые клиенты при этом скачивали только один (последний), остальные файлы терялись.

1 стартмани

15.08.2012    12227    19    serko8547    3       

Группировка данных в таблице значений (1С:7.7) 3

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Работа с интерфейсом Универсальные функции

Надоело каждый раз морочиться с итогами по группам данных в таблице значений при выводе отчета на печать! Вот и накидал простое решение... может и боян - но мне нравится)

1 стартмани

08.08.2012    17457    35    Lancelot-2M    9       

Универсальная печать таблицы значений 8

Инструменты и обработки Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Математика и алгоритмы

Универсальная печать таблицы значений, которую не стыдно прикрутить к рабочей базе данных. Группировка данных, подсчет итогов, составление диаграмм, выгрузка в быстрый доступ к исходной ТЗ.

1 стартмани

23.05.2012    10202    66    McSeem    3       

Универсальные функции Даты-Времени в 1Cv7 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Россия Абонемент ($m) Универсальные функции

Представлены 4 основные функции и 2 вспомогательные. Входом функций являются Дата и Время как в стандартном, так и форматированном представлении. На закладке "Функции" дана возможность проверить работу функций. Представлен альтернативный выбор Даты с помощью Календаря (кн. "Выбор").; На закладке "Календарь" показано, как просто можно создать и распечатать календарь на любой(!) год.

1 стартмани

22.05.2012    14650    19    newold2    13       

Расчет CRC32 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v77::ОУ v77::БУ v77::Расчет 1cv7.md Абонемент ($m) Универсальные функции

Расчет CRC32 без использования внешних компонент

1 стартмани

26.04.2012    9965    36    GAlexis    17       

Выяснение ID'а объекта в базе SQL по его внутреннему идентификатору 1С 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) openconf v77::БУ 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Обработка позволяет узнать ID в базе SQL конкретного агрегатного объекта конфигурации (метаданных) 1С 7.7.

1 стартмани

27.03.2012    24984    14    born85    41       

Прогрессбар для конфигураций 7.7 5

Инструменты и обработки Программист Конфигурация (md, cf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Работа с интерфейсом Универсальные функции

Простой прогрессбар для конфигураций 7.7. Реализован штатными средствами, работает с любым видом учета

1 стартмани

11.02.2012    5507    32    Gagarick    3       

Редактор таблиц значений 14

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Простой и эффективный инструмент. Позволяет делать с таблицами значений все, что угодно: создавать, редактировать, записывать в файл, считывать из файла, обрабатывать...

1 стартмани

17.10.2011    11739    83    warenic    12       

Редактор списков значений 9

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Простой и эффективный инструмент. Позволяет делать со списками значений все что угодно: создавать, редактировать, записывать в файл, считывать из файла, обрабатывать...

1 стартмани

17.10.2011    8998    51    warenic    6       

Сравнение таблиц с данными 2

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Инструментарий разработчика Анализ учета Универсальные функции

Выкладываю функцию для сравнения таблиц значений (может кому-нибудь пригодится). Сравнивает две таблицы - исходную и новую по заданному индексу (индекс используется в методе ИТПолноеСоединение). Сравниваются либо заданные колонки, либо все колонки, имеющиеся в обеих таблицах.

1 стартмани

16.03.2011    9656    32    waol    1       

Печать штрихкодов (не EAN-13) TTF-шрифтом 7

Инструменты и обработки no Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Сканер штрих-кода Ценники Универсальные функции

Возникла необходимость печатать серийники, состоящие из букв латинского алфавита.

1 стартмани

02.03.2011    18982    146    tdr1225    7       

Автонумерация документов 2

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Обработка документов Универсальные функции

Универсальная процедура автонумерации - решение, учитывающее ручные исправления номеров документов.

1 стартмани

24.11.2010    10949    149    aleksandr_leiman    6       

Сведения истории значений 7

Инструменты и обработки Программист Конфигурация (md, cf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Обработка справочников Универсальные функции

Разработка содержит функцию «глСведенияИсторииЗначений(Элемент, НачДата, КонДата, ВсеИдРеквизитов = "")», демонстрацию которой выполняет данная разработка. Функция работает с историей реквизитов одного конкретного элемента справочника.

1 стартмани

29.08.2010    8024    76    provadyuga    5       

Многофирменный учет или отборы в общих журналах документов 17

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Обработка документов Универсальные функции

Стандартная привязка документа к определенному журналу имеет свои неудобства. Конкретному пользователю нужны определенные документы, да еще и с отбором по разным реквизитам. Отборы же в стандартном общем журнале документов реализованы только для одного реквизита : или фирма, или вид документа, или автор и т.д. Кроме этого, при попытке ввести новый документ , вываливается список всех документов конфигурации. А если у Вас многофирменный учет...

1 стартмани

09.05.2010    14337    249    kompas-dm    8       

Хранилище файлов для 7.7 14

Инструменты и обработки Программист Конфигурация (md, cf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Абонемент ($m) Универсальные функции

Макетная конфигурация для структурированного хранения внешних файлов. Ссылки прикрепляются к документам и справочникам 1С.

1 стартмани

09.04.2010    10985    225    alex_serb    9       

Гибкие блокировки для 7.7 SQL Оперативный учет (очередные грабли :)) 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v77::ОУ 1cv7.md Windows Абонемент ($m) Обработка документов Универсальные функции

Обработка с функционалом по внедрению/использованию гибких блокировок в 1С 7.7 на SQL. На ваш суд и обсуждение :) Идея общеизвестная

1 стартмани

19.02.2010    10803    92    Lars Ulrich    10       

ПЕЧАТЬ ИЕРОГЛИФОВ из 1С 20

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Загрузка и выгрузка в Excel Универсальные функции

Если Вам нужно печатать из 1С иероглифы, а Вы не знаете как - предлагаю один из вариантов решения. А если Вы знаете - предложите свой, буду премного благодарен.

1 стартмани

04.02.2010    21460    41    Tatitutu    29       

Временные константы 2

Инструменты и обработки Программист Конфигурация (md, cf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Россия Абонемент ($m) Математика и алгоритмы

Создаем альтернативу штатным константам 1С 7.7 Необходимо: 1. Добавить один справочник. 2. Добавить одно перечисление 3. Добавить одну функцию в глобальный модуль.

1 стартмани

09.12.2009    10565    39    mdbm    3       

Обучение: Методическое пособие "Оперативный учет" 105

Инструменты и обработки Программист Архив с данными v77::ОУ 1cv7.md Россия Абонемент ($m) Математика и алгоритмы Практика программирования

Методическое пособие по компоненте "Оперативный учет" и примеры конфигураций по методическому пособию

10 стартмани

24.11.2009    17535    1615    GSoft    31       

Универсальный подбор элементов справочника 6

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Универсальная обработка для подбора элементов любого справочника путем прямого запроса с помощью 1С++ с использованием фильтра по вхождению для строковых реквизитов. (только для SQL)

1 стартмани

11.11.2009    8890    108    Boog    6       

Календарь 13

Инструменты и обработки no Внешняя обработка (ert,epf) v77::ОУ v77::БУ 1cv7.md Украина Windows Абонемент ($m) Работа с интерфейсом Универсальные функции

Вырванное из конфигурации решение справочника в виде календаря (с реализацией праздников и выходных для Украины).

1 стартмани

27.06.2009    10104    119    VRP    10       

Реестр полученных отчетов (Для Свода Отчетов ред. 2) 2

Инструменты и обработки Программист Бухгалтер Внешний отчет (ert,erf) v77::БУ 1cv7.md Россия Абонемент ($m) Математика и алгоритмы

Отчет предназначен для конфигурации Свод отчетов ред. 2, для формирования отчета по учреждениям и формам которые они должны сдать.

1 стартмани

11.06.2009    9038    12    Абушев    1       

Обработка сортировки по подразделению в любом документе 5

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::Расчет 1С7:ЗиК Windows Зарплата Управление персоналом (HRM) Абонемент ($m) Универсальные функции

Эта обработка относится к статье "http://infostart.ru/blogs/1086/" (Создаем сортировку по подразделению в любом документе (Зарплата и Кадры 7.7))

1 стартмани

28.05.2009    9637    62    Craig    18       

Получение списка запущенных процессов. Запуск и завершение программ по PID 1

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Windows Абонемент ($m) Универсальные функции

Демонстрация способа запуска приложения с сохранением его PID и последующим закрытием по PID, получения списка процессов.

1 стартмани

01.04.2009    12597    174    MadDAD    13       

7.7. Нумератор бланков штрих-кодом + читатель (сканирование ШК). 20

Инструменты и обработки Программист Внешняя обработка (ert,epf) v77::ОУ v77::БУ v77::Расчет 1cv7.md Windows Документооборот и делопроизводство Абонемент ($m) Универсальные печатные формы Сканер штрих-кода Универсальные функции

Как-то высказывалось здесь пожелание познакомиться со штрих-кодированием и объектом BarCode. Знакомьтесь. Вариант использования: Контроль возврата выданных документов.

1 стартмани

20.03.2009    20372    661    Арчибальд    5       

Процедура-плагин: Выгрузка в Йоксель для Новейшего отчета 7.7 21

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Россия Абонемент ($m) Разработка внешних компонент Загрузка и выгрузка в Excel Универсальные функции

Процедура дополняет Новейший отчет 7.7 с возможностью выгрузки созданного отчета в Йоксель (Excel) с группировками по строкам.

1 стартмани

09.12.2008    15772    133    Djelf    13