Структура подчинености. Правильное отображение.

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

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

Как же правильно отобразить иерархию с помощью дерева? Чтобы было понятно? Ведь в структуре подчиненности могут быть циклы.
Мой ответ - никак! Так что же делать? Ответ прост - нужно отображать не ДЕРЕВОМ, а ГРАФОМ!
Как же в 1с отобразить графом? Стандартно никак, но можно ведь немного извернутся, и все получится.

Новая версия - увеличена скорость! Сейчас стрелки в нужном направлении.

Добавлена версия под 8.2.

Обработка может быть использована как пример того как формировать программно Графическую схему.

Работает на стандартных конфигурациях.

Данная обработка активно используется в конфигурация для Учета оборудования в отделе ИТ

Для работы с графической схемой рекомендуется:

   //catalog.mista.ru/public/144273/ 

   //catalog.mista.ru/public/20371/ 

Тэги: Графическая схема, Структура подчиненности, Дерево подчиненности.

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

Наименование Файл Версия Размер
СтруктураПодчиненности82.epf

.epf 17,68Kb
15.08.12
574
.epf 17,68Kb 574 Скачать
СтруктураПодчиненности.epf

.epf 16,40Kb
15.08.12
1040
.epf 16,40Kb 1040 Скачать бесплатно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. mosAdm 134 11.06.09 15:30 Сейчас в теме
Замерил производительность 14 секунд (второй запуск обработки) и менее секунды типовая. Мдассссссссссссс запустил третий раз и не подумав флаги поставил (искать мол в шапке таб частях) . Конфу закрывал через диспетчер
3. vladnet 349 11.06.09 16:55 Сейчас в теме
(1) Когда получилось 14 секунд, сколько документов вывелось в отчет?
6. mosAdm 134 11.06.09 19:40 Сейчас в теме
(3) совсем не много 5 или 7, база УПП. ctrl+break не помог.
50. w-divin 27.04.11 14:00 Сейчас в теме
(6) (7) по производительности - полный аут (((
Замер:
Результат:
База - переделанная УТ, файловая, размер 7,5Гб

Для сравнения тоже с типовым механизмом:
Замер:
Результат:

По направлению стрелок - ну совсем непонятно...
По логике ИЗ заказа сделана РН - следовательно:
Заказ --> РН, а у Вас наоборот (((
51. w-divin 27.04.11 16:06 Сейчас в теме
+(50) (7) - учитывая графический результат и направления стрелок - представленный продукт правильнее было бы назвать "Граф ссылок на объект", а никак не "Структура подчиненности"
2. vladnet 349 11.06.09 16:54 Сейчас в теме
Добавлял эти флажки специально для типовых решений. Там очень большой граф может получиться, так как есть некоторые типы документов наподобие расчета НДС, которые содержат в табличной части, документы реализаций.

А вот насчет производительности не понятно, я мерил у меня формируется очень быстро.

Да а зачем через диспетчер закрывали, неужто ctrl+break не помог? В коде прерывание пользователя прописано.
4. CheBurator 3425 11.06.09 18:25 Сейчас в теме
неестественно снизу вверх
7. vladnet 349 11.06.09 21:59 Сейчас в теме
(4) Зато:
1. Отсортированы по дате
2. Стрелка показывает - начало где была ссылка, конец - на какой документ ссылка
И это естественно.

(5) Кому как, мне вот так больше нравится ) По типовой я чего то часто не допру, что там и на что ссылается.

(6) Посмотреть бы что она делает в отладчике, честно скажу на УПП не проверял, только на УТ и бухгалтерии.
5. artem666 28 11.06.09 19:20 Сейчас в теме
по мне так, типовая вполне нормальная, при виде такого графа юзер просто очумеет...
8. _Xelon_ 5 18.06.09 14:08 Сейчас в теме
На УПП выдал сообщение об ошибке:

{Форма.Форма(137)}: Ошибка при вызове метода контекста (Выполнить): Ошибка выполнения запроса "Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.
Microsoft OLE DB Provider for SQL Server: Too many table names in the query. The maximum allowable is 256.
HRESULT=80040E14, HRESULT=80040E14, SQLSrvr: Error state=1, Severity=F, native=102, line=2215
SQLSrvr: Error state=1, Severity=F, native=106, line=1858
"
лТзПодчиненные=лЗапрос.Выполнить().Выгрузить();
по причине:
Ошибка выполнения запроса "Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.
Microsoft OLE DB Provider for SQL Server: Too many table names in the query. The maximum allowable is 256.
HRESULT=80040E14, HRESULT=80040E14, SQLSrvr: Error state=1, Severity=F, native=102, line=2215
SQLSrvr: Error state=1, Severity=F, native=106, line=1858
"
по причине:
Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.
Microsoft OLE DB Provider for SQL Server: Too many table names in the query. The maximum allowable is 256.
HRESULT=80040E14, HRESULT=80040E14, SQLSrvr: Error state=1, Severity=F, native=102, line=2215
SQLSrvr: Error state=1, Severity=F, native=106, line=1858

9. vladnet 349 19.06.09 09:25 Сейчас в теме
(8) Там запрос то простой очень:

"ВЫБРАТЬ
| &Ссылка КАК Документ,
| СвязанныеДокументы.Ссылка КАК ДокументСвязанный
|ИЗ
| КритерийОтбора."+лИмя+"(&Ссылка) КАК СвязанныеДокументы";

Видимо 1с его хитро разворачивает, исправил код на вот этот:

лМассивСвязанныхДокументов=КритерииОтбора[лИмя].Найти(пДокСсылка);

Теперь должно работать.
10. _Xelon_ 5 19.06.09 09:42 Сейчас в теме
(9) Теперь работает. Спасибо.
11. logarifm 19.06.09 22:47 Сейчас в теме
Труд вложил... По мне ужастно не удобное отображение, типовый механизм и быстрее и удобнее! +1 за труды -1 за изобретение велосипеда = 0
12. vladnet 349 19.06.09 23:31 Сейчас в теме
(11) Кому что. А разбор графической схемы делался не для этой обработки.

Вот только объясните чем же типовая удобнее схема?
13. vladnet 349 19.06.09 23:32 Сейчас в теме
(11) Если и быстрее то не существенно.
14. WiseSnake 1793 16.08.09 01:48 Сейчас в теме
Спасибо за работу! Обработка интересна скорее с точки зрения разбора графической схемы.
Но вот Ваш код мне разрывает мозг... )))) без обид ;).
Сразу видно что не первый день кодите, но какая же... нехороший человек научил Вас код так набивать? Может быть все таки придерживаться правил и уважать братьев по цеху?
dpanibratec; +1 Ответить
15. Ish_2 1052 16.08.09 03:47 Сейчас в теме
(14) Ну .. Заинтриговал .Я уж ожидал что-нибудь совсем экзотическое.
Не поленился -скачал.
А тут всего лишь нет комментариев и выделения пустыми строками.
"Если" и "цикл" пишутся в одну строку.
Такую причуду я встречал не раз и не у последних программистов.
Очевидно ,им важнее своё удобство , а не что подумает кто-то.
У некоторых эта причуда проходит , у некоторых нет.

