[Обучаловка] Знакомство с объектом «Дерево+Таблица» внешней компоненты «FormEx»

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

Разработка - Практика программирования

50
Ликбез для «штатных» программистов по объекту «Дерево+Таблица» внешней компоненты «FormEx»

Довольно часто в системе 1С:Предприятие 7.7 у разработчика возникает потребность использовать на форме контрол, который бы давал возможность представить данные для пользователя в виде дерева. Штатные возможности системы таким функционалом не располагают, но внешняя компонента «FormEx», дает возможность разработчику это реализовать с помощью объекта «Дерево+Таблица», с которым мы сейчас и познакомимся.

Скачаем внешнюю компоненту с сайта http://www.dorex.ru.  Последнюю стабильную сборку можно взять тут: http://www.dorex.ru/files/?formex_t.zip. Из скачанного архива нужно распаковать файл «formex.dll» в папку конфигурации или в папку «Bin» платформы 1С 7.7.

Затем создадим в какой-нибудь конфигурации для экспериментов обработку и на ее форму закинем обычную «ТаблицуЗначений», зададим ей идентификатор -«ТЗ». Это, впоследствии, и будет наше дерево. Кнопки «Выполнить» и «Закрыть», которые появляются при создании новой обработки, оставим на будущее, также как и пустую процедуру «Выполнить()» в модуле формы обработки. Т.е. в конфигураторе она будет выглядеть примерно так, см. рис.:


Далее будем писать код в модуле формы нашей обработки. Определим две глобальные переменные, они нам понадобятся для манипулирования деревом:

Перем гАтрФормыТЗ, гСтруктураТЗ;

И затем в процедуре «ПриОткрытии()» запишем код загрузки внешней компоненты «FormEx»:

Процедура ПриОткрытии()
    Если ЗагрузитьВнешнююКомпоненту("formex.dll")=0 Тогда
        Предупреждение("Не удалось загрузить внешнюю компоненту FormEx.",10);
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
КонецПроцедуры  // ПриОткрытии

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

ТЗ.НоваяКолонка("Ветка");
ТЗ.НоваяКолонка("Значек");
ТЗ.НоваяКолонка("ИмяВетки",,,,"Узлы");
гСтруктураТЗ=ЗначениеВСтрокуВнутр(ТЗ);

После чего в процедуре «ПослеОткрытия()», эта предопределенная процедура работает, если загружен «FormEx», напишем код, который преобразует нашу «ТаблицуЗначений» в дерево:

Процедура ПослеОткрытия()
    гАтрФормыТЗ = СоздатьОбъект("АтрибутФормы");
    гАтрФормыТЗ.УстановитьАтрибут(Форма,"ТЗ");
    гАтрФормыТЗ.ПерехватитьТаблицуЗначений();
    гАтрФормыТЗ.ОпцииДерева(0,0);
КонецПроцедуры  // ПослеОткрытия

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

Теперь давайте заполним какими-нибудь произвольными данными наше дерево, чтобы можно было посмотреть, как это все выглядит.

Для этого в процедуре «Выполнить()», которую мы оставили пустой, после создания новой обработки в начале, напишем код заполнения нашего дерева какими-нибудь данными, например, такими (я тут намеренно не усложняю рекурсией и даю пример для дерева всего с двумя уровнями):

Процедура Выполнить()
    ТЗ.УдалитьСтроки();
    Для Сч=1 По 10 Цикл
        ТЗ.НоваяСтрока();
        ТЗ.ИмяВетки="Уровень номер "+НРег(СокрЛП(Формат(1,"ЧП")))+
            ", узел номер "+НРег(СокрЛП(Формат(Сч,"ЧП")));
        ТЗ.Ветка=ЗначениеИзСтрокиВнутр(гСтруктураТЗ);
        Для Сч2=1 По 5 Цикл
            ТЗ.Ветка.НоваяСтрока();
            ТЗ.Ветка.ИмяВетки="Уровень номер "+НРег(СокрЛП(Формат(2,"ЧП")))+
                ", узел номер "+НРег(СокрЛП(Формат(Сч2,"ЧП")));
            ТЗ.Ветка.Ветка=ЗначениеИзСтрокиВнутр(гСтруктураТЗ);
        КонецЦикла;
    КонецЦикла;
    гАтрФормыТЗ.ОбновитьДерево();
