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

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

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

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

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

Цель статьи

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

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

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

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

А все что ниже - это больше для веселья!

Среда выполнения

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

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

В общем, ничего особенного. Просто берете и делаете :)

Задачи

Хватит болтать, пора действовать!

Сложность задач не зависит от раздела и номера, все перемешано. Сделано это специально, чтобы у Вас не было ожиданий сложности. Так ведь интересней!

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

 
 Задачи с 1 по 10
 
 Задачи с 11 по 20
 
 Задачи с 21 по 30

Так много кода! Так много задач! И так мало ответов!

Вам слово

Прошли весь путь и не нашли ответов? Все так. Думаю, нет смысла давать ответы на задачи, которые легко проверить в конфигураторе. Надеюсь, я смог хоть немного Вас запутать и улыбнуться.

 
 Небольшой комментарий от автора

Если в Ваших "чертогах разума" также есть интересные задачки или комментарии по задачам из статьи, то добро пожаловать в комментарии!

P.S. Лайк, репост, подписка!

Другие ссылки

Похожих тем не нашел, но если подскажите, то добавлю сюда.

Авторские разработки

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 02.12.19 09:31 Сейчас в теме
если бы на инфостаре было "поле чудес", то тс стоял бы с микрофоном и принимал банки с огурцами.

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

Как правило, в реальной задаче, отладчик покажет где косяк если лень было включать мозг при написании кода.
Просто так решать эти кроссворды имеет смысл на пенсии.
wolfsoft; Aili; asved.ru; CodeNull; narutouzumaki_13; user764477; +6 Ответить
2. YPermitin 8272 02.12.19 09:33 Сейчас в теме
(1) позитив детектед!
Чародей; +1 Ответить
55. GreenDragon 04.12.19 11:08 Сейчас в теме
(2) детектив позитивед.

Юрий, мне показалось, что в заголовке отсылка к Елене Рассохиной?
56. YPermitin 8272 04.12.19 11:12 Сейчас в теме
57. GreenDragon 04.12.19 11:14 Сейчас в теме
(56) значит показалось. g "Неновости". В самом начале каждого выпуска фраза про "странные и не очень".
58. YPermitin 8272 04.12.19 11:20 Сейчас в теме
(57) что-то знакомое, но не могу вспомнить. Вечером гляну)

Плагиат сделал случайно)))
60. YPermitin 8272 04.12.19 18:03 Сейчас в теме
(57) посмотрел.

- Совпадение?
- Не думаю :)

Видимо где-то услышал и "под корку" записалось.
71. wolfsoft 2421 09.12.19 09:40 Сейчас в теме
Женский вариант: "Корову бы ей, а лучше две" (с)
Мужской вариант: "Когда коту нечего делать, он ..." (с)
74. jobkostya1c8 90 06.02.20 17:13 Сейчас в теме
3. Hans 1 02.12.19 09:36 Сейчас в теме
сделай обработку в которой будет весь этот код. Либо под спойлером ответы с комментариями.
succub1_5; PLAstic; +2 Ответить
4. YPermitin 8272 02.12.19 09:38 Сейчас в теме
(3) а зачем?