Автору : исправьте ошибку при пустом реквизите ДокументСсылка нажатие кнопки "Обновить" вызывает ошибку .


16. vladnet 349 16.08.09 08:45 Сейчас в теме
(14) (15) Ну чужой код он всегда плохо читается. Этот стиль принят в нашей команде.

Почему он такой:

Принят максимально линейный код. Т.е.

Если пЭлемент.ТекущийЭлемент=Неопределено Тогда Возврат; КонецЕсли;

И дальше код идет на той же строке без отступа, внимательнее посмотрите, в коде очень мало уровней вложенности. Понятно что если писать так, то нет смысла переносить "возврат" на следующую строку.

Что же по комментариям - я считаю что код должен комментировать себя, у уважаемой фирмы 1с я практически не встречал полезных комментариев, хотя впереди каждой процедуры пишут какую то хрень, которая и так понятна из кода.

Так же в коде соблюдается наш принцип - 1 процедура занимает не более 1 экрана. Что позволяет даже при сложном и компактном коде все таки понять чем же она занимается.

Код сложный, но сложен он тем что 1 строкой он делает гораздо больше чем делает 1 строкой код из типовых конфигураций 1с.

Ошибку поправлю.
17. vladnet 349 16.08.09 08:48 Сейчас в теме
(14) А да первые кто учил меня писать именно так были они: http://kint.ru/

Именно там я понял что ориентироватся на код типовых конфигураций 1с глупо.
20. Ish_2 1052 16.08.09 12:28 Сейчас в теме
(17) Понятно. Первый язык у специалистов "Кинта" был не 1с .
Термин "причуда" был употреблен с позиции 1с-ника , пишущего для других
1с-ников и ориентирующегося , естественно, на стиль типовых конфигураций 1с.
Префиксы "м","л","п" - определяющие характер переменных, процедур и функций - следует однозначно поддержать . В типовых конфигурациях разбираться в больших процедурах неудобно без этих префиксов тяжело.
18. artbear 1186 16.08.09 09:11 Сейчас в теме
Нормальный, довольно качественно оформленный код.
Кучу мелких и понятнейших методов - это здорово, я сам так пишу.
Единственная претензия все-таки к однострочному
Если Условие Тогда Возврат Результат; КонецЕсли

ИМХО в данном случае все-таки важно, чтобы четко было видно, что выполняется граничное условие и какая выполняется обработка для этого случая, развернутый вариант все-таки поудобнее читать и сопровождать.
19. noprogrammer 207 16.08.09 10:35 Сейчас в теме
(18) >> Единственная претензия все-таки к однострочному
Если Условие Тогда Возврат Результат; КонецЕсли

На самом деле это очень удобно (имхо), к тому же уменьшает размер процедуры, что позволяет видеть на экране всю процедуру. (все конечно имхо, но когда к такому привыкаешь отказаться от подобного стиля уже невозможно)
21. CheBurator 3425 16.08.09 12:58 Сейчас в теме
соглашения по стилю именования в 1С вообщем-то давно опубликованы...
RomanUzmov; w-divin; +2 Ответить
23. vladnet 349 16.08.09 21:28 Сейчас в теме
(21) Зачем они мне, у меня свои есть:

http://tunesoft.ru/content/view/15/32/

Их и придерживаюсь, хотя может их уже обновить надо )
24. WiseSnake 1793 16.08.09 21:37 Сейчас в теме
Я много кода перелопатил за свою жизнь от разных программистов и с разным стилем и на разных языках программирования.... и к слову сказать код от 1С намного читабелен, чем Ваш.

1. Для меня длинные строки не удобны для чтения, так как у меня не только код на экране...
2. Код без пробелов и разделителей сливается в одну кашицу... и хоть она и влезает на 1 страницу, но е
Гриффин; vital1c; dpanibratec; +3 Ответить
27. vladnet 349 16.08.09 22:01 Сейчас в теме
(24) (25)
Ну все же наверное нужно сказать что не весь код более читабельный, некоторые особо перловые процедуры от 1с занимают несколько десятков страниц, это конечно вырожденный случай. Но мне явно проще когда всю или почти всю процедуру я вижу.