КонецПроцедуры

Итак, весь код модуля формы нашей обработки таков:

Перем гАтрФормыТЗ, гСтруктураТЗ;

Процедура Выполнить()
    ТЗ.УдалитьСтроки();
    Для Сч=1 По 10 Цикл
        ТЗ.НоваяСтрока();
        ТЗ.ИмяВетки="Уровень номер "+НРег(СокрЛП(Формат(1,"ЧП")))+
            ", узел номер "+НРег(СокрЛП(Формат(Сч,"ЧП")));
        ТЗ.Ветка=ЗначениеИзСтрокиВнутр(гСтруктураТЗ);
        Для Сч2=1 По 5 Цикл
            ТЗ.Ветка.НоваяСтрока();
            ТЗ.Ветка.ИмяВетки="Уровень номер "+НРег(СокрЛП(Формат(2,"ЧП")))+
                ", узел номер "+НРег(СокрЛП(Формат(Сч2,"ЧП")));
            ТЗ.Ветка.Ветка=ЗначениеИзСтрокиВнутр(гСтруктураТЗ);
        КонецЦикла;
    КонецЦикла;
    гАтрФормыТЗ.ОбновитьДерево();
КонецПроцедуры  // Выполнить

Процедура ПриОткрытии()
    Если ЗагрузитьВнешнююКомпоненту("formex.dll")=0 Тогда
        Предупреждение("Не удалось загрузить внешнюю компоненту FormEx.",10);
        СтатусВозврата(0);
        Возврат;
    КонецЕсли;
КонецПроцедуры  // ПриОткрытии

Процедура ПослеОткрытия()
    гАтрФормыТЗ = СоздатьОбъект("АтрибутФормы");
    гАтрФормыТЗ.УстановитьАтрибут(Форма,"ТЗ");
    гАтрФормыТЗ.ПерехватитьТаблицуЗначений();
    гАтрФормыТЗ.ОпцииДерева(0,0);
КонецПроцедуры  // ПослеОткрытия

ТЗ.НоваяКолонка("Ветка");
ТЗ.НоваяКолонка("Значек");
ТЗ.НоваяКолонка("ИмяВетки",,,,"Узлы");
гСтруктураТЗ=ЗначениеВСтрокуВнутр(ТЗ);

В итоге, запустив обработку в режиме предприятия и нажав кнопку выполнить, мы увидим примерно такую картину:

Щелкая мышкой по плюсикам/минусикам (слева), можно разворачивать и сворачивать узлы, наслаждаясь полученным эффектом.

Естественно, это далеко не весь функционал и особенности, которые есть у этого объекта, к этой публикации прилагается внешний отчет/обработка «ДеревоПлюсТаблица.ert». Там усложнен приведенный пример – рекурсивное заполнение дерева любым количеством уровней (задается пользователем), рекурсивный обход дерева с разворачиванием и сворачиванием всех узлов, есть дополнительный столбик с данными для узлов (в примере, просто порядковый номер), а также возможность редактировать ячейки дерева двойным щелчком мыши на ячейке. См. скрин.

Также может возникнуть вопрос вывода на печать этого дерева, привожу свой вариант печати. Это внешний отчет/обработка, которую можно использовать в любой конфигурации:

Печать объекта Дерево+Таблица внешней компоненты FormEx

//infostart.ru/public/74313/

И привожу ссылки на реальные проекты, где использовался этот объект в реальных условиях, в обработках для настройки тех или иных подсистем:

