Краткое руководство по внесению изменений в конфигурацию

Публикация № 1179015 13.01.20

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

Руководство по разработке инструкция групповая хранилище расширения

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

Краткая инструкция по внесению изменений в конфигурацию

 

 

Оглавление

 

Краткая инструкция по внесению изменений в конфигурацию    0

Общие положения  1

Порядок внесения изменения в разрабатываемую конфигурацию    1

Именование добавляемых объектов конфигурации   2

Включение объектов в служебные подсистемы   2

Создание или доработка Печатных форм, обработок, отчетов  2

Включение объектов в состав типовых подсистем командного интерфейса  2

Комментирование изменений в коде   3

Изменение ролей   3

Внесение изменений в общие модули   3

Внесение изменений в обработчики событий форм   3

Внесение изменений в обработчики событий объектов и менеджеров  4

Внесение изменений в состав источников типовых подписок на события  4

Постоянные значения конфигурации   4

Работа с хранилищем конфигурации   4

Рекомендации по базе разработки   5

Общие положения

При разработке руководствоваться рекомендациями с сайта ИТС 1С

Общие требования к написанию кода:

  1. При любом наборе входных данных программа не должна зацикливаться.
  2. При любом наборе входных данных программа не должна выдавать синтаксические ошибки.
  3. Доработка должна иметь какой-то «выход» - если она не нашла данные для обработки, то должна выдать соответствующее сообщение.
  4. В панель сообщений должны выводиться только «значащие» сообщения – то есть следующая информация:
    1. Сообщение о завершении обработки (в случае, если создается обработка, которая каким-то образом изменяет данные)
    2. Сообщения, которые требуют реакции пользователя.
    3. Информационные сообщения о невозможность обработать какие-то данные (например, не заполнен нужный реквизит в справочнике).
  5. Обработки, которые выполняются более 1 минуты ( обрабатывают большой массив данных ) должны выводить окно состояния выполнения, а процедура обработки должна быть выполнена с помощью фонового задания.
  6. Во всех доработках при использовании «связанных» справочников должна происходить их корректная обработка. Например, если на форме или в табличной части используются справочники «контрагент» и «договор контрагента», то при выборе другого контрагента (очистке реквизита «контрагент») должен быть очищен и договор контрагента. При выборе договора контрагента должен быть установлен отбор по его владельцу.
  7. Надо помнить, что если пользователю разрешено какое-то действие в системе, то программа должна уметь корректно это действие отработать. Например, если в документе разрешено вводить отрицательные значения в табличную часть, то эти значение должны быть записаны в регистры.
  8. Любые изменения конфигурации должны быть максимально реализованы с помощью Расширений конфигураций :
  1. В расширении нельзя использовать объекты, не поддерживаемые версией платформы, которая установлена в режиме совместимости Конфигурации.
  2. При расширении общих модулей и модулей объектов приоритетно использовать вариант расширения «После»
  3. Разные расширения должны иметь разные префиксы, чтобы избежать конфликтов совместимости расширений

Порядок внесения изменения в разрабатываемую конфигурацию

При разработке руководствоваться рекомендациями с сайта:

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

Именование добавляемых объектов конфигурации

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

  • Объекты метаданных (общие модули, справочники, документы, подсистемы и т.п.)
  • Реквизиты объектов метаданных (включая: реквизиты, табличные части, измерения регистров, команды и т.п.)
    Если добавляемый реквизит принадлежит уже добавленному объекту, имеющий префикс «ВашПрефикс_» то у таких реквизитов добавлять префикс не надо.
  • Предопределенные значения (включая: значения перечислений, предопределенные значения справочников и т.п.)
  • Реквизиты форм

Если добавляется реквизит формы с колонками префикс устанавливается для самого реквизита формы, но не для его колонок.

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

Если процедура/функция добавляется в модуль объекта/формы (или общий модуль), который уже имеет префикс «ВАШПРЕФИКС_», то в имени такой процедуры/функции префикс указывать не нужно.

Наименование добавляемых объектов должно иметь осмысленный синоним

В поле комментарий (добавляемых в конфигурацию объектов) должна содержаться следующая информация:

[Номер задачи], [Дата изменения]

Пример: Ф-037, 07.01.2020

 

Включение объектов в служебные подсистемы

В конфигурацию добавить подсистему «ВАШПРЕФИКС_Доработки». По желании с двумя подчинёнными подсистемами «НовыеОбъекты» и «ИзмененныеОбъекты», соответственно все новые объекты системы помещаются в них по правилу:

  • все созданные новые объекты метаданных помещаются в «НовыеОбъекты»
  • измененные объекты (даже если у типового объекта меняется форма) помещаются в «ИзмененныеОбъекты»