1. Да к этому стилю надо привыкать. Тут есть плюсы и минусы. Я привык к нему за полгода.
2. Согласен. Иногда кстати я выделяю переводом строки особенно важные блоки. Но так как делает программеры в 1с - а они выделяют разделителями все, в этом смысла я не вижу. По сути не выделять ничего разделителями или выделять разделителями все, одно и тоже, только в первом случае процедура умещается на экран а во втором случае надо листать.
3. ИМХО 70 % комментариев там ни о чем. По моему мнению комментарии нужны только тогда когда имена процедур и переменных не смогут сказать о том что происходит в коде, но комментариев нужно избегать.
4. У меня с этим полный порядок. Я пишу со своей строгой логикой, конфигурация http://tunesoft.ru/ полностью поддерживается мной, если бы мне код в ней казался бы нечитабельным (а там его кстати очень много), то я просто не смог бы развивать эту конфгурацию.

Кстати да )
25. WiseSnake 1793 16.08.09 21:45 Сейчас в теме
й это читабельности не прибавляет...
3. Иногда если бы не было комментариев к строкам в 1С я бы потратил на разбор кода не 1 час а 4 часа...
4. Проведите эксперимент... откройте свой код который писали год назад и ни открывали не разу... интересно насколько он Вам покажеться читабельным

Кстати маленький нюанс для создания уникальных имен для временных файлов можно использовать функцию ПолучитьИмяВременногоФайла(<Расширение>)

P.S. Это все ИМХО если Вашей команде так удобно то не вопрос, я просто высказал личное мнение...
29. Ish_2 1052 16.08.09 22:07 Сейчас в теме
(25) Теперь спор , на мой взгляд, смысла не имеет.
Но стиль оформления программы - не выдумка автора, а стиль , проверенный в других языках , чуть более распространенных в мире , чем 1с.
Вот что нужно учитывать , критикуя автора темы.
26. Ish_2 1052 16.08.09 21:57 Сейчас в теме
Такое именование переменных в двумя префиксами рекомендуется в
некоторых СУБД (FOXPRO), причем рекомендуется давно (задолго до появления 1с 77). У 1с тут ,как обычно, свой подход , не "субэдэшный" .
У меня твердое убеждение , что разработчики еще языка 77 ходили в майках с надписью "Бэйсик forever !" .
28. vladnet 349 16.08.09 22:02 Сейчас в теме
А вообще по стилю я считаю в общем так: любой стиль которого придерживаются лучше его отсутствия )
30. WiseSnake 1793 16.08.09 22:41 Сейчас в теме
(28) Вот тут не могу не согласится...
(29) Каких языках? я видимо не встречался с этими языками,хотя они более распространены чем 1С.... И в каком из языков поощряется отсутствие комментариев, я вообще не знаю...

Есть определенные стандарты для 1С о чем говорилось в (22) всем известные и большинством используемые, их тоже не дураки придумывали

Если каждый будет выдумывать свой стандарт или переносить с других языков, то это сродни диалектам одного языка. По этому часто западный украинец не понимает восточного. Вот что нужно учитывать критикуя критику ;)
31. Ish_2 1052 16.08.09 23:18 Сейчас в теме
(30) Хочется покритиковать критику критики.
Речь шла про FOXPRO , Субд чуть более распространённую чем 1с.
Имелось ввиду только именование переменных с двумя префиксами.
Одностроковый же стиль для написания операторов выбора и цикла
я встречал также в Паскале .
Паскаль тоже распространен чуть более чем 1с.

Что касается отсутствия комментариев - то это плохо в любом языке, что бы ни писал автор темы.
32. WiseSnake 1793 17.08.09 02:37 Сейчас в теме
(31) Хочется не критиковать, а найти истину, а в споре она как известно рождается

> Имелось ввиду только именование переменных с двумя префиксами.

1C вообще то, по моему, рекомендует наиболее полно писать наименование переменных (то есть не тз..., а ТаблицаЗначений...) другое дело кому то лень писать так (а кто то не считает нужным, потому что вроде и так понятно)...

> Одностроковый же стиль для написания операторов выбора и цикла
я встречал также в Паскале

Ну я встречал одностроковый стиль для написания операторов выбора и цикла и в 1С ;)... но код на паскале который я видел (признаюсь видел я его не много), что то не запомнился мне этой особенностью....

P.S. Скорей бы вымер уже FOXPRO, а то я уже устал с ним бороться.... ИМХО...
Valerich; +1 Ответить
33. vladnet 349 17.08.09 09:38 Сейчас в теме
(31) Комментарии у меня есть, только очень мало. В этой обработке почему то совсем нет, но это скорее исключение. Если посмотреть на названия идентификаторов, то можно заметить что они очень длинные.

(32) Вымрет то он может и вымрет, а вот стиль останется, я например никогда и не писал на фоксе (лабы в универе не в счет)

34. Ish_2 1052 17.08.09 09:44 Сейчас в теме
(33) Рекомендация именовать переменные с двумя префиксами впервые мне встретилась лет 10 назад в литературе по FOXPRO. Но подозреваю , что такой стиль возник еще раньше и в других средах разработки.
49. w-divin 27.04.11 13:26 Сейчас в теме
(33) (35) (27)п.3
Собсно по поводу комментов к процедурам/функциям... есть у 1С-негоф ИМХО очень замечательная вещь - описание параметров, независимо от того понятны они или нет:
// Проверяет наличие требуемых данных в источнике и Формирует таблицу значений
//
// Параметры
//  Источник  – ТаблицаЗначений или ТабличнаяЧасть или КоллекцияСтрокДереваЗначений с исходными данными
//
//  Реквизиты – структура – Структура реквизитов. 
//             Ключ     - Наименование колонки в источнике
//             Значение - Наименование колонки в получаемой ТЗ, если значение опущено - приравнивается ключу.
//  ПолучитьНомерСтрокиДокумента - булево
//                                 Используется только при выгрузке из табличной части документа.
//                                 В формируемой таблице создает новую колонку "НомерСтрокиДокумента"
//                                 и заполняет её реальными номерами строк
//
//  КоллекцияКолонокДереваЗначений - только для коллекции строк дерева значений.
//
// Возвращаемое значение:
//  Таблица значений или Неопределено (если не хватает реквизитов)
//
Функция СформироватьТаблицуЗначений(Источник,Реквизиты=Неопределено,ПолучитьНомерСтрокиДокумента = ложь,ФормироватьОтстутствующиеКолонки=Ложь,КоллекцияКолонокДереваЗначений=Неопределено) экспорт
Показать