Универсальная подсистема «Подписи/согласования документов»

//infostart.ru/public/73774/

Универсальная подсистема «Фабрика событий» + «Доп. права документов» + «Сканы документов»

//infostart.ru/public/71084/

Универсальная подсистема «Дополнительные права для документов»

//infostart.ru/public/22202/

50

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

Наименование Файл Версия Размер
ДеревоПлюсТаблица.ert
.ert 8,50Kb
13.08.10
249
.ert 8,50Kb 249 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Ёпрст 1036 13.08.10 17:21 Сейчас в теме
А по мне, дерево красившее, если это активикс..
:))
4. iov 364 14.08.10 11:53 Сейчас в теме
(1) А запостить как и с чем? Очень интересная тема... Как говорится - ждемс..
2. Свой 164 13.08.10 18:28 Сейчас в теме
дает ли в показанном виде дерево распечатать ? чтобы не скриншотить
или надо будет самому рисовать таблицу
3. venger 2086 13.08.10 18:50 Сейчас в теме
(2) Нет, распечатать не дает, насколько я знаю.
Свой; +1 Ответить
6. CheBurator 3400 16.08.10 05:26 Сейчас в теме
(2) на Исе есть хорошая разработочка по дереву в печатной форме...
7. venger 2086 17.08.10 15:53 Сейчас в теме
(2),(6) Вот и мой вариант печати Дерево+Таблица появился на Исе:
http://infostart.ru/public/74313/

Ибо проще написать, чем найти и разобраться, что там к чему и где;-)
abrafaks; +1 Ответить
5. kompas-dm 773 14.08.10 11:56 Сейчас в теме
(0) Хорошая, краткая статья. Чаще бы видеть на портале такие работы ... :idea:
8. romanuil 17.03.12 00:28 Сейчас в теме
Спасибо, доступно описано.
9. ROM_1C 667 24.10.13 23:06 Сейчас в теме
А как вставить строку в дереве? Обичное Тз.Новаястрока(номерстроки) - не катить!
10. venger 2086 25.10.13 12:19 Сейчас в теме
(9) Давно это все было, забывать начал;-) Обновить дерево, после вставки пробовали?
11. ROM_1C 667 25.10.13 16:40 Сейчас в теме
(10)Да, обновляю. Получаеться вставить только строку на верхнем уровне. А как добавить подчиненную второго или больше уровня - никак не получается. Пробовал и активировать перед добавлением, чтобы получить тек. строку и там уже добавлять - то ошибку издает...
Помогите пожалуйста. Очень нужная вещь!
12. venger 2086 25.10.13 18:06 Сейчас в теме
(11) Ну так посмотрите в процедуру "Выполнить()" в этой статье, там же и добавляются новые строки в подчиненные узлы... Подчиненные узлы в поле "Ветка" содержат обычную 1С-совску ТЗ...
13. pisarevEV 20.11.13 06:58 Сейчас в теме
приветствую! столкнулся с такой проблемой: дерево большое (сотни документов и >100 узлов), так вот при попутке развернуть все узлы - все длится неприемлемо долго (уже минут 15 разворачивает), эта проблема имеет решение?
14. pisarevEV 21.11.13 11:07 Сейчас в теме
15. Иваныч 23 22.11.13 15:16 Сейчас в теме
Начинаю реализовывать у себя. Заранее плюсую.
16. merlin1975 2 02.10.19 21:38 Сейчас в теме
Никак не пойму, как по вышеприведенному коду перебрать всю структуру какого-либо справочника? Ведь уровней много.. подскажете?
17. Slypower 03.10.19 17:24 Сейчас в теме
(16) как я понял из описания, то запросом создать ТЗ с группировками. А потом уже формекс перехватит эту тз и сделает это дерево
Оставьте свое сообщение

См. также

ФФД 1.05 с драйверами Атол v10 3

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