Создание или доработка Печатных форм, обработок, отчетов

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

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

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

Включение объектов в состав типовых подсистем командного интерфейса

Если необходимо включить объект в состав типовой подсистемы командного интерфейса, то необходимо добавить в состав типовой подсистемы новую (если отсутствует) подсистему с префиксом «ВАШПРЕФИКС_». Дальнейшая настройка размещения объекта в командном интерфейсе должна выполняться в рамках добавленной подсистемы.

Комментирование изменений в коде

Изменения кода модулей должны реализовываться с помощью расширений модулей с вариантов процедуры «После» или «Вместо». Все изменения, вносимые в код модулей конфигурации должны обрамляться комментарием вида:

 

// + [Компания], [Программист] [Дата изменений]

// Задача: [Номер тех.задания или заявки], [Краткое описание изменений]

// Было:

//    [закомментированный старый код]

// Стало:

[новый код]

// - [Компания], [Программист] [Дата изменений]

 

Например:

// + 1С, Иванов И.И. 07.01.2020

// Задача: Ф-037, Заполнение реквизитов формы по новому алгоритму

// Было:

//    ПриЧтенииСозданииНаСервере();

// Стало:

ВАШПРЕФИКС_ПриЧтенииСозданииНаСервере();

// - 1С, Иванов И.И. 07.01.2020

 

Не нужно комментировать изменение, если код не типовой. Комментарий должны быть только для изменений относительно типового кода. При изменении ранее измененного куска кода необходимо изменить только дату изменения в комментарии.

Изменение ролей

Недопустимо изменение типовых ролей базовой конфигурации, при необходимости добавления/изменения настроек прав доступа, необходимо создать дополнительную роль с префиксом «ВАШПРЕФИКС_» и выполнить необходимые настройки прав для нее.

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

 В дальнейшем допускается модификация созданных ролей при необходимости.

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

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

Внесение изменений в общие модули

Если необходимо внести изменения в общие модули, то по возможности следует вносить изменения только в модули с суффиксом «*Переопределяемый».

Внесение изменений в обработчики событий форм

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

  • МодификацияКонфигурацииВызовСервераПереопределяемый
  • МодификацияКонфигурацииКлиентПереопределяемый
  • МодификацияКонфигурацииКлиентСерверПереопределяемый
  • МодификацияКонфигурацииПереопределяемый

в соответствующих процедурах-обработчиках.

При этом рекомендуется в процедурах обработчиках прописывать только вызовы процедур-обработчиков, добавленных в новые общие модули.

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

Внесение изменений в обработчики событий объектов и менеджеров

В общем случае не допускается внесение изменений в типовые обработчики событий объектов и менеджеров.

Для таких изменений необходимо создавать соответствующие подписки на события.

 

Внесение изменений в состав источников типовых подписок на события

В общем случае не допускается внесение изменений в состав источников типовых подписок на события.

Вместо изменения типовой подписки необходимо:

  1. Создать новую подписку (можно скопировать существующую) с наименованием «ВАШПРЕФИКС_[ИмяТиповойПодписки]»
  2. Указать в качестве источника те объекты, которые необходимо добавить
  3. В качестве обработчика указать ту же процедуру, что и в типовой подписке или ссылаться на новую процедуру ( в которой будет ссылка на типовую).

Постоянные значения конфигурации

В коде конфигурации недопустимы прямые ссылки на наименования, коды и т.п. данных ИБ.

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

Новые значения в Справочник.рздСпецНастройки описать и запрограммировать создание в форме списка справочника в команде [Заполнить по умолчанию].

Значение получать через Общий модуль повторного использования (На время сеанса) ОбщийМодуль.рздСпецНастройки.ПолучитьЗначение(...) по реквизиту ИмяДляРазработчика. И в самом справочнике ПриЗаписи обновляем кеш, если создается или меняется элемент ОбновитьПовторноИспользуемыеЗначения();.

Например: «Основной склад», «Направление деятельности по умолчанию», «Список приоритетных пользователей», «Дата перехода на новую номенклатуру» и т.п.

Работа с хранилищем конфигурации

Разработка ведется с использованием технологии хранилища конфигурации. С ней необходимо ознакомиться на сайте: http://its.1c.ru/db/metod8dev#content:2287:hdoc

При необходимости захвата коренного объекта хранилища, его необходимо удерживать как можно меньше.

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

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

Создать общий чат разработчиков для решения вопросов захвата объектов.

Рекомендации по базе разработки