Имея такие комменты перед процедурой/функцией намного легче писать вызовы... не надо лопатить код (хоть он и умещается на 1 странице). Ну и естественно ежели оно тебе не надо - в свернутом виде занимает 1 строку...
35. artbear 1186 17.08.09 12:06 Сейчас в теме
1. Главный принцип хорошего кода - легкость его чтения, а значит, и сопровождения и т.д.
В связи с этим принципом можно придумывать себе стиль с одним, двумя префиксами и т.д.
2. Поэтому лично я редко пишу комменты, лучше юзать правильные имена методов и переменных, не бояться править код, чаще использовать тестирование.
36. Ivon 640 18.08.09 09:57 Сейчас в теме
В целом из примера мало что понятно. Необходимо разбираться долго. Для применения необходимо понимание основ работы с графом. На текущий момент материалов по построению своих схем с помощью кода не нашел. Если уважаемый автор сделает статью, в которой опишет основы (с подробными примерами кодов) работы с графом - это будет просто незаменимый материал.
37. vladnet 349 18.08.09 10:14 Сейчас в теме
38. vladnet 349 18.08.09 10:26 Сейчас в теме
(36) Да кстати инструмент может рисовать графы но по сути это просто инструмент для отрисовки квадратиков и линий, которые привязаны к этим квадратам.
39. Ish_2 1052 18.08.09 10:37 Сейчас в теме
(36) Поддерживаю . Если , конечно, это не нарушает коммерческих планов автора темы.
40. vladnet 349 18.08.09 11:13 Сейчас в теме
(39) Пишите что подробнее расписать, я дополню статью: http://www.infostart.ru/blogs/1113/
41. Ish_2 1052 18.08.09 11:42 Сейчас в теме
(40) В одной хорошо иллюстрированной статье с примерами кода рассмотреть методы работы с графической схемой и основы работы с графом.
42. SatanClaws 129 08.09.09 14:33 Сейчас в теме
На мой взгляд, существенно не хватает примерно следующего:

Перем АктивныйЭлемент;

//...

Процедура ПолеГрафическойСхемыПриАктивизации(Элемент)
УстановитьЦвет(АктивныйЭлемент, ЦветаСтиля.ЦветРамки);
АктивныйЭлемент = Элемент.ТекущийЭлемент;
УстановитьЦвет(АктивныйЭлемент, WebЦвета.Черный);
КонецПроцедуры

Процедура УстановитьЦвет(Элемент, Цвет)
Если ТипЗнч(Элемент) = Тип("ЭлементГрафическойСхемыДекоративнаяЛиния") Тогда
Элемент.ЦветЛинии = Цвет;
ИначеЕсли ТипЗнч(Элемент) = Тип("ЭлементГрафическойСхемыДействие") Тогда
Элемент.ЦветРамки = Цвет;
КонецЕсли;
КонецПроцедуры

Так же ТолькоПросмотр графической схемы, на мой взгляд, по умолчанию должен = Истина, и завязать его на кнопку с пометкой.
44. vladnet 349 08.09.09 15:41 Сейчас в теме
(42) А для чего это надо и так ведь видно что выбрано в текущий момент?

(43) Что именно своеобразно?
45. SatanClaws 129 08.09.09 15:44 Сейчас в теме
(44) Это важно, в первую очередь, для стрелок.
Ибо когда граф получился на 3 страницы - офигенно весело сролиться вверх-вниз, пытаясь не потерять линию. :)
43. SatanClaws 129 08.09.09 14:42 Сейчас в теме
ЗЫ Общее исполнение, впечатляет, но весьма своебразно...
46. lvadim 21 02.10.09 11:06 Сейчас в теме
Спасибо автору за пример работы с графической схемой.

С точки зрения кодирования на мой взгляд лучше было выделить некоторые блоки и называть ф-ции примерно так:

ВыводКвадратВывести
ВыводЛинияВывести
ВыводФигурыСоединить

ЗаписьКвадратСохранить
ЗаписьКвадратСохранитьСоСвзяанными

тогда в тексте было бы проще ориентироваться и дорабатывать
47. aochkasov 12.04.11 13:22 Сейчас в теме
Было бы великолепно получить описание всех процедур и функция используемых в обработке.
Вот сейчас пытаюсь подогнать под свою конфигурацию. Толку мало
48. orefkov 1012 27.04.11 13:18 Сейчас в теме
Кстати, однострочный цикл (и условие) в 1С выполняются быстрее, чем тот же цикл, записанный в несколько строк.
52. vladnet 349 27.04.11 17:46 Сейчас в теме
w-divin пишет:
Собсно по поводу комментов к процедурам/функциям... есть у 1С-негоф ИМХО очень замечательная вещь - описание параметров, независимо от того понятны они или нет:

Да бывают комментарии и полезные, в любом правиле есть исключения.