Подключение кассы / фискального регистратора к 1С 7.7 через драйвер Атола v10.

1 стартмани

02.08.2019    1388    4    phsin    18       

Внешняя компонента Game.dll (таймер, ГСЧ, захват клавиатуры) 3

Инструменты и обработки Программист Архив с данными v7.7 Абонемент ($m) Разработка внешних компонент

Внешняя компонента для 1С 7.7 для работы с таймером, генератором случайных чисел и для захвата клавиатуры.

1 стартмани

29.04.2019    1787    1    Palmer1976    0       

Установка принтера по умолчанию для 1С 7.7 2

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

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    2268    2    alsen    2       

Формирование строки json в 1С: 7.7 12

Статья Программист Внешняя обработка (ert,epf) v7.7 1cv7.md 1С7:Комплекс Windows Абонемент ($m) Практика программирования

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    3309    18    malovandrey    0       

Асинхронное программирование в 1с77 без внешних компонент. Обратные вызовы. 9

Статья Программист Архив с данными v7.7 Windows Абонемент ($m) Практика программирования

Пример построения программного кода для достижения функционала обратных вызовов (call back) во внешних обработках исключительно штатными средствами. Тестировалось на платформе 1с77 релиз 027. Конфигурация значения не имеет.

1 стартмани

06.10.2018    3791    2    Vortigaunt    5       

Работа с пробитыми чеками по БД Атол 4

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Windows Кассовые операции Абонемент ($m) Разработка внешних компонент ККМ

Получение данных о пробитых чеках по ККМ Атол драйверов версии 8 на ОФД СБИС.

1 стартмани

13.07.2018    4886    1    pakko    7       

Несколько табличных частей в 1С:7.7 - это просто 3

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Абонемент ($m) Практика программирования

При программировании на платформе V7 достаточно часто возникает задача создать несколько табличных частей документа (или справочника). Традиционно эта задача имеет несколько решений..

1 стартмани

01.05.2018    6725    10    Gkmy    6       

Разработка игр на языке 1С с использованием Active-X компоненты (собственная разработка) 10

Инструменты и обработки Программист Архив с данными v7.7 v8 Россия Windows Абонемент ($m) Разработка внешних компонент

Написанная Active-X компонента встраивается на форму обработки 1С (тестировалось на 1С 8.0, 8.1, 8.2, 8.3 не управляемые формы, 1С 7.7.). Компонента предназначена для моделирования игрового поля (вывод, движение спрайтов - фреймов, обработка коллизий, управление спрайтами-фреймами и т.д.) при разработки логики игры на встроенном языке 1С. Приложен пример обработки в которой реализована игра "Бита".

5 стартмани

04.01.2018    9667    2    protexprotex    34       

Подключение Онлайн кассы Штрих М к 1С 7.7 5

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v7.7 1cv7.md Кассовые операции Розничная торговля Абонемент ($m) Разработка внешних компонент ККМ

Подключение онлайн кассы Штрих М к любой конфигурации 1С 7.7. Показаны основные приемы работы с драйвером. Обработка представляет из себя набор готовых функций для встраивания в свою конфигурацию: ИнициализироватьФР(); ПодключитьФР(); ОтключитьФР(); ОткрытьСмену(); ЗакрытьСмену(); НапечататьЧек(); АннулироватьЧек(); СнятьХОтчет().

1 стартмани

08.05.2017    19477    74    crimeait    2       

1sqlite reborn 34

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

Обновленная версия внешней компоненты для работы с базами данных SQLite и прямыми запросы в ДБФ-базах 1С.

1 стартмани

07.11.2016    19742    87    Djelf    39       

Полноценное использование Drag&Drop в 1С 7.7 8

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v7.7 1cv7.md Windows Абонемент ($m) Работа с интерфейсом Разработка внешних компонент