Разработку приоритетно вести в клиент-серверной базе. При разворачивании базы для разработки необходимо установить Блокировки регламентных заданий и/или отключить регламентные задания.

 
 Другие публикации автора

Ссылка на компетенции по 1С:ERP - команда со знаниями, умениями и успешными проектами.

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

Наименование Файл Версия Размер
Внесение изменений в конфигурацию:

.docx 29,85Kb
25
.docx 29,85Kb 25 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Indgo 13.01.20 16:13 Сейчас в теме
Ничего не понял, но очень интересно.
Лайк, первый буду
// + [Компания], [Программист] [Дата изменений]

// Задача: [Номер тех.задания или заявки], [Краткое описание изменений]

// Было:

// [закомментированный старый код]

// Стало:

[новый код]

// - [Компания], [Программист] [Дата изменений]



Например:

// + 1С, Иванов И.И. 07.01.2020

// Задача: Ф-037, Заполнение реквизитов формы по новому алгоритму

// Было:

// ПриЧтенииСозданииНаСервере();

// Стало:

ВАШПРЕФИКС_ПриЧтенииСозданииНаСервере();

// - 1С, Иванов И.И. 07.01.2020
Показать

может молодешь так будет писать, я как то по старике. Написал дату автор и досвидос, все кто не умеет писать код идите учитесь
Neuroproton; vladimir_makarov; Bell; +3 1 Ответить
2. user705522_constantin_h 35 13.01.20 16:21 Сейчас в теме
(1)А потом через полтора года смотришь и думаешь: нафига я это делал. Я не так пространно, но в общем комментирую что было и пишу: зачем изменял.
OhRa; vladimir_makarov; Дмитрий74Чел; _LYNX; serega9507585993; +5 Ответить
4. qwed557 30 13.01.20 16:38 Сейчас в теме
(2) фио и номер задачи, зачем описывать что то , если можно в таск-менеджере по номеру посмотреть и всю переписку и постановку задачи, зачем захламлять описанием?
wowik; dimisa; AlexK_2012; Bassgood; +4 Ответить
6. user705522_constantin_h 35 13.01.20 16:43 Сейчас в теме
(4)У меня нет таск-менеджера, я непосредственно всё в конфигурации, обработках и ВПФ пишу.
Дмитрий74Чел; +1 Ответить
11. Indgo 13.01.20 17:37 Сейчас в теме
(2) Если код хороший, то в него не лезут
OhRa; va582; leongl; +3 1 Ответить
30. Дмитрий74Чел 201 16.01.20 15:32 Сейчас в теме
(11) хотелки пользователей безграничны и чудны
va582; narutouzumaki_13; +2 Ответить
31. Indgo 16.01.20 17:09 Сейчас в теме
(30)даже не говорите:
- То им бигтейсти
- то рябчики по буржуйский
- то икра не черная,
- то соус перчит, то во рту горчит
34. V.Nikonov 119 23.01.20 15:50 Сейчас в теме
(30) Да и Окружающая Среда постоянно меняется. Вот Зиму долго ждали... Снег выпал в Новогодние праздники и растаял...

А если серьёзнее, то конфигурацию могут править множество доработчиков (некоторые уволились уже, и не расспросишь). Если не ведется журнал доработок с фиксацией ТЗ, то единственным местом смысла доработки будет комментарий. Поэтому лучше писать смысл исправления кода.
kosmo0; Yakud3a; +2 Ответить
3. sapervodichka 4537 13.01.20 16:21 Сейчас в теме
5. user774630 13.01.20 16:38 Сейчас в теме
(1) проблема не в том, чтобы понять, что делает код. Проблема в том, чтобы потом понять - ЗАЧЕМ код это делает.
dreamcreal; narutouzumaki_13; smit1c; Дмитрий74Чел; _LYNX; +5 Ответить
7. dammit666 15 13.01.20 16:48 Сейчас в теме
(1)При оформлении кода пользуюсь публикацией https://infostart.ru/public/647048/
МимохожийОднако; ABudnikov; +2 Ответить
10. sapervodichka 4537 13.01.20 17:22 Сейчас в теме
(7) норм вещь, только большая
8. awk 729 13.01.20 17:03 Сейчас в теме
Прочитал, плюсанул. Ну и критика:

Общие требования к написанию кода:
1,2 - Невыполнимо на более-менее нетривиальной задаче
5 - На каком железе и объеме данных? Как это спрогнозировать на этапе разработки?
6 - Это не всегда верно, бизнес-задачи бывают разные.
8 - А если я пишу с нуля?

Работа с хранилищем конфигурации
По моему надо переписать:

Разработка ведется с использованием СКВ, таких как хранилище 1С, git, svn и т.д.