Стрелки переделаю. По поводу скорости посмотрю, переделаю.
53. vladnet 349 27.04.11 18:08 Сейчас в теме
Все новая версия готова. Скорость - такая же как и в стандарте, направление стрелок правильное.
54. PVS73 03.05.11 12:00 Сейчас в теме
для 8.2 не планируете адаптацию?
55. vladnet 349 03.05.11 14:45 Сейчас в теме
А что адаптировать то, откройте в конфигураторе под 8.2, согласитесь с конвертацией!
56. vladnet 349 03.05.11 14:49 Сейчас в теме
Хотя для самых ленив выложил версию под 8.2.
57. PVS73 03.05.11 16:18 Сейчас в теме
У меня УПП 1.3, сконвертированная версия выдаёт цветные прямоугольники без надписей. Из всей информации виден только ответственный
58. vladnet 349 04.05.11 12:06 Сейчас в теме
(57) К сожалению такая проблема есть. Возникает на старых релизах платформы. Так что попробуйте ее обновить.
59. 84kg 17.05.11 10:40 Сейчас в теме
Некоторые документы открывает быстро в граф виде ,а некоторые документы тупо зависает 1С и висит себе пару минут и отваливается
60. vladnet 349 17.05.11 14:24 Сейчас в теме
(59) Какая конфигурация, какие документы?
Как отрабатывает стандартная структура подчиненности?
61. 84kg 17.05.11 16:54 Сейчас в теме
ут8.1 10.3 стандартная быстро формирует а граф тормозит на поступление товаров и услуг сори с кпк тяжело писать))на светофоре
62. antonina84 19.05.11 14:52 Сейчас в теме
63. ddk78ddk 10.06.11 12:00 Сейчас в теме
Благодарю. Сомневаюсь, что юзерам понадобится граф именно для этой цели но "Обработка может быть использована как пример того как формировать программно Графическую схему." - как раз очень гуд
64. 31.08.11 13:09 Сейчас в теме
Бывают дубли линий. Не разбирался. Просто в процедуре мОбновитьОтчет() перед вызовом мПостроитьСхемуПоСвязям() добавил вызов процедуры:
Процедура УдалитьПовторяющиесяСтроки()
УжеВТЧ = Новый Соответствие;
КолвоСтрокТЧ = СвязьДокументов.Количество();
Для ОбратныйИндекс = 1 По КолвоСтрокТЧ Цикл
СтрокаТЧ = СвязьДокументов[КолвоСтрокТЧ - ОбратныйИндекс];
Если УжеВТЧ[СтрокаТЧ.Документ] = СтрокаТЧ.ДокументСвязанный Тогда
СвязьДокументов.Удалить(КолвоСтрокТЧ - ОбратныйИндекс);
Иначе
УжеВТЧ[СтрокаТЧ.Документ] = СтрокаТЧ.ДокументСвязанный;
КонецЕсли;
КонецЦикла;
КонецПроцедуры

Иногда граф получается слишком большим. Неплохо бы добавить возможность исключения документов. Самый простой вид фильтра, например, если смотрим связи документа ПоступлениеТоваровУслуг, добавить флажок "кроме других документов ПоступлениеТоваровУслуг". Можно, конечно, реализовать процедурой, аналогичной вышеприведенной, можно и немного покопаться для увеличения быстродействия.
65. Aydrey 18.10.11 22:10 Сейчас в теме
66. Трактор 1200 24.10.11 15:38 Сейчас в теме
"Управление торговлей и взаимоотношениями с клиентами (CRM)", редакция 1.0 (1.0.2.2)
Обработка не хотела работать с задачами и бизнес процессами. Сказал чтобы пропускала их. Начала строить дерево, но ничего не построила. Работала примерно два часа и упала :-(
Жаль. Попробовать не удалось. Идея хорошая.
68. vladnet 349 26.10.11 09:48 Сейчас в теме
(66) Посмотрю чуть попозже, скоро кстати перепишу на управляемые формы если получится.
67. vovkakursk 24.10.11 19:31 Сейчас в теме
69. Dali 07.11.11 11:22 Сейчас в теме
Скачавшие или автор, закиньте пожалуйста на мыло dali@front.ru, рейтинга не хватает.
Спасибо.
71. dandrontiy 21.12.11 15:31 Сейчас в теме
При запуске выдает ошибку. (версия 8.1) конфа не типовая.

{Форма.Форма(122,25)}: Переменная не определена (ОбщегоНазначения)
лСтруктураПутьКДанным=<<?>>ОбщегоНазначения.РазобратьПутьКОбъектуМетаданных(лЭлементСостава.ПолноеИмя());
72. vladnet 349 21.12.11 16:25 Сейчас в теме
Нужно будет функцию из модуля вставить, вот эту:


Функция РазобратьПутьКОбъектуМетаданных(ПутьКДанным,мКэшПраваДоступаКМетаданным,МетаданныеДокументы) Экспорт
Структура = Новый Структура;
СоответствиеИмен = Новый Массив();
СоответствиеИмен.Добавить("ТипОбъекта");
СоответствиеИмен.Добавить("ВидОбъекта");
СоответствиеИмен.Добавить("ПутьКДанным");
СоответствиеИмен.Добавить("ИмяТаблЧасти");
СоответствиеИмен.Добавить("ИмяРеквизита");

Для индекс = 1 по 3 Цикл

Точка = Найти(ПутьКДанным, ".");
ТекущееЗначение = Лев(ПутьКДанным, Точка-1);
Структура.Вставить(СоответствиеИмен[индекс-1], ТекущееЗначение);
ПутьКДанным = Сред(ПутьКДанным, Точка+1);

КонецЦикла;

ПутьКДанным = СтрЗаменить(ПутьКДанным, "Реквизит.", "");

Если Структура.ПутьКДанным = "ТабличнаяЧасть" Тогда

Для индекс = 4 по 5 Цикл

Точка = Найти(ПутьКДанным, ".");
Если Точка = 0 Тогда
ТекущееЗначение = ПутьКДанным;
Иначе
ТекущееЗначение = Лев(ПутьКДанным, Точка-1);
КонецЕсли;

Структура.Вставить(СоответствиеИмен[индекс-1], ТекущееЗначение);
ПутьКДанным = Сред(ПутьКДанным, Точка+1);

КонецЦикла;

Иначе

Структура.Вставить(СоответствиеИмен[3], "");
Структура.Вставить(СоответствиеИмен[4], ПутьКДанным);

КонецЕсли;

Возврат Структура;

КонецФункции // РазобратьПутьКОбъектуМетаданных()

Чуть позже сам вставлю ее в обработку. Надо бы отвязываться от стандарта. Да в конфигурации все равно должен быть критерий отбора для перебора подчиненных документов, с именами: СвязанныеДокументы или СтруктураПодчиненности
74. ylyas 25 17.01.12 16:11 Сейчас в теме
ошибка вываливается при формировании запроса в функции
мПолучитьМассивДокументовПоКритериюОтбора()
когда лТекстЗапроса = "".
нужно проверять текст запроса перед его выполнением.
75. Brawler 470 21.01.12 15:36 Сейчас в теме
Довольно хорошая разработка на первый взгляд ИМХО, правда под себя все же пришлось капельку доработать.
Убрал возможность редактировать схему, убил ссылку внизу окна, добавив на ее место панель с кнопкой закрыть, немного по перемещал выравнивающие линии, потом переименовал реквизит "ДокументСсылка" в "СсылкаНаОбъект" и добавил в модуле обработки следующую процедурку:

Функция Печать() Экспорт
	
	ПолучитьФорму("Форма").Открыть();

	Возврат Неопределено;
	
КонецФункции // Печать


Получилась таки еще и внешняя печатная форма. Вот только думаю приклепать или нет авторегистрацию ко всем документам конфигурации как это делается в альтернативном решении http://infostart.ru/public/103500/
76. opiumdx 27.01.12 10:32 Сейчас в теме
Спасибо интересная разработка, скачаю, посмотрю, может пригодится.
78. m_aster 83 29.03.12 09:49 Сейчас в теме
79. m_aster 83 29.03.12 09:54 Сейчас в теме
Не работает в типовой БП 2.0 8.2:
{Форма.ФормаО.Форма(328)}: Ошибка при вызове метода контекста (ЗначениеИзФайла)
лНастройкиТипы = ЗначениеИзФайла(КаталогВременныхФайлов() + "СтруктураПодчиненностиНастройкиТипы");
по причине:
Ошибка преобразования
80. vladnet 349 29.03.12 19:27 Сейчас в теме
(79) Не ясно откуда вы взяли эту ошибку. В обработке нет формы с таким названием, и нет такой строки.
81. vladir 111 15.06.12 10:26 Сейчас в теме
Интересная обработка. Спасибо.
82. zfilin 2175 22.08.12 11:04 Сейчас в теме
Столько всего про код написано, что скачал специально посмотреть код. =)
Мне, как фанату Макконела, код во многом нравится. Небольшие цельные методы, самодокументируемые имена, все класс.
Сбивают с толку префиксы. Вот эти "п-л-м". Где-то я, вроде, читал что об эти префиксы много копий поломали в свое время и решили не использовать во многих случаях в других языках. Ну, то не вспомню уже где.
И еще не хватает более общей структуры. Не зря же есть рекомендованная "структура модуля". Можно было бы как-то выделить блоками - это вспомогательные, это основная логика, это отрисовка.
83. vladnet 349 22.08.12 11:19 Сейчас в теме
Для чего используются префиксы. Самое основное чтобы не спутаться в том где определена переменная и не определить ее дважды. Часто ошибки бывают что определил на форме, потом ту же переменную в модули и лезут ошибки, самое плохое не ясно какие это ошибки.