Несмотря на то, что кое-какие функции Drag&Drop были заложены авторами 1cpp, моё дополнение позволяет сделать этот функционал законченным. Дело в том, что средствами 1cpp можно было таскать файлы ТОЛЬКО в 1С, а из 1С - невозможно. Теперь Вы можете сделать работу с файлами на порядок удобнее и эффективнее.

1 стартмани

19.09.2016    10408    13    DasIsFantastich    4       

Суммирование выделенных ячеек в столбце для 1С:Предприятие 7.7 3

Инструменты и обработки Программист Архив с данными v7.7 Windows Абонемент ($m) Практика программирования

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

1 стартмани

09.03.2016    7858    4    электра    9       

Как получить номер и дату договора из наименования справочника договоров? 5

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

В типовых конфигурациях платформы "1С:Предприятие 7.7" часто номер и дата договора указаны в самом наименовании договора. Что создает сложности в тех случаях, когда эти реквизиты надо знать, например, при конвертации данных в конфигурации платформы "1С:Предприятие 8", где номер и дата договора - отдельные реквизиты.

1 стартмани

24.09.2015    16565    2    SiAl    7       

1С: 7.7. Функции-обертки, функторы, отложенный вызов, карринг параметров на примере функции чтения табличных данных 23

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Человек, работающий в 1С, в силу своей практики и опыта может нуждаться в средствах программирования, в 1С не представленных. В публикации описаны средства отложенного вызова функций, каринга параметров, композиции и др., в основе которых лежит вызов функции посредством функции Шаблон. Несмотря на простоту, созданный за несколько лет работы в 1С 7.7 набор функций обрел мощь, достаточную для лаконичной реализации указанных целей.

1 стартмани

17.09.2015    6622    4    rozhkovdmitriy    21       

Технологическая проверка кода конфигурации (7.7) 9

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

1С 7.7 не имеет практически никаких средств, предназначенных для контроля правильности кода. В синтаксически правильном, с точки зрения 1С, коде можно, например, определить переменную НомерДок в модуле документа. Эта обработка может помочь найти некоторые "плохие решения" в коде.

1 стартмани

03.09.2015    6954    6    vcv    6       

Компоненты распознавания и печати штрих-кодов 43

Инструменты и обработки Программист Приложение (exe) v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Разработка внешних компонент Сканер штрих-кода

Комплект программного обеспечения для реализации функций оптического распознавания штрих-кодов различных систем при помощи обычной web-камеры, а также их отображения в печатных формах. Программы могут работать в составе конфигураций, созданных на базе платформ «1С-Предприятие» версий 7.7, 8.2, 8.3. Компонент чтения кодов реализован в виде внешней компоненты 1С с COM-интерфейсом. Компонент отображения создан по стандартной технологии ActiveX для Windows, и может быть встроен в любое приложение, поддерживающее встраивание ActiveX элементов управления, например в документ Word или Excel, или форму VBA. P.S. Добавлена новая версия программы распознавания. Новые функции: обработка видео в реальном режиме (а не по таймеру, как раньше), добавлена возможность распознавания штрих-кодов из графических файлов JPEG, PNG, GIF, BMP, а также передавать для распознавания картинки из 1С, теперь можно получить в 1С захваченное с камеры или файла изображение, как с выделением мест, содержащих коды, так и без, а также отдельные фрагменты изображений, содержащие код. Добавлены новые свойства и методы для программирования. Обновлена документация.

10 стартмани

10.07.2015    58717    87    igorberezhnov    87       

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

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

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

1 стартмани

25.06.2015    21169    4    Serginio    1       

Обработка для формирования классов для прямого доступа к файлам 1С через курсоры BDE. И многого другого 1

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

Обработка формирует классы для прямого доступа к файлам 1С через курсоры BDE. Исходник ВК, которая загружает Объект Автоматизации, поддерживающий ITypeInfo и выполняет все его свойства и методы через IlanguageExtender. Обработка для формирования диспинтерфейсов к объектам 1С (таблицаЗначений, справочники, документы, перечисления). Обработки для группировки данных Таблицы Значений в виде ТЗ, где колонками являются ключи и ТзПоГруппе вида ТЗ с детальными записями. Вывод иерархии из ТЗ элементов, поиск дублей, сравнение 2 ТЗ