(Ну а дальше подпунктом)
Работа с хранилищем 1С.
Показать
PLAstic; sapervodichka; +2 Ответить
9. sapervodichka 4537 13.01.20 17:09 Сейчас в теме
(8) ну как есть... до git ещё многие не дошагали, я только читаю, на практике, применять не удается, т.к. есть особенности работы в организации, когда руководители проектов тебя особо не слушают, а за инициативу можно и по шапке схлопотать
12. Indgo 13.01.20 17:48 Сейчас в теме
(9) Можно еще писать всякие приколы:
1. Парнь - если ты нашел до - этой строки - я знал что задача ипически сложная и каюсь, что писал каумнокод.
2. Если ты набрел на эту срочку и нашел тут ошибку.. то ты убер крут. Исправь баги и ты выйдешь на новый уровень матрицы.
3. Или так - медленно работает перепиши - все через запросы!
4. Или так - не нравится мой код - иди в баню!
5. Парень тебе обещали 300 тысяч за этот проект - имей в виду до тебя тут 10 прогеров кинули.
OhRa; itriot11; wowik; json; Capitullo; acanta; qazaz2; +7 Ответить
13. capitan 2092 13.01.20 18:34 Сейчас в теме
Вспоминается...
Самый бесполезный лайфхак - ставить крестик на руке, чтобы не забыть! БЛИН!!! НЕ ЗАБЫТЬ ЧТО?!
Я бы еще добавил пункт - периодическая ревизия доработок.
И внесение в комментарий поля - это новый функционал или исправление ошибок
Если часто меняются главбухи - то через пол-года можно смело все зачищать и если никто не вспомнит - так и оставить
Alex17; fomix; +2 Ответить
14. vkm1980 5 13.01.20 19:49 Сейчас в теме
Комментарии старого когда это зло, Если конфигурация разрабатывается с нуля то репозиторий Вам в помощь для того, чтобы понять кто что изменил/добавил. Программный код должен быть самодокументированным. Комментириев вообще должно быть минимум, и главное они должны быть только в самых не очевидных местах. Представьте что Вы раскомментируете программный код по прошествии например года, а некоторых объектов то уже и нет в конфигурации.
frying; sashocq; Bell; +3 Ответить
15. Cерый 17 13.01.20 19:52 Сейчас в теме
Не нужно комментировать изменение, если код не типовой. Комментарий должны быть только для изменений относительно типового кода. При изменении ранее измененного куска кода необходимо изменить только дату изменения в комментарии - разделяю https://infostart.ru/public/647048/ (любое изменение кода обязательно должно быть прокомментировано), предлагаю аргументировать Вашу позицию
sapervodichka; +1 Ответить
23. sapervodichka 4537 13.01.20 22:42 Сейчас в теме
16. metmetmet 81 13.01.20 20:25 Сейчас в теме
Любые изменения конфигурации должны быть максимально реализованы с помощью Расширений конфигураций

Как много возникает различных расширений в рамках одного проекта?
Какими правилами руководствуетесь при принятии решения о доработке существующего расширения или создании нового? Легко искать доработки, если расширений много?
17. sapervodichka 4537 13.01.20 20:32 Сейчас в теме
(16) Например, Пищевое производство: Основная конфигурация ERP + Основное расширение Пищевка + Дополнительное расширение интеграция с УАТ + Доп расширение интеграция с EDI + Доп расширение Интеграция с внутренней системой.(4 расширения)
18. sapervodichka 4537 13.01.20 20:33 Сейчас в теме
(16) Легко ли искать доработки, если расширений много... если хорошо документировать, то легко.
19. metmetmet 81 13.01.20 20:46 Сейчас в теме
При доработке типового функционала
в расширении сложнее анализировать новые изменения в типовой конфигурации по сравнению с доработкой самой конфигурации, не так ли?
20. sapervodichka 4537 13.01.20 20:52 Сейчас в теме
(19) нет, не так ли. Зависит от того как документировать доработки. И в расширении мы формы объектов не меняем (даже зачастую не перетаскиваем), все выводим динамически, а фишки расширений &После и &Вместо дают классные плюшки при обновлении.
21. sapervodichka 4537 13.01.20 20:57 Сейчас в теме
(20) (направление я уловил) Я не против и просто конфигурацию менять, там можно тоже всё аккуратненько делать, сохраняя обновляемость. Можно и так и ч/з расширения. Например, в ЕРП пока нельзя делать регистры накопления в расширении и с некоторыми типами объектов, есть проблемы доработки в связи с не включенной пока совместимость с 8.3.13. Её вроде в ЕРП хотят в 2020 году в ЕРП включить. Поэтому расширения в ЕРП ещё не совсем взлетают.
26. Kindman1980 82 15.01.20 14:54 Сейчас в теме
(21) у меня кстати были проблемы с реквизитами в расширении. Была такая проблема с журналом банковские выписки в бухглтерии и с поступлением безналичных денежных средств. Реквизиты сначала были в расширении, но потом для исправления нужно было ТИИ делать при отключенном расширении, в результате пришлось дублировать реквизит в конфигурацию, делать обработку по переносу данных. Понял что в расширении я пока только визуально-интерфейсную часть оставлю и не более.
Дмитрий74Чел; +1 Ответить
22. metmetmet 81 13.01.20 21:09 Сейчас в теме
(20) Не претендую на последнюю инстанцию, но при обновлении конфигурации есть очень удобный механизм тройного сравнения, чего нет при реализации доработок с помощью расширений.
kolya_tlt; max_zhilin; mevgenym; sapervodichka; +4 Ответить
36. kolya_tlt 64 05.03.20 09:28 Сейчас в теме
(22)
танцию, но при обновлении конфигурации есть очень удобный механизм тройного сравнения, чего нет при реализации доработок с помощью расширений.