А вообще я считаю что хорошего программиста определяет то как он пишет и то как четко он следует своим принципам.

Можно кстати по структуре модуля? Что за рекомендованная?
84. Steelvan 18.09.12 00:12 Сейчас в теме
Хм. Мысль хорошая. Надо будет построить с помощью graphwiz-а и этой программы www.схемы1С.рф интерактивные графы.

Построю DOT файл по структуре подчиненности, скормлю graphwiz-у, проанализирую результат, переведу его в xml файл понятный для ОптимаСофт:Схемы и получу интерактивный граф.

Кому интересно ?
85. Steelvan 18.09.12 00:13 Сейчас в теме
Подписался на тему для обсуждения.
87. Steelvan 24.10.12 16:23 Сейчас в теме
Ну как и обещался.
Сделал интерактивную структуру подчиненности по данным DOT.
Подробнее написал в статье http://www.схемы1с.рф/str_podch.html

С работой в управляемых формах, открытием документов и прочими удобностями.
88. vladnet 349 24.10.12 16:27 Сейчас в теме
(87) Хватит рекламироваться в моей теме.
89. Steelvan 25.10.12 11:37 Сейчас в теме
Нет. Это не реклама. Это оповещение уважаемого сообщества о наличии альтернатив.
90. AlexanderKai 23.07.13 05:51 Сейчас в теме
По ссылке схемы1с.рф просто жесткие схемы. Зигзагообразные линии вводят в ступор :)
91. stash_84 21.10.14 09:37 Сейчас в теме
Проект еще продолжается? Есть данная обработка под 8.3?
92. German_Tagil 19 15.02.17 14:49 Сейчас в теме
Я разачарован - всего 8 документов - а система выпадает в аут
заказ поставщику
и приходники
с поступлениями