1 стартмани

14.04.2015    15657    2    Serginio    1       

Оптимизация количества журналов документов в 1С:7.7 0

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Один из вариантов оптимизации количества журналов документов в 1С:7.7 без использования внешних компонент

1 стартмани

24.02.2015    5966    2    voha    8       

Все про картинки в 1С 7.7, ну или почти все... 16

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

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    27821    74    kitminsk    8       

Печать прайс-листа с картинками для 1С Предприятие 7.7 Торговля и Склад 9.2 - пример реализации 11

Отчеты и формы Программист Внешний отчет (ert,erf) v7.7 1С7:ТиС Windows Оптовая торговля Абонемент ($m) Ценообразование, прайсы Практика программирования

Задача: требуется вывести в прайс фотографии товаров. Фотографии не хранятся в БД, ссылки на файлы генерируются в момент формирования прайса.

1 стартмани

29.06.2014    20097    49    Chaotic    18       

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

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

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

1 стартмани

05.06.2014    10391    10    kos    3       

Пример получения остатков по складу по запросу по почте из программы 1С 7.7. 4

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

Пример получения остатков по складу по запросу по почте из программы 1С 7.7. Для получения остатков необходимо пользователю с любого почтовика (с любого "мыла") отправить текст сообщения GiveMyStockBalance_ForAnalize на почтовый адрес определенный в Константа.СерверПолучения. Программа выдаст остатки (можно переписать функцию для выдачи любых данных) в формате xls на почту указанную в константе Константа.СерверОтправки. Программа может быть полезна в тех организациях где трудно или невозможно осуществить прямой доступ к 1С сотрудников для просмотра необходимых данных. Также можно организовать некий почтамт - запрос для клиентов - при посылке определенного логина клиентом на его почту будет автоматически выслана информация, например, акт сверки с клиентов, или процент выполнения его заказа и т.д.

3 стартмани

25.03.2014    14968    5    protexprotex    3       

Новые сказки о старом или как поймать событие «При активизации строки» в 1С: 7.7 1

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

Давным-давно, в 1344152635 секунде по времени Unix, жил был один добрый, сильный и очень умный программист… Осилим царь-батюшка! — воскликнул наш добрый молодец и открыл пофигуратор однаэски 8.2… Там можно только прописать процедуры для реквизитов табличной части и реализовать событие ПриИзменении…

1 стартмани

29.01.2014    15692    8    majmyl    6       

Поворот картинки 6

Инструменты и обработки no Приложение (exe) v7.7 v8 Windows Абонемент ($m) Практика программирования Работа с интерфейсом

Иногда возникает необходимость повернуть картинку из 1С.

1 стартмани

16.12.2013    13239    32    bborisko    14       

Использование сборок .NET в 1С 7.x b 8.x. Создание внешних Компонент. 124

Инструменты и обработки Программист Архив с данными v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Разработка внешних компонент

Данная разработка создана для использования сборок .Net в 1С через преобразование объектов и классов в COM-объекты, которые можно использовать в 1С. Достигается это путем создания класса, реализующего методы интерфейса IReflect public class AutoWrap: IReflect.

1 стартмани

28.11.2013    70293    264    Serginio    67       

Tray Informer 48

Инструменты и обработки Программист Приложение (exe) v7.7 v8 Россия Windows Абонемент ($m) Инструментарий разработчика Разработка внешних компонент Работа с интерфейсом

Согласитесь, что окно стандартное сообщений в 1С иногда приносит больше неудобств, чем пользы. И тем более разные "Предупредить"... Что с этим окном только не делают! Его отцепают от формы, делают маленьким, умудряются спрятать за границы экрана. А потом звонят программистам с претензией, что документ почему-то не проводится, отя ничего и не пишет. У вас такого не было? А вот у нас было и не раз )))

