Наследование свойств элементов, или Как пользователь может сломать вашу форму

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

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

ТолькоПросмотр Доступность Видимость УФ Взлом Ошибка Группа Страница Кнопка Элемент

В 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на папку. Об этом подробнее в видео.

Данная статья — текстовый вариант свежего ролика по теме

 

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

Или же нет? Однажды я засомневался в истинности этого утверждения.

 

А как он это сделал?

— Говорит, что просто изменил поле.

— В конфигураторе вижу, что колонка недоступна.

— Я под своим пользователем менять не могу. А он может.

 

Довольно обычный диалог, свидетелем которого, думаю, становились многие. А может и участником. Ведь работа программиста состоит не только в написании кода, но и в исправлении ошибок, которые этот код породил.

И вполне обыденно, что программист Вася допустил ошибку. Присвоил свойство или не тому элементу, или не в тот момент, или потом где-то перезатёр это свойство. А всплывает такая ситуация только у пользователя, потому что он случайно наткнулся на волшебную комбинацию действий, после которых ошибка воспроизводится. Ничего не обычного — это разработка.

 

— Может у тебя где-то свойство перезатирается?

— Да его программно-то и не устанавливаю нигде. Оно на самой форме установлено.

 

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

Для имитирования этой ситуации, создадим простую обработку. В форму добавим реквизит "ТаблицаДанных". Пусть в этой таблице будет две доступные и две недоступные пользователю колонки. Так их и назовём.

 

 

Создадим элементы формы и разнесём доступные и недоступные колонки по двум группам.

 

Хорошо. А теперь, собственно, снимем доступность с папки "Недоступные колонки"

 

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

 

На первый взгляд всё хорошо. Но может ли пользователь без каких-либо сложных действий обойти запрет? Оказывается, что может. Для этого воспользуемся волшебной кнопкой в командной панели формы. "Изменить форму".

 

А теперь вынесём недоступную колонку за пределы своей папки. Пусть она лежит отдельно.

 

Да, именно так. Теперь свойства папки не влияют на эту колонку. А это значит, что мы можем изменить её содержимое.

 

Да, именно так ведёт себя платформа. Пока элемент находится в группе, то к нему применяются правила этой самой группы. Проверим теперь свойство ТолькоПросмотр. Изменим группу в конфигураторе, сохранимся и переоткроем обработку.

 

Как удобно, что 1С сохраняет пользовательские настройки формы и наше "недоступное" поле сразу при открытии становится доступным =)

Теперь сделаем то же самое и с вторым нашим полем.

 

Верно - ТолькоПросмотр ведёт себя точно так же.

 

И это работает не только с установленными "вручную" свойствами, но и заданными программно. И не только с группами, но и со страницами и даже подменю.

Добавим кнопку на форму и поместим её в группу с отключенной доступностью.

 

Сохранимся и откроем обработку. Да, кнопка "серая".

 

Повторим тот же фокус - вынесём кнопку из группы:

 

Поздравляю - мы получили доступ к закрытому для нас функционалу!

 

Вы можете написать в комментариях, мол, "Криворукий разработчик сам виноват. Никто же так формы не делает". И тут ради интереса я залез в типовые конфигурации. Поэтому скажу — делают. Это нормальная практика, когда свойство устанавливают целой группе, а не элементам. И раньше я бы не подумал, что в этом есть что-то плохое.

 

Для примера возьмём демо-базу свеженького релиза УТ 11.4.11.104.

Откроем документ "Выданная доверенность" со статусом "Выдана".

 

Как мы видим, данные заблокированы. Нажмём же "Изменить форму" и вынесем поле "Действует до" отдельно

 

Ну вот - мы можем его редактировать. Изменим дату и проведём документ. Ура, мы сделали своё грязное дело.

 

И самое "приятное", что теперь в каждом документе поле будет доступно. Потому что платформа сохранила пользовательские настройки формы. И, если пользователь без злого умысла "перенёс" куда-то поле или кнопку (просто потому что ему так показалось удобнее), то он может и не догадываться, что это самое поле не должно быть доступно. Он просто открывает форму. Видит, что поле или кнопка доступны. И нажимает.

Возьмём ещё один похожий пример. На этот раз документ "Чек ККМ на возврат". Откроем документ, у которого заблокирован номер и дата. И вытянем их тем же методом из шапки:

 

Всё, теперь мы можем изменить номер и дату документа. Поздравляю!

 

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

 

— И как теперь это будем поправлять?

— У меня есть пара вариантов

 

Да, если вы один из тех разработчиков, который хочет быть на все 146% уверенным, что ваш инструмент никто не сломает, то:

 

Устанавливайте запрет на сами элементы, а не только группы

Так вы точно будете знать, что поле будет в нужный момент недоступно.