И что платная что не платная обработки одинаковые
может я чего-то не понял?
93. PROF1L 14 24.05.17 11:38 Сейчас в теме
При реализации своей задачи по отрисовке схемы столкнулся с проблемой, когда связи выводятся не совсем красиво, если нажимать стандартную кнопку перерисовки линии в контекстном меню, то все отлично. Вопрос: как вызвать программно эту кнопку для каждой линии? может кто сталкивался?
94. lazarenko 216 17.07.17 12:15 Сейчас в теме
Данный пример не работает в управляемых формах. Пытаюсь выводить идентичные структуры в УФ и обычных, в обычных выводит в УФ при попытке выполнить метод Прочитать() пишет "Ошибка формата потока"
95. lazarenko 216 17.07.17 12:50 Сейчас в теме
(94) я имел ввиду структуры СтруктураГрафическойСхемы, та что входным параметром в методе СохранитьГрафическуюСхему используется
96. sdamm2 21.05.18 05:06 Сейчас в теме
Я скачал бесплатную версию, запустил, у меня что-то глюкнуло в базе и пропали все пункты меню. Остались только правка и окна. Выгрузка/загрузка не помогли (в т.ч. восстановление на другом компе). помогает только удаление всех юзеров. Стоит добавить одного - меню исчезает. Я не утверждаю, что глюк связан с обработкой, но возник он сразу после ее открытия....
Оставьте свое сообщение

См. также

Вам нравятся запросы в 1С? Промо

Практика программирования Разработка v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    18603    4    m-rv    86    

Конвейер проверки качества кода

Инструментарий разработчика Практика программирования Математика и алгоритмы v8 1cv8.cf Абонемент ($m)

Jenkinsfile для выполнения проверки качества кода. Собирает информацию с АПК, EDT и BSL-LS. Сопоставляет ошибки с гит-репозиторием, выгруженным ГитКонвертором. Отправляет в Сонар.

3 стартмани

04.09.2019    22121    21    Stepa86    44    

Алгоритмы поиска пути в графе

Практика программирования Разработка v8 1cv8.cf Абонемент ($m)

Реализуем алгоритмы поиска пути в графе на платформе 1С 8.3, такие как алгоритм А*, поиск в ширину, жадный поиск, алгоритм Дейкстры и вконце волновой.

1 стартмани

09.07.2019    16161    11    RonX01    10    

Работа с публикациями "Инфостарт"

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

Работа с рублевыми публикациями на сайте "Инфостарт": ведение клиентов, заказов, обновление файлов публикации, рассылка обновлений.

1 стартмани

13.09.2018    20207    13    RocKeR_13    16    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") Промо

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    28897    86    m-rv    57    

HTTP Сервисы: Путь к своему сервису. Часть 3

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

Продолжение статьи «HTTP Сервисы: Путь к своему сервису. Часть 2». В предыдущих частях мы использовали только Get, в этой части поговорим о других методах и длительных операциях.

1 стартмани

27.08.2018    32971    51    dsdred    15    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    26245    26    informa1555    26    

Работа с данными выбора

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    42296    17    kalyaka    16    

Заполняем по шаблону (по умолчанию) Промо

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

08.02.2018    26638    19    mvxyz    17    

Полезные примеры составления схемы компоновки данных #2

Практика программирования v8 v8::СКД 1cv8.cf Абонемент ($m)

Еще один набор примеров как решить частные задачи в СКД

1 стартмани

22.05.2018    28393    11    SITR-utyos    13    

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

Практика программирования Универсальные печатные формы v8 БП3.0 Абонемент ($m)

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    25547    49    kwazi    6    

Паузы при исполнении кода (Sleep для 1С)

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

28.11.2017    40169    11    swimdog    41    

Нечеткий поиск одним запросом Промо

Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

28.12.2015    26042    67    vasvl123    9    

Макет в СКД - пример всех возможных типовых вариантов

Практика программирования Инструментарий разработчика v8 v8::СКД 1cv8.cf Абонемент ($m)

Макет СКД: наглядное представление того, что, как и куда выводится при типовых настройках.

1 стартмани

09.11.2017    20470    76    freelancer    4    

Telegram-боты

Практика программирования v8 Абонемент ($m)

Описание теории, разбор архитектуры и пример реализации telegram-ботов. Сразу скажу, со структурированием изложения мало что могу поделать. :) редакция от 18.07.2018 Правки последней редакции выделены жирным.

1 стартмани

01.09.2017    30169    128    PLAstic    54    

Умный дом на 1С + ардуино

Практика программирования v8 Абонемент ($m)

Конфигурация для автоматизации быта программиста 1C и не только. В данной статье будет рассказано, как можно использовать 1С для задач, не входящих в стандартные рамки этой платформы. Например, управление домом. В качестве периферии для подключения будет использован микроконтроллер (МК) Ардуино, но на нём не будет никакой логической нагрузки, весь процесс будет проходить на сервере 1С. Работа с пинами ввода/вывода происходит напрямую из 1С.

1 стартмани

07.08.2017    21265    20    sasha777666    63    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут Промо

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    46321    36    Demanoidos    60    

Программное создание элементов графической схемы (через XSLT)

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.07.2017    19778    58    lazarenko    16    

Расширения конфигураций 1С: учимся перехватывать методы

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

В этой статье я на примерах разберу некоторые механизмы расширений конфигураций 1С. А именно «перехваты» методов модуля объекта и «перехваты» событий формы и элементов формы. Данная статья написана с учебными целями, чтобы показать, как при помощи расширений конфигурации можно делать такие доработки, ради которых раньше приходилось снимать конфигурацию с поддержки.

1 стартмани

30.05.2017    120421    13    signum2009    46    

Регулярные выражения – это просто. Построитель и отладчик регулярных выражений

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

13.03.2017    29671    112    romasna    49    

Быстрое определение интервалов в запросе Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

01.10.2015    49411    35    ildarovich    41    

Распознавание текста с помощью нейросетей Google Cloud Vision и 1С

Практика программирования v8 1cv8.cf Абонемент ($m)

Возможности Google Cloud Vision в распознавании текста.

1 стартмани

08.02.2017    26608    120    kiv1c    18    

Графическая схема. Управление при помощи XDTO.

Практика программирования v8 Абонемент ($m)

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

2 стартмани

16.01.2017    20367    100    Alxby    21    

Простой редактор плана помещения JavaScript

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