Тогда весь смысл скатиться к "скачать и потыкать" кнопки.
work.sable; +1 Ответить
5. Hans 1 02.12.19 09:41 Сейчас в теме
(4)весь смысл будет - сначала на бумажке ответить, а потом скачать и проверить. А по твоей схеме каждый на бумажке ответит, потом будет все это пилить в обработке, потом проверять.
narutouzumaki_13; +1 Ответить
6. YPermitin 8272 02.12.19 09:44 Сейчас в теме
(5) лучше самому. Ответов смысла нет добавлять, там же все проще некуда.
work.sable; +1 Ответить
18. PLAstic 252 02.12.19 16:33 Сейчас в теме
(6) Да всем будет лень вбивать это всё в обработку. Я порешал 1-10, хотел глянуть ответы и плюнул, т.к. прочитал, что их не будет. Жаль потраченное время, хотя идея неплохая была.
Hans; narutouzumaki_13; +2 Ответить
21. YPermitin 8272 02.12.19 16:40 Сейчас в теме
7. DoctorRoza 02.12.19 09:46 Сейчас в теме
Автору спасибо! Порадовал!
kuzyara; YPermitin; +2 Ответить
9. dhurricane 02.12.19 11:35 Сейчас в теме
Не ожидал, конечно, подвоха в 15-ом задании. :-) Вы специально написали в словах букву "е" латиницей и кириллицей?
10. YPermitin 8272 02.12.19 11:38 Сейчас в теме
(9) да. Вот только подсветка синтаксиса на ИС меня выдает :)))
11. dhurricane 02.12.19 11:40 Сейчас в теме
(10) Сколько не глядел, не увидел разницы. Только отладчик подсказал.
12. YPermitin 8272 02.12.19 11:42 Сейчас в теме
(11) тогда я рад, что не сделал вашу жизнь проще :)))))
Free1CforAll; acanta; +2 Ответить
13. Quantum81 02.12.19 13:10 Сейчас в теме
Супер!
Показывает как мы все любим отладчик. Такая инфа в голове вообще не держится :(
davdykin; YPermitin; +2 Ответить
14. YPermitin 8272 02.12.19 13:27 Сейчас в теме
15. sergvagner2018 02.12.19 14:07 Сейчас в теме
(0) Как-то я приуныл после задач :))
YPermitin; acanta; +2 Ответить
16. herfis 363 02.12.19 14:18 Сейчас в теме
Думаю, нет смысла давать ответы на задачи, которые легко проверить в конфигураторе.

Как это нету? Я готов заплатить старманю, просто чтобы не тратить время на проверку своих ожиданий.
Самому проверять лениво :)
TreeDogNight; davdykin; YPermitin; PLAstic; +4 Ответить
17. YPermitin 8272 02.12.19 14:21 Сейчас в теме
(16) возьмите себя в руки :)

Да просто это будут нудные ответы. Такле за стартмани стыдно отдавать.
19. PLAstic 252 02.12.19 16:35 Сейчас в теме
(17) Вот-вот, уже прямым текстом говорят, что чтобы оставить позитивное впечатление, даже за баксы готовы узнать правильные ответы.
20. YPermitin 8272 02.12.19 16:38 Сейчас в теме
(19) да смысл полностью теряется. Возьмите мои деньги, только не просите ответов))))
22. SantiouS 02.12.19 16:40 Сейчас в теме
Мои ответы (СПОЙЛЕР!)
25. SantiouS 02.12.19 17:22 Сейчас в теме
(22)
Продолжение (СПОЙЛЕР!)
34. YPermitin 8272 02.12.19 19:08 Сейчас в теме
(25) Круто! По некоторым задачам дал комментарий.
А так все супер)


Небольшой комментарий
SantiouS; +1 Ответить
23. SantiouS 02.12.19 16:59 Сейчас в теме
Подскажите почему в 22 задаче ошибка:
"При выборе данных из объекта в запросе не могут присутствовать соединения и объединения".
Не могу осознать как это работает :)
27. vadim1011985 76 02.12.19 17:27 Сейчас в теме
(23) При выборе из внешних источников (из ТЗ например ) нельзя объединять или соединять запросы - только помещение во временную таблицу. В запросе же происходит скрытое объединение , так как данные тянутся из двух источников
SantiouS; +1 Ответить
30. YPermitin 8272 02.12.19 18:51 Сейчас в теме
(27) все так.

Это можно объяснить техническими особенностями платформы.
Запрос к таблице значений - это такие действия платформы:
1. Создание временной таблицы
2. Загрузка данных в эту таблицу множеством запросов INSERT (в новых версиях платформы вроде бы поведение изменилось).
3. Пользуемся.

Но делать на этом этапе соединения с другими таблицами было бы неправильно или создало бы другие сложности.
Думаю, поэтому разработчики 1С и ввели эти ограничения.
24. Painted 31 02.12.19 17:19 Сейчас в теме
Первую задачу можно упростить до
Сообщить((Новый Структура) = (Новый Структура));
И вторую с третьей также.

Не?
26. SantiouS 02.12.19 17:24 Сейчас в теме
(24) Верно (на всякий случай даже в конфигураторе проверил).
Как я понимаю, то проверяются ссылки на структуру в памяти и они разные?
31. YPermitin 8272 02.12.19 18:53 Сейчас в теме
(24) можно, но какой смысл?

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