Если же в группе много элементов, их состав периодически меняется, и не хочется писать кучу кода, то есть второй вариант.

 

Задайте свойство группы "РазрешитьИзменениеСостава": Нет

Тогда пользователь не сможет вытащить элемент из неё.

Вы можете подумать, что это произойдёт только с какими-то гипотетическими злыми пользователями, которые специально разыскивают дыры в программе, чтобы при их помощи создавать проблемы разработчикам. Но, как я уже говорил выше, это возможно по вине "случайности". Какой-то особо умелый пользователь перенёс колонку таблицы так, как ему показалось удобнее. Перенёс кнопку из подменю на основную командную панель, потому что ему лень искать её каждый раз. И так далее. А в результате — код разработчика сломан. Так что лучше уж обезопасить себя. Хотя бы в особо важных случаях.

И напоследок, покажу ещё один интересный пример в УТ. Ещё раз перейдём в форму списка "Доверенность выданная". И откроем документ с типом "На получение ДС". Как видно на скрине, у такого документа не отображается табличная часть "Товары".

 

Теперь откроем документ с другим типом. Табличная часть на отдельной странице.

 

Перейдём в "Изменить форму" и вынесём таблицу за пределы всех групп и страниц.

 

Хорошо, а теперь закроем форму и вернёмся к прошлому документу без табличной части. Теперь табличная часть видна и её можно редактировать:

 

 

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

Таким образом пользователь может сломать ТолькоПросмотр, Доступность и Видимость элементов. А может и что-то ещё...

 

Понравилась статья? 

Не будьте равнодушными! Поставьте лайк плюс, оставьте комментарий. Ещё много в 1С неизведанного!

В этом видео я наглядно показываю всё то, что говорится в статье: Наследование свойств элементов, или Как пользователь может сломать вашу форму

И переходите к другим публикациям:

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Senator_I 13 12.01.21 15:29 Сейчас в теме
"Лайк" статье поставил (не люблю видео смотреть), тестировать разработки станет веселее! )))
2. MVK80 12.01.21 19:49 Сейчас в теме
(0) Прикольно, особенно с таблицей формы в выданной доверенности! Ушел писать процедуру в общем модуле которая рекурсивно свойства потомков ставит такие же как и у родителя в рамках двух исследованных свойств: ТолькоПросмотр и Доступность. :) Не будем жестоки к пользователю (не ставим РазрешитьИзменениеСостава в Ложь). Пусть пользователь извращается как хочет с расположением нередактируемых элементов на форме. А случае если предполагается управлением свойства Видимость надо устанавливать РазрешитьИзменениеСостава в Ложь изначально наверное.
3. MVK80 12.01.21 20:23 Сейчас в теме
(2), хотя это не спасет если пользователь в момент доступности полей перенесет их в другую группу. Получается что только РазрешитьИзменениеСостава поставкой в Ложь изначально поможет. Либо явно назначать свойства всем полям входящим в группу.
24. Hatson 422 19.01.21 09:19 Сейчас в теме
(2)
Пусть пользователь извращается как хочет с расположением нередактируемых элементов на форме


Я считаю, что 1С вообще зря сделали такую возможность и вот почему:

Как они себе представляют работу поддержки крупных инф систем? Как должны выглядеть внутренние инструкции и регламенты по пользованию различных форм документов и обработок, если каждый пользователь перекроил всё под себя и зачастую не сознательно, а по случайности??
Да, там есть кнопка "вернуть всё как было" - тогда тем более зачем нужны все эти свистелки и перделки с элементами формы, если всё равно рано, или поздно придется всё вернуть в исходное состояние??
Известно, что чем жестче ограничения, тем стройнее и масштабнее система и легче и эффективнее её сопровождение и разработка.
25. MVK80 19.01.21 09:25 Сейчас в теме
(24), ну я думаю опытный пользователь разберется и так. Если он под себя все настроил значит он понимает функционал и сделал себе удобней для работы. Как, пример, вынес какие-то команды из еще в видимую часть формы, если часто ими пользуется. А неопытный начнет с первого пункта инструкции, где будет написано как все вернуть к настройкам по умолчанию. Типа будет текст "если вы не видите какого-то элемента или кнопочки о которой говорится в инструкции, не спешите звонить в поддержку, начните со сброса настроек формы к значениям по умолчанию.