На ресурсе сейчас очень много решений, которые позволяют редактировать карты, используя географические схемы. Так же много решений, которые позволяют редактировать объекты онлайн веб-карт. Мне же нужно было простое решение, для того чтобы расставить квадратные объекты на плане, показать их пользователю. Ну и распечатать, опять же. Я решил написать простенький редактор на JavaScript с использованием библиотеки Raphael.

1 стартмани

23.11.2016    19625    91    igel9780    22    

Хранение файлов в томах на диске (для УПП 1.3) Промо

Практика программирования v8 УПП1 Абонемент ($m)

Доработка типовой УПП 1.3 в плане хранения присоединенных файлов вне базы данных

2 стартмани

05.06.2016    54498    7    wowik    32    

Работа с двоичными данными на примере чтения файлов изображений. Новые возможности 8.3.9

Практика программирования WEB v8 1cv8.cf Россия Абонемент ($m)

В статье приводятся новые функции по работе с двоичными данными, появившимися в версии платформы 8.3.9 , на примере анализа формата и размера изображений. А также пример отправки изображения через API ВКонтакте с помощью новых объектов (без использования ОбъединитьФайлы())

1 стартмани

14.11.2016    23755    16    Anton64    22    

Загрузка файлов на сервер с прогрессом и докачкой

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Пример использования новых возможностей платформы 8.3.9 по низкоуровневой работе с двоичными данными для инкрементальной передачи файлов на сервер.

1 стартмани

04.10.2016    12190    53    mrstomak    21    

Несколько шаблонов для доработки типовых конфигураций

Практика программирования Инструментарий разработчика v8 v8::УФ Абонемент ($m)

Предлагаю несколько каркасов для создания новых объектов в типовых конфигурациях. Это выжимка из кода нескольких конфигураций, которая позволит быстро и красиво создавать и дорабатывать объекты метаданных с соблюдением идеологии исходной системы

1 стартмани

03.10.2016    35074    95    json    25    

HTTP-сервис: отчеты [Расширение]

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Это HTTP-сервис, который возвращает почти любой отчет в HTML, XLSX или в JSON. Сохраните вариант отчета, получите на него ссылку и можно получить данные без захода в 1С. Работает в конфигурациях на основе БСП 2.3.3+, для отчетов на СКД и в 1С 8.3.8+

2 стартмани

30.08.2016    24903    132    Stepa86    15    

Недокументированное использование стандартных форм Upd.

Практика программирования v8 v8::УФ 1cv8.cf Абонемент ($m)

Вам не хватает возможностей в платформе 1С или у Вас нет времени на углубленное изучение платформы 1С? Рассмотрены возможности использования стандартных форм, вызываемых из платформы.

1 стартмани

26.07.2016    26530    75    ZhokhovM    60    

БСП 2.3 и БСП 3.0: Просто про выполнение внешней обработки в фоне (c индикацией прогресса выполнения)

Инструментарий разработчика Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Простое пояснение о том, как сделать внешнюю обработку с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП 2.3.2. UPDATE 20/09/19: добавлен вариант обработки с индикацией процента выполнения и статусом выполнения для БСП 3.0.

1 стартмани

18.05.2016    58052    167    rozer    64    

Остатки на каждый день в запросе

Практика программирования Учет ТМЦ Учет ТМЦ v8 1cv8.cf УУ Абонемент ($m)

Запрос формирует остатки товаров на каждый день в пределах выбранного периода.

1 стартмани

26.04.2016    53933    19    arakelyan    18    

Еще один способ расчета остатков на каждый день в запросе

Математика и алгоритмы Практика программирования v8 Абонемент ($m)

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

1 стартмани

24.04.2016    32878    48    ildarovich    23    

Вывод печатных форм с запросом данных в форму "Печать документов" из подсистемы БСП "Печать".

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

29.03.2016    83356    166    lopatin    13    

Выполнение JavaScript кода из 1С в объекте Поле HTML Документа (HTML 5) и вызов события в 1С ПриНажатии

Практика программирования v8 1cv8.cf Россия Абонемент ($m)

Пример выполнения JS кода из 1С в Поле HTML Документа под управляемыми формами, с удобным получением результата в 1С(С помощью вызова привязанного события ПриНажатии к элементу ПолеHTMLДокумента)

1 стартмани

22.03.2016    76537    152    igo1    53    

Количество дней недели (понедельников/вторников/...) в заданном диапазоне одним запросом

Практика программирования v8 Абонемент ($m)

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

1 стартмани

03.03.2016    17037    1    Alexander.Shvets    5    

Простые радости жизни программиста 1С: выбор типа значения

Работа с интерфейсом Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.02.2016    47593    50    yuraos    17    

Отображение прогресса выполнения длительных операций в БСП и их отладка в текущем сеансе.

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.02.2016    51339    166    balanton    23    

Яндекс.Деньги "Благотворительность"

Инструментарий разработчика Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

16.02.2016    22036    8    Tatitutu    5    

Мастер рассылки e-mail 2.2 для управляемых форм

Практика программирования Email v8 v8::УФ ERP2 БП3.0 УТ11 Абонемент ($m)

Для пользователей: переделанный из старый разработки под 8.2 с использованием библиотеки Мастер рассылки e-mail 2.2 (ERP, УТ, БП) (Только управляемые формы), который теперь может запускаться под любой версией платформы с разрешенными или запрещенными модальными/синхронными вызовами в конфигурации. Также удобный выбор e-mail и их владельцев с помощью отбора динамического списка по любым критериям и галочки исключения.

1 стартмани

29.12.2015    35865    19    milkers    4    

Передача больших пакетов через веб-сервисы

Практика программирования Администрирование данных 1С Внешние источники данных v8 Абонемент ($m)

Реализация механизма передачи больших пакетов через веб-сервисы. С его помощью передать файл размером в несколько гигабайт не составит проблем.

1 стартмани

06.12.2015    54280    47    YPermitin    19