Особого смысла в этом тут нет.
41. Painted 31 03.12.19 09:32 Сейчас в теме
(31)
можно, но какой смысл?
Код можно запустить в консоли кода. В вашем варианте придется городить целую обработку.
28. herfis 363 02.12.19 17:30 Сейчас в теме
Тю. Мне сначала показалось, что все задачи с подковыркой. Типа как puzzlers в других ЯП.
32. YPermitin 8272 02.12.19 18:54 Сейчас в теме
(28) рад, что Вы со всеми задачами сразу справились без отладки.
29. Rustig 1412 02.12.19 18:37 Сейчас в теме
Возврат ((Новый Структура) = (Новый Структура));

Выскажу свое мнение по задаче №1.
НЕ проверял на платформе.

Только свое мнение. Обсуждение приветствуется.

Команда Новый Структура - по идее создает новый объект с типом "Структура", при этом в памяти резервируется ячейка памяти (адрес) под этот объект...
Поэтому в итоге мы сравниваем два объекта с разной адресацией в памяти. Значит на выходе сравнение должно дать или ошибку или Ложь - так как объекты разные. Ошибку может дать в связи с тем, что мы не знаем что заложено в платформу при сравнении подобных объектов.
Возможно при сравнении подобных объектов вызывается исключение, и в результате появляется ошибка.
YPermitin; +1 Ответить
33. YPermitin 8272 02.12.19 18:55 Сейчас в теме
(29) да, все так.

Мы тут сравниваем абсолютно разные объекты и платформа нам говорит, что они не равны.

Чем-то похоже на сравнение объектов в каком-нибудь C#.
35. PLAstic 252 02.12.19 21:59 Сейчас в теме
36. YPermitin 8272 03.12.19 02:18 Сейчас в теме
37. MikhailDr 03.12.19 08:02 Сейчас в теме
Не хватает комментариев к задачкам. По многим я так и не понял, почему платформа ведет себя именно так, а не иначе. Но в целом очень занимательно.
YPermitin; +1 Ответить
38. YPermitin 8272 03.12.19 08:45 Сейчас в теме
(37) спасибо.

Можете написать вопросы здесь.
39. ids79 5366 03.12.19 08:54 Сейчас в теме
Большинство задач - ожидаемо. Но некоторые интересные, спасибо.
Задача 21 - забыл, что результат временной таблицы одну строку возвращает )).
Ну и задача 15 - классика!
YPermitin; +1 Ответить
40. Lenten 24 03.12.19 09:21 Сейчас в теме
а почему в 24 значение не поменялось
YPermitin; +1 Ответить
43. YPermitin 8272 03.12.19 10:29 Сейчас в теме
(40) потому что в вызываемой функции присутствует Знач. То есть передача параметра осуществляется по значению, копированием в память на время вызова.
45. Rabot 77 03.12.19 11:10 Сейчас в теме
(40) "Задача24НаСервере(Знач ПереданноеЗначение)" - ключевое слово "Знач" перед параметром означает, что изменение его в процедуре/функции не влияет на переменную в источнике, получается такой параметр это не ссылка не переменную, а её копия.
Не знаю как это "по-научному" объяснить)
PLAstic; Lenten; +2 Ответить
42. akimych 191 03.12.19 10:20 Сейчас в теме
P.S. Лайк, репост, подписка!
Вот эта фраза к чему?
Инфостарт теперь в инстастарт превращается...
44. YPermitin 8272 03.12.19 10:30 Сейчас в теме
(42) это называется - юмор.

Не создавать же публикации в книжном стиле.
46. ids79 5366 03.12.19 14:10 Сейчас в теме
В продолжении задачки 24 вариант с объектом.
Там не все так просто:

&НаКлиенте
Процедура ПередачаПоСсылкеКлиент(Параметр)
Список= Новый СписокЗначений;
Список.Добавить("привет");
Список.Добавить("привет");
Параметр = Список;
КонецПроцедуры

&НаКлиенте
Процедура ПередачаПоЗначениюКлиент1(Знач Параметр)
Список= Новый СписокЗначений;
Список.Добавить("привет");
Список.Добавить("привет");
Параметр = Список;
КонецПроцедуры

&НаКлиенте
Процедура ПередачаПоЗначениюКлиент2(Знач Параметр)
Параметр.Добавить("привет");
КонецПроцедуры

&НаСервере
Процедура ПередачаПоСсылкеСервер(Параметр)
Параметр.Добавить("привет");
КонецПроцедуры