Представляете, что будет, если за каждым вариантом отчета или изменению формы по минимуму пользователь начнет обращаться к программистам?
4. muskul 13.01.21 04:58 Сейчас в теме
Надо запомнить. Иногда нужно поломать функционал 1с со своими запретами там где не надо
10. rovenko.n 13.01.21 10:56 Сейчас в теме
(4)А потом ошибки исправлять, там, где они появились?
5. mikl79 112 13.01.21 07:04 Сейчас в теме
спасибо, стоит задуматься на будущее при написании кода
6. Dragonim 126 13.01.21 07:40 Сейчас в теме
Описанное поведение очень логично, но не очевидно. За статью большое спасибо.
shard; Stylo; rovenko.n; Drivingblind; +4 Ответить
7. DmitryUfa 13.01.21 07:46 Сейчас в теме
Спасибо! Буду иметь ввиду.
8. anosin 28 13.01.21 09:37 Сейчас в теме
поправят в следующем релизе платфомы? ;)
9. paybaseme 21 13.01.21 10:06 Сейчас в теме
Спасибо за статью, очень полезная информация!
11. the1 716 13.01.21 11:25 Сейчас в теме
Спасибо за неочевидную информацию. Не баг, а фича) Придется делать так в некоторых случаях
	ГруппаФормы = Элементы.НедоступнаяГруппа;
	Для Каждого Элемент Из ГруппаФормы.ПодчиненныеЭлементы Цикл
		Элемент.Доступность = ГруппаФормы.Доступность;
	КонецЦикла;
В особых случаях еще и рекурсивно. Возникает правда вариант, что юзер перенесет в недоступную группу элемент из другой группы, и тогда уже он станет недоступным) Вопросы, вопросы))
12. zqzq 21 13.01.21 11:45 Сейчас в теме
(11)
Элемент.Доступность = ГруппаФормы.Доступность;

Если у группы доступность=истина, а у элемента нет, опять будет проблема :)
13. SlavaKron 13.01.21 12:18 Сейчас в теме
Был бы счастлив, если бы у меня были такие пользователи, которые смогли бы до этого догадаться.
DrAku1a; _qqq; +2 Ответить
14. Kolunya 7 13.01.21 13:03 Сейчас в теме
Мы своим юзерам скрываем "Изменить форму" .. и много чего еще... ))
ибо пытливый ум от скуки может породить намного больше проблем...
15. Stylo 13.01.21 13:19 Сейчас в теме
И это мы узнаЁм только в январе 2021 года. Вот так поворот. Спасибо за статью!
18. SiAl 74 13.01.21 14:50 Сейчас в теме
(15)
поворот. Спасибо за статью!

Я лично никогда не использовал эти настройк у групп элементов, потому что сразу было понятно, что юзер по умолчанию может изменить форму и состав элементов формы в интерфейсе "Такси". Поэтому только настройик самих элементов, благо можно устанавливать настройки сразу у нескольких элементов, выбрав их через зажатый Control.
16. dabu-dabu 150 13.01.21 13:48 Сейчас в теме
Всегда считал, что возможность пользователю самостоятельно себе изменить форму - это зло
bulpi; Serega-artem; +2 Ответить
19. SiAl 74 13.01.21 14:51 Сейчас в теме
(16)
зователю самостоятельно себе изменить

Нет, это благо. Зло - это ограниченный шаблонами разум недоразработчиков.
SlavaKron; YanTsys; +2 2 Ответить
17. user1503726 13.01.21 13:57 Сейчас в теме
А на этот функционал (изменение управляемых форм) есть возможность назначать пользовательские права? Как часть роли (хотя их и так много).
20. Sander80 81 14.01.21 22:55 Сейчас в теме
(17) сохранение настроек, или как-то так, в глобальном разделе ролей
21. shard 257 15.01.21 00:30 Сейчас в теме
"можно сделать защиту от дурака, но только от неизобретательного"...
zqzq; bulpi; +2 Ответить
22. bulpi 179 15.01.21 14:33 Сейчас в теме
Проще всего на самой форме в конфигураторе снять флажок "Разрешить изменять форму". Ибо не фиг.
23. Terve!R 18.01.21 08:54 Сейчас в теме
На практике таких умных пользователей не бывает)
Им бы СКД отчет научиться как-то настраивать, а уж в "Изменить форму" они никогда не лезут)
Но лайк за полезную информацию)
Оставьте свое сообщение

См. также

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

Универсальные функции Практика программирования v8 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    3586    comol    20    

Сервис регистрации ошибок 1С (пример создания)

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

Разработаем вместе простой сервис регистрации ошибок для 1С на самой 1С =)

13.10.2020    3918    SeiOkami    19    

Базовые вещи БСП, которые облегчат жизнь программисту 1С

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

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

30.08.2020    9604    quazare    33    

Новое отображение ошибок в 1С

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

Рассмотрим развитие механизма отображения ошибок в 1С (начиная с 8.3.17)

10.08.2020    6828    SeiOkami    19    

Использование программных перечислений, ч.1: строковые константы Промо

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

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    38206    unichkin    74    

Серверные вызовы, которые нельзя вызывать

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

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    6887    SeiOkami    31    

Форма выбора (подбор) в управляемых формах

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

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    30366    user5300    16    

Как ограничить поля отбора в динамическом списке и ничего не сломать

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

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