1 стартмани

04.09.2013    21988    58    O-Planet    78       

Изменение структуры баз 1С 7.7 без долгой реструктуризации. Часть 1. Справочники 31

Статья Программист Нет файла v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

На днях встретил вопрос на форуме про возможность внесения изменений в конфигурацию без долгого сохранения в рабочей базе большого объема. Вот решил поделиться опытом, как это делал я. База у нас была объемом порядка 120 Гб. К базе обращался сайт в режиме 24/7, поэтому важно было быстро сохранять изменения и желательно без последующего монопольного запуска для восстановления индексов и процедур и без отключения пользователей от базы. Это первая часть статьи и посвящена она справочникам. С одной стороны - это самый простой объект, с другой стороны, именно про справочник спрашивалось на форуме. Если статья будет востребована, то я напишу аналогичные про документы, регистры и может еще что.

1 стартмани

13.08.2013    16515    4    Reptile    5       

Работа с POS терминалом банка "Аваль" через компоненту POSAPI v 1.8 (7.7) 4

Инструменты и обработки Программист Архив с данными v7.7 Розничная и сетевая торговля (FMCG) Украина Windows Розничная торговля Абонемент ($m) Разработка внешних компонент POS терминал

При работе с COM-объектом POS терминала важно получать информацию о его состоянии для отображения пользователю и/или принятия решений. Но 1С 7.7 не воспринимает тип данных "С-строка". Выход был найден через компоненту-посредника (обертку) WSC.

1 стартмани

11.07.2013    15292    23    simply1    14       

Внешняя компонента для работы с ККМ Искра "Прим-07К" 5

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v7.7 1cv7.md БУ Windows Кассовые операции Абонемент ($m) Разработка внешних компонент ККМ Фискальный регистратор

Бесплатная внешняя компонента для 1С7.7, позволяющая работать с фискальными регистраторами производства Искра, такими как ПРИМ-07К, ПРИМ-08ТК и пр.

1 стартмани

18.06.2013    19700    64    sandyanf    3       

1Cv77. Исправление поведения множественного фильтра (МФ) типовых отчетов в части сохранения/восстановления настроек. 7

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

В большинстве российских типовых конфигураций для 1Сv7.7 (ТиС, ПУБ, Комплекс и др.) в отчетах используется множественный фильтр (МФ). Впервые он появился, более 10 лет назад, еще в ТиС 8.7, придя на смену МФ ТиС 8.6. С тех пор, аж до сего дня (24.03.2013) типовой механизм МФ содержит глюк связанный с восстановлением сохраненных настроек, хотя разработчики поют нам об обратном.

1 стартмани

26.03.2013    8047    6    piloturs    8       

Задача про сгибание листка 10

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

Часто при приеме на работу встречается задача про сгибание листка

1 стартмани

26.02.2013    12325    11    Sbelyi78    37       

[Разработчику] Любая таблица значений в OLAP 20

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