&НаСервере
Процедура ПередачаПоЗначениюСервер(Знач Параметр)
Параметр.Добавить("привет");
КонецПроцедуры

&НаКлиенте
Процедура ПередачаПараметровКлиентСервер()

Список1= Новый СписокЗначений;
Список1.Добавить("привет");
Список2 = Список1.Скопировать();
Список3 = Список1.Скопировать();
Список4 = Список1.Скопировать();
Список5 = Список1.Скопировать();

ПередачаПоСсылкеКлиент(Список1);
ПередачаПоЗначениюКлиент1(Список2);
ПередачаПоЗначениюКлиент2(Список3);
ПередачаПоСсылкеСервер(Список4);
ПередачаПоЗначениюСервер(Список5);

Сообщить(Список1.Количество());
Сообщить(Список2.Количество());
Сообщить(Список3.Количество());
Сообщить(Список4.Количество());
Сообщить(Список5.Количество());

КонецПроцедуры

У кого какие варианты?
user695999_ivan.diak; YPermitin; +2 Ответить
49. YPermitin 8272 03.12.19 19:40 Сейчас в теме
(46) я честно постарался в уме прокрутить, а потом проверил в отладчике.
Все таки промахнулся)))

Мой ответ



Ошибся в методе "ПередачаПоСсылкеСервер", почему-то решил что в итоге список не изменится :) Явная ошибка)))

Правильный ответ
50. dhurricane 03.12.19 19:50 Сейчас в теме
(46) Вроде так:
Список1 - 2 (инициализировали переданный в процедуру список новым с двумя значениями)
Список2 - 1 (инициализировали параметр, оригинал остался с одним значением)
Список3 - 2 (добавили в список элемент по переданной ссылке)
Список4 - 2 (список скопировался на сервер, там ему добавили элемент, затем список вернулся обратно)
Список5 - 1 (аналогично предыдущему пункту, только сам список не возвращается на клиент)

За ликбез по последнему пункту спасибо Андрею Овсянкину.
user695999_ivan.diak; ids79; YPermitin; +3 Ответить
51. YPermitin 8272 03.12.19 19:53 Сейчас в теме
53. ids79 5366 04.12.19 08:36 Сейчас в теме
(50)Все верно. Да, спасибо Андрею.
Небольшое дополнение:
Список1 - передаем ссылку на объект. В процедуре присваиваем ссылке ссылку на новый объект. В точке вызова имеем новую ссылку и новый объект.
Список2 - передаем копию ссылки, объект остается один. Присваиваем копии ссылки ссылку на новый объект. Ссылка в точке вызова и изначальный объект остаются без изменения.
Список3 - передаем копию ссылки, объект остается один. Меняем по копии ссылки сам объект. В точке вызова ссылка та же, объект изменен.
47. Quantum81 03.12.19 19:13 Сейчас в теме
у меня 11 ошибок. Если можно 15ую за ошибку считать. С толку в таком контексте может здорово сбить.
В 12 попался, а не должен был! :)
Про потоки это вообще что было ... :))))
YPermitin; +1 Ответить
48. YPermitin 8272 03.12.19 19:36 Сейчас в теме
(47) всего 11, это прям круче некуда)

Про потоки - изначально я хотел сделать другую задачу, но получилась эта :D
54. Quantum81 04.12.19 11:03 Сейчас в теме
Кстати, шутки шутками, а не давно едва не пришлось решать задачу с потоками.
Необходимо было передавать большие файлы(видео) с сервера на клиент. Когда одной командой получаешь из временного хранилища, то всё замирает и никак не реагирует. Уже собирался резать файл на кусочки двоичных данных с помощью потоков и раскладывать по временным хранилищам и на клиент отправлять массив адресов хранилищ.
Но обошлись предупреждающей табличкой :)
YPermitin; +1 Ответить
59. batsy66 56 04.12.19 16:34 Сейчас в теме
Закинул всё в обработку: infostart.ru/public/1163257/ Публикуется с разрешения автора
Hans; YPermitin; +2 Ответить
61. SlavaKron 04.12.19 22:58 Сейчас в теме
Как вам такое:
ТипЗнч(Метаданные.ПодпискиНаСобытия.ПодпискаНаСобытие1.Событие) = Тип("Строка")
Олсо, попробуйте такое на клиент передать. Фантомные боли 1С.
YPermitin; +1 Ответить
62. Hans 1 05.12.19 12:54 Сейчас в теме
16 правильных ответов.
YPermitin; +1 Ответить
63. bulpi 172 05.12.19 22:24 Сейчас в теме
В задаче 2 конструктор Новый Массив(0) у меня выдает ошибку. Релиз 8.3.13. Надо так : Новый Массив или Новый Массив(1)
64. bulpi 172 05.12.19 22:57 Сейчас в теме
Задача 11 :
ХранилищеОбщихНастроек.Сохранить("МоеЗначение", "МойКлюч", Неопределено);