именно поэтому не используем их, так как на этапе обновления не известно сломаются ли расширения или нет.
24. comol 4688 13.01.20 23:05 Сейчас в теме
На дворе стоял 2020-й.... на инфостарте продолжали появляться статьи про правильный авторский комментарий :(((((((((((((((((((
frying; sashocq; kolya_tlt; +3 Ответить
27. SuhoffGV 15.01.20 17:07 Сейчас в теме
(24) каждое десятилетие кэш базовых знаний обнуляется. Приходится обновлять
28. comol 4688 15.01.20 17:11 Сейчас в теме
(27) я к тому что гитом надо уметь пользоваться... Blame view. Не надо авторские комментарии писать
sashocq; sapervodichka; +2 Ответить
29. sapervodichka 4537 15.01.20 17:16 Сейчас в теме
(28) если надо, значит будем =)
37. kolya_tlt 64 05.03.20 09:29 Сейчас в теме
(24) к сожалению, это так :( до гита в массах нам еще лет 5
25. Kindman1980 82 15.01.20 14:50 Сейчас в теме
Мне кстати понравилось использовать не префикс, а постфикс, на крайняк начинать название с подчеркивания. Тогда с сортировкой попроще. С постфиксом делали в Почте России на проекте.
max_zhilin; MaxTolya; Дмитрий74Чел; +3 Ответить
32. DoubleT 7 17.01.20 09:57 Сейчас в теме
Спасибо за статью, подскажите, а какие есть методы комментирования запросов в динамическом списке?
33. sapervodichka 4537 17.01.20 10:04 Сейчас в теме
(32) Переопределяете в ПриСозданииНаСервере() текст запроса динамического списка Список.ТекстЗапроса = "...новый ваш текст запроса..." или если нужно изменить кусочек запроса Список.ТекстЗапроса = СтрЗаменить(Список.ТекстЗапроса, "ИскомыйТекст", "НовыйТекст").
triviumfan; +1 Ответить
35. kolya_tlt 64 05.03.20 09:26 Сейчас в теме
по поводу изменения ролей в целом согласен, но есть одно НО. Стоит упомянуть, что нужно взвесить изменять типовую роль или создавать новую. Сделайте поиск по конфигурации по ключевому слову РольДоступна(" в ERP и удивитесь, что создав новую роль копирование вам придётся изменять типовую конфигурацию. Самый яркий пример с ролью ЗачетОплаты
38. MishaD 14 05.03.20 09:50 Сейчас в теме
За несколько лет изменений в одной обработке авторских комментариев стало в половину кода. Читаемость резко упала.
39. maxx 938 05.03.20 20:34 Сейчас в теме
А элементы БСП являются типовыми в составе той же Бухгатерии? В них можно вносить изменения? Не нужно же рядом свои такие же подписки, определяемые типы со свои префиксом лепить?
40. PLAstic 274 06.03.20 17:32 Сейчас в теме
п.8 имеет исключение. Если объект не типовой, а добавленный в процессе разработки, то вынесение его изменений в расширения добавит сумятицы. Это итак наш документ, пусть он будет "цельный", описанный одной сущностью.
41. kosmo0 103 12.03.20 11:27 Сейчас в теме
"Не нужно комментировать изменение, если код не типовой. Комментарий должны быть только для изменений относительно типового кода. При изменении ранее измененного куска кода необходимо изменить только дату изменения в комментарии."


При "изменении ранее измененного" НА СРЕДНЮЮ ПЕРСПЕКТИВУ в комментариях всегда оставляю даты прошлых изменений. Иначе возможна ситуация когда приходят через полгода-год и говорят - вот два года назад так работало, а сейчас совсем не правильно (например документ который с каким-то видом операции проводится раз в два-три года). Если не помнить об предыдущих изменениях либо изменения делались совсем другим человеком, то найти ошибку будет очень трудно - нет информации что два года назад код был иным. Конечно если покопать, то все можно найти, но время и лишние усилия потеряны. У вас есть лишнее время - замечательно. если его нет - все совсем не замечательно.

Следующее замечание относится к ситуациям если изменения не делаются "по серьезному", то есть без "[Номер тех.задания или заявки]". Бывали случаи когда изменения продавливаются вопреки аргументам программиста (вроде мы тебя выслушали, но сделай как мы сказали). Можно потратить массу времени на уговоры и аргументацию, а можно в комментарии написать - указание главбуха Петровой. И случись что - всегда можете сказать "а я предупреждал". Но, хотелось бы предупредить, что такое работает только в более-менее адекватных организациях. В ином случае (юные падованы 1с) пишите служебную записку с своими предупреждениями и аргументами и фиксируйте их в документообороте (это банальное прикрытие своей задницы официальной бумажкой).
Оставьте свое сообщение

См. также

Безопасная работа с транзакциями во встроенном языке Промо

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

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    44440    tormozit    58    

Пример создания документа с движениями в ERP 2.5.7

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

Пример создания документа с движениями в ERP 2.5.7, а также включение документа в основные подсистемы, а именно по управлению доступом, датам запрета изменения, контролю остатков, использованию характеристик и серий и прочее.

1 стартмани

10.08.2021    1646    maraty    10    

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

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

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

1 стартмани

07.07.2021    3537    kalyaka    56    

Доп. панель Alt+Z

Администрирование данных 1С v8 1cv8.cf Абонемент ($m)

Панель, вызываемая для объекта комбинацией клавиш Alt+Z (для документа, справочника, плана вида характеристик, плана счетов и т.д.). Возможности: Редактор всех реквизитов, таблиц и движений, Анализ прав к объекту, Поиск ссылок на объект с фильтрами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Подключается как Расширение.

2 стартмани

24.06.2021    7062    93    sapervodichka    57    

Запуск 1С под любым пользователем (без необходимости указания пароля) Промо

Пароли v8 v8::Права 1cv8.cf Абонемент ($m)

Предназначается для запуска сеанса другого пользователя из своего сеанса 1С (если пароль вам неизвестен).

1 стартмани

02.07.2019    27617    286    sapervodichka    0    

Семеро одного не ждут? Асинхронное исследование асинхронности

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

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

1 стартмани

08.06.2021    5186    Alxby    45    

Связи параметров выбора номенклатуры и характеристики в 1С 8.3

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

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

1 стартмани

22.02.2021    1221    plotnikov1c    2    

Заполнение календаря 2021 (без интернета)

Учет рабочего времени v8 ERP2 БУ Абонемент ($m)

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

1 стартмани

05.01.2021    9138    4    sapervodichka    14    

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

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

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    30814    wowik    3    

Групповое добавление и удаление ролей из списка профилей

Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

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

1 стартмани

14.12.2020    6561    37    sapervodichka    9    

Динамическая расшифровка СКД (на примере отчета)

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

Предлагаю Вашему неподкупному вниманию вариант более-менее унифицированной реализации динамически формирующейся расшифровки СКД на примере простейшего отчета для конфигурации УТ 11.

1 стартмани

08.12.2020    1430    mr_sav    2    

СКД: все, что вы хотели знать о подмене схемы компоновки данных в отчетах и обработках

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

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

1 стартмани

07.12.2020    4766    user1502278    18    

Как нарисовать граф на 1С Промо

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

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

1 стартмани

09.08.2013    73243    ildarovich    117    

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

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

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

1 стартмани

09.10.2020    6940    hexhoc    12    

Программная корректировка при выводе отчета СКД

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

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

1 стартмани

08.10.2020    10175    dabu-dabu    16    

Интерактивная справка по объектам 1С (подключаемое расширение)

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

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

3 стартмани

29.09.2020    14637    76    sapervodichka    43    

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

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

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

1 стартмани

28.09.2016    41758    ildarovich    22    

Значения по умолчанию для пользователей (Расширение)

Администрирование СУБД v8 1cv8.cf Абонемент ($m)

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

2 стартмани

21.09.2020    9390    76    sapervodichka    34    

Контекст любого объекта конструкцией #Если Фамилия Тогда

Практика программирования v8 1cv8.cf Бесплатно (free)

Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.

17.08.2020    2089    sapervodichka    35    

Отключение Монитора ИТС и Проверки наличия обновления (расширение)

Администрирование веб-серверов v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.08.2020    11840    87    sapervodichka    0    

Бесплатная проверка контрагентов в ФНС (общий модуль с алгоритмом). На примере выводим статус в список справочника контрагентов Промо

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

Если вам интересно проверить контрагенте в ФНС, вам поможет данная публикация. Весь алгоритм работы строится на основе данных, полученных с сервиса http://npchk.nalog.ru совершенно бесплатно.

1 стартмани

01.02.2018    37989    rpgshnik    53    

Загрузка, скачивание, удаление файлов с помощью НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера()

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

В платформе 8.3.15 появились новые методы НачатьПомещениеФайлаНаСервер() и НачатьПолучениеФайлаССервера(). В данной статье рассмотрено готовое решение проверенное и прекрасно работающее на тонком и веб-клиенте.

1 стартмани

25.07.2020    10888    Flashill    15    

Памятка работ по проекту 1С

Управление проектом 1С:Франчайзи, автоматизация бизнеса Абонемент ($m)

Схема работ по проекту внедрения 1С освежает в голове и визуализирует общую картину мероприятий. Будет полезно как для Заказчика так и для Исполнителя при подготовке проекта и проведении совещаний по ходу проекта.

1 стартмани

23.07.2020    10344    sapervodichka    13    

Использование Стека вызовов в качестве условия оператора Если [...] Тогда

Практика программирования v8 1cv8.cf Бесплатно (free)

Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.

12.07.2020    7981    sapervodichka    52    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному Промо

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

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    53154    dsdred    44    

Уведомление пользователей об изменениях в объектах (расширение)

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

Позволяет без доработок настроить уведомления пользователям об изменениях объектов и их реквизитов. Уведомления отправляются в виде задач по проверке объектов с ссылками на объекты.

2 стартмани

06.07.2020    7863    35    sapervodichka    30    

Подсистема прав доступа к объектам с гибкими отборами (расширение)

Роли и права v8 ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

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

2 стартмани

02.07.2020    16510    207    sapervodichka    108    

Памятка работ по задаче 1С

Техническое задание Управление проектом v8 1cv8.cf Абонемент ($m)

Памятка выполняемых работ по решению длительных задач по 1С.

1 стартмани

25.06.2020    10916    sapervodichka    0    

Некоторая работа с данными через COM Промо

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

В статье приведены примеры работы с Платформой 8.X через COM (точнее, через объект COMConnector). Примеры кода были использованы при реализации прикладных задач в процессе трудовой деятельности.

2 стартмани

05.12.2012    59756    wowik    32    

Универсальная печатная форма Приказа/Договора с возможностью настройки макета в пользовательском режиме

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

В данной статье я опишу реализацию универсальной (в кавычках) печати Приказа (Договора или чего пожелаете) с возможностью настройки выводимого текста с параметрами из пользовательского режима

1 стартмани

24.06.2020    2293    BuriyLesha    0    

Применение программистом таблицы рисков для оценки технического задания

Техническое задание Бесплатно (free)

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

28.05.2020    10690    sapervodichka    75    

Добрый великан

Управление проектом Бесплатно (free)

Руководители проектов определяют наше настоящее, каким оно будет?! Ответ прост - таким, каким и сам РП.

25.05.2020    6133    sapervodichka    1    

Работа со схемой запроса Промо

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

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

1 стартмани

24.04.2018    51436    kalyaka    41    

Настройка ограничений входа пользователей в базу (расширение)

Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

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

2 стартмани

19.05.2020    13048    24    sapervodichka    14    

БП 3.0, Закрытие месяца, Отключение проверок операций прошлых периодов

Закрытие периода v8 v8::БУ БП3.0 БУ Абонемент ($m)

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

1 стартмани

13.05.2020    11841    30    sapervodichka    15    

Проводим по БУ "на лету"

Бухгалтерский учет v8 ERP2 КА2 БУ НУ Бесплатно (free)

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

01.05.2020    6903    sapervodichka    1    

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов Промо

Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Абонемент ($m)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    51226    DarkAn    86    

Панель #Расширение объекта: Редактор, Права, Поиск, Сторно, Обмен

Универсальные обработки v8 1cv8.cf Абонемент ($m)

Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.

1 стартмани

01.05.2020    14256    109    sapervodichka    1    

Переход с партионного режима и производства 2.1 на режимы 2.2 в 1С:ERP Управление предприятием

Производство готовой продукции (работ, услуг) v8 ERP2 Россия УУ Бесплатно (free)

В данной статье мы расскажем о практическом опыте ВЦ «Раздолье» в переводе работы клиентов в «1С:ERP Управление предприятием» на новые режимы: использование производства 2.2 и партионный учет версии 2.2 (далее режимы 2.2).

27.04.2020    6874    1СERP    9    

Поиск пересекающихся ссылок на комбинации объектов с ограничением области поиска по метаданным

Поиск данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.03.2020    9086    16    sapervodichka    18    

Новый запрос и новая таблица значений как функции Промо

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

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

1 стартмани

27.11.2012    46291    ildarovich    49    

Методика обновления формы объекта данных при изменении объекта

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

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

1 стартмани

09.03.2020    19116    tormozit    16    

Отправка уведомлений с помощью командной строки, Оповещения с сервера на клиент с помощью командной строки

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

Отправка уведомлений с помощью команды командной строки msg. Оповестить пользователей из серверного модуля или регламентного задания, с помощью командной строки msg.

1 стартмани

05.03.2020    7931    user5300    3    

Вывод сообщений в HTML поле средствами 1С

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

Пример использования вывода большого количества сообщений в поле HTML. С возможностью открывать ссылочные объекты и создавать новые объекты передавая параметры прямо из HTML поля. Протестировано на релизах 8.3.12 и 8.3.15+

2 стартмани

31.01.2020    9593    burni4    16    

Уровни, глубина, прародители, циклы и аналоги запросом Промо

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

В продолжение публикации «Транзитивное замыкание запросом» [http://infostart.ru/public/158512/] добавлены другие варианты использования того же приема. Приведены запросы для быстрого определения уровней всех элементов справочника, максимальной глубины справочника, прародителей произвольных элементов справочника, запрос для быстрого определения циклов (на примере справочника спецификаций «1С:Управление производственным предприятием») и определения множеств аналогов номенклатуры (также на примере конфигурации «1С:Управление производственным предприятием»).

1 стартмани

13.11.2012    119557    ildarovich    102    

Права на объект (расширение, отчет)

Роли и права v8 v8::Права 1cv8.cf Абонемент ($m)

Если пользователю не хватает прав на объект, то на практике в 90 % случаев, недостающую роль можно найти через типовой регистр сведений Права ролей. Также с помощью дополнительного отчета или небольшого расширения можно ускорить описанный процесс.

1 стартмани

07.01.2020    31366    sapervodichka    26    

Проверка не попавших в табель сотрудников. ЗУП

Управление персоналом (HRM) Бухгалтерские Анализ учета v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Отчет для проверки, что все сотрудники учтены в табелях учета рабочего времени.

1 стартмани

31.12.2019    11563    25    sapervodichka    6    

Универсальные функции: разложение произвольной строки адреса в структуру

Практика программирования Универсальные функции v8 1cv8.cf Абонемент ($m)

Процедуры и функции раскладывают произвольную строку адрес в структуру по ключевым словам.

1 стартмани

30.12.2019    5769    vik070777    10    

Неоплаченные долги при распределении оплаты по правилу ФИФО одним запросом и намного быстрее, чем Вы думали Промо

Практика программирования Дебиторская и кредиторская задолженность Дебиторская и кредиторская задолженность v8 v8::СКД КА1 УТ10 УПП1 УУ Абонемент ($m)

Предлагается метод для быстрого нахождения неоплаченных долгов при распределении оплаты по правилу ФИФО, основанный на дихотомии. Описывается реализация метода в виде достаточно простого запроса, решающего за линейное время указанную задачу, считавшуюся ранее существенно более трудоемкой. Приводятся примеры использования запроса в отчетах на СКД для конфигураций УТ, КА, УПП.

1 стартмани

28.02.2014    70829    ildarovich    131    

На время отключаем контроль остатков и проверку документов

Администрирование СУБД v8 ERP2 УТ11 КА2 Абонемент ($m)

На время сеанса отключаем контроль остатков и проверку документов в ERP, КА, УТ типовыми средствами и простым расширением.

1 стартмани

24.12.2019    13960    sapervodichka    2    

Тест серверного оборудования на допустимое количество пользователей: как это использовать?

Администрирование СУБД Нагрузочное тестирование Сервера v8 1cv8.cf Абонемент ($m)

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

3 стартмани

17.12.2019    13934    sapervodichka    3    

6 шотов

О жизни Бесплатно (free)

Небольшие пятничные истории о взаимоотношениях в коллективе

01.11.2019    10653    sapervodichka    28    

"Живые" картинки со Snap.SVG

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

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    15001    blackhole321    7