06.05.2020    5728    SeiOkami    3    

Вспомогательные инструкции в коде 1С Промо

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

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

15.10.2018    31643    tormozit    104    

Ограничения полей, или как обмануть СКД?

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

Каждое из ограничений полей можно обойти. Рассмотрим варианты обхода и способы обезопасить свой отчет.

15.04.2020    9213    SeiOkami    38    

Программная работа с настройками СКД

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

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

27.01.2020    34763    ids79    26    

[СКД] Программное создание схемы компоновки данных

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

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

15.01.2020    28789    John_d    22    

Оформление и рефакторинг сложных логических выражений Промо

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

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

20.09.2012    78965    tormozit    131    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы + про расширения

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

Собрал информацию о событиях/подписках/расширениях в одном месте.

30.12.2019    21791    kuzyara    38    

30 задач. Странных и не очень

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

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    18389    YPermitin    58    

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

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

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    9279    Sibars    19    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

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

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

11.07.2007    49636    tormozit    48    

Полезные процедуры и функции для программиста

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

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

07.10.2019    32317    HostHost    40    

Таблица значений. Нюансы

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

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    38208    Yashazz    50    

О программе Postman для тестирования API и для чего она нужна 1С-нику

Практика программирования Программное обеспечение (software) v8 Бесплатно (free)

Для чего нужна программа Postman для тестирования API и какая от него польза для 1С-программиста.

24.09.2019    13786    budidich    28    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

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

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    46207    tormozit    74    

[Шпаргалка] Программное создание элементов формы

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

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

06.09.2019    61647    rpgshnik    67    

Агрегатные функции СКД, о которых мало кто знает

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

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    55747    ids79    54    

Регистры бухгалтерии. Общая информация

Практика программирования Математика и алгоритмы v8 v8::БУ БУ Бесплатно (free)

Общая информация о внутреннем устройстве регистров бухгалтерии.

05.09.2019    31690    YPermitin    24    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

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

25.04.2019    16338    m-rv    2    

Три костыля. Сказ про фокусы в коде

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

Три интересных (или странных) костыля в коде, которые могут помочь в повседневных и не очень задачах.

03.09.2019    26761    YPermitin    80    

Отслеживание выполнения фонового задания

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

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

17.08.2019    34131    ids79    16    

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив

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

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    99991    ids79    56    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    20829    m-rv    17    

Фоновое выполнение кода в 1С - это просто

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

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

02.08.2019    41737    avalakh    26    

Разбираемся с параметрами редактирования СКД

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

Связь по типу, Параметры выбора, Связи параметров выбора

31.07.2019    27494    json    15    

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты

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

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    71148    ids79    12    

Как сделать запрос на изменение данных Промо

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

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

01.06.2018    31826    m-rv    21    

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ

Инструментарий разработчика Практика программирования v8 v8::СКД Бесплатно (free)

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    38765    ids79    27    

Регистры сведений. За кулисами

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

Небольшие заметки по внутреннему устройству регистров сведений.

09.07.2019    27721    YPermitin    14    

"Меньше копипаста!", или как Вася универсальную процедуру писал

Практика программирования Разработка v8 v8::СКД 1cv8.cf Бесплатно (free)

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    20211    SeiOkami    50    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

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

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

05.12.2017    28715    itriot11    34    

Работа с настройками системы компоновки данных

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

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

02.07.2019    55384    ids79    17    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    58089    ids79    26    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    26662    dmurk    146    

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    77910    Serginio    110    

Регистры накопления. Структура хранения в базе данных

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

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

16.05.2019    47578    YPermitin    30    

О расширениях замолвите слово...

Практика программирования Разработка v8 Бесплатно (free)

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    37198    ellavs    126    

Git-репозитории для 1С-кода (опыт использования при небольших проектах)

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

Инструкции по взаимодействию с Git-репозиторием, которые писались для тех наших программистов, которые вообще никогда не работали с Git (руководства в духе "Как получить код из git-репозитория?", "Как отправить код в git-репозиторий")...

28.03.2019    28282    ellavs    90    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

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

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    36709    ids79    40    

Трюки с внешними источниками данных

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

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

14.03.2019    33587    YPermitin    53    

Ошибки при работе с хранилищем конфигурации и способы их решения

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

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

01.03.2019    45610    Смешной 1С    30    

Разработка и сценарное тестирование с Vanessa-ADD. Отчетность Allure. Автоматизация запуска сценариев

Практика программирования Vanessa Automation v8 Россия Бесплатно (free)

Формируем отчетность о результатах выполнения сценариев. Автоматизируем запуск.

26.02.2019    23606    Vladimir Litvinenko    28    

Тестер: частые вопросы Промо

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

Ошибкам бой - тесты норма жизни!

25.07.2018    29906    grumagargler    28