Плохой пример. В результате получается Неопределено . И неясно, это мы достали Неопределено из хранилища, или там просто ничего нет. Хороший пример :
ХранилищеОбщихНастроек.Сохранить("МоеЗначение", "МойКлюч", 1);
65. bulpi 172 05.12.19 23:24 Сейчас в теме
Задача 17:
Похоже, в этой строке должно быть что-то более интересное :
Запись.ЗначениеПоиска = "ЗначениеR39;поиска";
Иначе все очевидно.
66. bulpi 172 05.12.19 23:47 Сейчас в теме
Задача 26 очевидно некорректна. Результат зависит от многих условий.
67. YPermitin 8272 06.12.19 06:16 Сейчас в теме
(66) по задачам все так и было задумано.

Вы молодец!
68. CSiER 29 06.12.19 08:24 Сейчас в теме
К 24 можно добавить:
&НаКлиенте
Процедура Команда1(Команда)
	стр = "Завтрак";
	Задача31НаСервере(стр, стр, стр);
	Сообщить(стр);
КонецПроцедуры

&НаСервере
Процедура Задача31НаСервере(Парам1, Парам2, Парам3)	
	Парам1 = "Обед";
	Парам2 = "Ужин";	
КонецПроцедуры
Показать

Объяснение
YPermitin; +1 Ответить
69. starik-2005 2140 07.12.19 10:45 Сейчас в теме
Блин, я думал тут задачи реальные типа найти циклические сцылки, а тут просто задачи на интерпретацию кода. Я только последнюю глянул - там ложь будет. Печаль...
YPermitin; +1 Ответить
70. YPermitin 8272 07.12.19 10:49 Сейчас в теме
(69) ждем более качественный материал от Вас теперь)))
72. logarifm 1072 09.12.19 12:34 Сейчас в теме
Надо было выложить обработку с этими задачами, а то если честно проверять результат лень :) надо открывать конфигуратор пилить обработку.
YPermitin; +1 Ответить
73. YPermitin 8272 09.12.19 12:46 Сейчас в теме
(72) для ленивых уже сделали отдельную публикацию))) Спасибо коллеге)

https://infostart.ru/public/1163257/
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

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

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

15300 руб.

22.04.2020    2926    23    2    

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

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

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

27.01.2020    14284    0    ids79    26    

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

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

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

15.01.2020    15006    0    John_d    22    

Последовательности событий. Шпаргалка

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

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

30.12.2019    10248    0    kuzyara    33    

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

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

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

10.12.2016    33947    0    unichkin    45    

Активный 2019 год на Инфостарт

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

О прошедшем 2019 годе в 100 и 500 словах.

26.12.2019    4337    0    YPermitin    24    

Решение задач по мотивам статьи "30 задач. Странных и не очень"

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

Обработка по мотивам статьи: https://infostart.ru/public/1161686/

1 стартмани

04.12.2019    2170    2    batsy66    9    

Командный интерпретатор для 1С

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

Инструмент для выполнения команд CMD / PowerShell из 1С.

2 стартмани

15.11.2019    9382    20    YPermitin    41    

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

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

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

15.10.2018    25891    0    tormozit    100    

Пакетная выгрузка / загрузка внешних отчетов и обработок

Прочие инструменты разработчика Менеджеры внешних отчетов v8 1cv8.cf Абонемент ($m)

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

2 стартмани

04.11.2019    6961    24    YPermitin    22    

Обозреватель криптографии

Инструментарий разработчика Защита ПО v8 Абонемент ($m)

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

2 стартмани

21.10.2019    8024    10    YPermitin    10    

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

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

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

01.10.2019    24781    0    Yashazz    44    

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

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

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