Анализируем различные данные в 1С, используя OLAP-технологии со всеми прелестями. Т.е. наглядное отображение данных, быстрые расчеты, горизонтальные и вертикальные группировки любой вложенности, удобная фильтрация, Drag'n'Drop и ещё много приятных вещей от MS. Обработка на входе принимает практически любую таблицу значений (ТЗ в которой колонкам указаны типы значений, строка, число и т.п.), на выходе имеем на форме 1С сводную таблицу и график по этой ТЗ, с которой работаем, как и в Excel со сводной таблицей и диаграммой. Взял за основу разработку «OLAP Анализ счёта» ( http://infostart.ru/public/14964/ ) от JohnyDeath и переделал под любую ТЗ. Опционально используется «Прогресс бар для 1С 77» (http://infostart.ru/public/14061/ ) от Gmix.

1 стартмани

21.12.2012    24332    49    venger    7       

FTP отправка из 7.7 18

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 1cv7.md Windows Абонемент ($m) Практика программирования

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

3 стартмани

07.12.2012    35473    114    Yury1001    25       

Библиотека кода 1С 7.7 (накопленная за 8 лет) 69

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

Весь код на 1С 7.7, собранный для повторного использования за 8 лет работы.

10 стартмани

25.11.2012    23458    247    adhocprog    51       

Групмейкер для таблицы значений. 24

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

Универсальная функция и обработка для свертки и группировки таблицы значений. Очень простой способ подвести итоги по призвольным группам в произвольном порядке любой таблицы значений для быстрого вывода на печать нужной пользователю последовательности и детализации группировок.

1 стартмани

20.11.2012    19827    59    dusha0020    15       

Класс "ЗаписьXML" для 1С++, аналог одноименного класса из 8.x. 12

Инструменты и обработки Программист Конфигурация (md, cf) v7.7 openconf 1cv7.md Windows Абонемент ($m) Практика программирования Обмен через XML

Мне понадобилось перенести работающий код выгрузки данных в xml из 1С 8.2 в 7.7. Чтобы минимизировать исправления - написал класс-эмулятор класса ЗаписьXML из 8.2. Теперь при переносе кода из 1С8.2 в 7.7 количество необходимых изменений - минимально.

1 стартмани

26.10.2012    13959    14    curdate    8       

Пример работы с Web камерой (WIA) 30

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 Windows Абонемент ($m) Разработка внешних компонент

Делаем фото с веб камеры. Используем стандартную библиотеку Windows Image Acquisition Automation Library. Библиотеку wiaaut.dll качаем (из инета, бесплатно), регистрируем командой regsvr32.

1 стартмани

23.10.2012    27338    141    via    18       

Список баз 1С 7 3

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v7.7 1cv7.md Россия Windows Абонемент ($m) Разработка внешних компонент

Скрипт на VBS Подключает базы клиенту на основании вхождения данного пользователя в нужную группу Active Directory. Может использоваться в групповых политиках, либо в качестве стартера 1С7

1 стартмани

17.08.2012    8446    7    zebr    1       

Миникласс ТПерехватчик - методология работы с несколькими перехватчиками формы 11

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v7.7 1cv7.md Россия Абонемент ($m) Практика программирования

Небольшое пособие "Как правильно накладывать несколько перехватчиков на одну форму" + мини-класс, реализующий описанную технологию.

1 стартмани

29.06.2012    133940    6    SatanClaws    18       

Баги 1С 7.7 - добро или зло: непосредственный ввод "а ля 1С 8.х" без использования ВК 44

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Россия Абонемент ($m) Практика программирования

Баг 1С 7.7 открывает нам возможность реализовать без использования ВК непостредственный ввод таких значений, как справочники, перечисления, документы по введенному тексту в поле ввода (а ля 1С 8.х)

1 стартмани

25.06.2012    19834    33    MarSeN    21       

Группы "быстрых" индикаторов на формах 1с7. 14

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Россия Абонемент ($m) Практика программирования

Индикация влож. циклов, параллел. процессов; динам.гистограммы. Индикаторы: реагируют на отрицат.шаги - не только Прогресс-Индикаторы. "Быстрые": вывод на экран не на каждом, а на заранее расчитанном шаге. Управление: инверсия белого-черного, переворот линейки. Можно записывать истории Процессов. Возможны вертикальный и компактный вывод.

1 стартмани

13.06.2012    8890    23    newold2    6       

Календари на справочнике 5

Инструменты и обработки Программист Архив с данными v7.7 1cv7.md Россия Абонемент ($m) Практика программирования

Неограниченное количество управляемых из предприятия календарей.

1 стартмани

11.06.2012    4852    17    an_2    9