20.09.2012    73432    0    tormozit    129    

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

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

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

06.09.2019    33976    0    rpgshnik    59    

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

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

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

05.09.2019    36177    0    ids79    52    

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

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

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

05.09.2019    21127    0    YPermitin    24    

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

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

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

11.07.2007    44560    0    tormozit    38    

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

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

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

03.09.2019    21587    0    YPermitin    80    

Анализ производительности APDEX

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Отчет для просмотра и анализа замеров производительности в конфигурациях на базе БСП.

31.08.2019    8953    2    YPermitin    7    

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

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

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

17.08.2019    25279    0    ids79    16    

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

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

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

10.09.2017    40269    0    tormozit    72    

Путеводитель по истории релизов

WEB v8 1cv8.cf Абонемент ($m)

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

5 стартмани

13.08.2019    10553    10    YPermitin    18    

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

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

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

08.08.2019    54406    0    ids79    36    

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

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

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

02.08.2019    25926    0    avalakh    21    

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

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

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

25.04.2019    13985    0    m-rv    2    

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

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

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

26.07.2019    41261    0    ids79    11    

Просмотр и анализ структуры базы данных (отчет на СКД)

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

Отчет для просмотра и анализа структуры базы данных с поддержкой файловых баз (ограниченный режим), а также баз на SQL Server и PostgreSQL.

5 стартмани

24.07.2019    16874    144    YPermitin    27    

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

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

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

17.07.2019    27998    0    ids79    27    

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

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

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

16.04.2019    17571    0    m-rv    17    

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

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

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

09.07.2019    21152    0    YPermitin    13    

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

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

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

04.07.2019    16344    0    SeiOkami    50    

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

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

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

25.06.2019    41577    0    ids79    17    

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

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

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

01.06.2018    27248    0    m-rv    21    

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

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

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

11.06.2019    21190    0    dmurk    144    

Как проходит собеседование 1С-разработчика в крупную IT-компанию

Личная эффективность v8 1С:Франчайзи, автоматизация бизнеса Россия Бесплатно (free)

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

21.05.2019    11727    0    lexian    370    

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

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

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

16.05.2019    34913    0    YPermitin    30    

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

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

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

05.12.2017    25546    0    itriot11    34    

Выполнение внешней обработки в фоновом задании

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

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    23879    0    Eret1k    23    

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

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

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

07.04.2019    28857    0    ellavs    126    

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

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

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

28.03.2019    22791    0    ellavs    86    

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

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

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

27.01.2016    70584    0    Serginio    108    

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

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

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

14.03.2019    25936    0    YPermitin    53    

Баг или фича? Неожиданное поведение платформы

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

Рассмотрим несколько случаев неожиданного поведения платформы 1С, а также что с этим можно cделать.

18.02.2019    19753    0    YPermitin    89    

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)

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

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    30855    0    ids79    9    

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

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

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

10.11.2018    30273    0    ids79    40    

EnterpriseData – часть 2. Процесс выгрузки данных

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

Основные этапы выгрузки данных через ED, обработчики событий выгрузки, правила обработки данных, правила конвертации объектов, конвертация свойств первого и второго этапов, процедуры БСП, используемые при выгрузке данных, структура «КомпонентыОбмена».

26.12.2018    22536    0    ids79    31    

Новый подход к обмену данными EnterpriseData

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

Хочу предложить Вашему вниманию цикл статей, посвященных обмену данными через универсальный формат (EnterpriseData или ED).

14.12.2018    34565    0    ids79    72    

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

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

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

25.07.2018    26101    0    grumagargler    26    

EnterpriseData - пример доработки правил конвертации без использования КД 3.0 в расширении конфигурации

Практика программирования Обмен через XML v8 v8::УФ БП3.0 УТ11 Россия Бесплатно (free)

В статье подробно описан реальный пример доработки обмена данными через EnterpriseData (универсальный формат обмена) между конфигурациями УТ 11.4 и Бухгалтерия 3.0

16.11.2018    31300    0    ids79    32    

Программное заполнение пользовательских параметров и отборов СКД

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

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

13.11.2018    36706    0    Unk92    19    

Произвольный код в фоновом режиме

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

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

03.09.2018    23589    0    nikita0832    42    

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C

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

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

23.08.2018    34510    0    Rain88    46