Нумерация строк в запросе методами платформы

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

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

запрос автонумерация

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

    Для нумерации строк запроса необходимо воспользоваться встроенной функцией АВТОНОМЕРЗАПИСИ().

Её можно использовать только во временных таблицах. Более подробно можно посмотреть в справке. Всё просто. Ниже приведен небольшой пример:

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

ВЫБРАТЬ
	Тест.Ссылка КАК Ссылка,
	АВТОНОМЕРЗАПИСИ() КАК Номер
ПОМЕСТИТЬ ВТ
ИЗ
	Справочник.Тест КАК Тест
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ВТ.Ссылка КАК Ссылка,
	ВТ.Номер КАК Номер
ИЗ
	ВТ КАК ВТ

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. lmnlmn 64 09.01.20 11:05 Сейчас в теме
Вообще пронумеровать строки в запросе быстрее программно при его выводе. Данная функция облегчает жизнь при сложной обработке данных во временных таблицах. Теперь можно избавиться от сложных связей с ВТ. Еще стоит упомянуть что сия радость доступна с версии платформы 8.3.13.
Innuil; Созинов; Darklight; _7445_; sasha777666; Wilka; solary; mai_k; MsDjuice; SergeRSA; sulfur17; brr; marku; alex-l19041; +14 Ответить
2. Miracle777999111 09.01.20 11:10 Сейчас в теме
спасибо за статью, вроде мелочь но приятная =)
3. pavel_pss 269 09.01.20 11:15 Сейчас в теме
4. Dream_kz 112 09.01.20 12:38 Сейчас в теме
Её можно использовать только в виртуальных таблицах

временных
sasha777666; +1 Ответить
5. s22 19 09.01.20 13:53 Сейчас в теме
Фигня.
АВТОНОМЕРЗАПИСИ начинаеться не с 1, а с произвольного числа.
для АВТОНОМЕРЗАПИСИ гарантируеться только то, что следующее будет больше предыдущего. Не более
khvolkova; tps_01; sasha777666; BigB; harmer; +5 Ответить
9. Espiritfor 10.01.20 13:11 Сейчас в теме
(5)Все там нормально с 1 начинается.
10. s22 19 10.01.20 13:29 Сейчас в теме
(9) сделайте в одном запросе несколько временных таблиц
Сделайте в одной транзакции несколько запросов.
13. Espiritfor 10.01.20 16:03 Сейчас в теме
(10)
ВЫБРАТЬ
	Номенклатура.Артикул КАК Артикул,
	АВТОНОМЕРЗАПИСИ() КАК Номер
ПОМЕСТИТЬ ТабАртикулы
ИЗ
	Справочник.Номенклатура КАК Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Склады.Код КАК Код,
	АВТОНОМЕРЗАПИСИ() КАК Номер
ПОМЕСТИТЬ ТабСклады
ИЗ
	Справочник.Склады КАК Склады
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТабСклады.Код КАК Код,
	ТабСклады.Номер КАК Номер
ИЗ
	ТабСклады КАК ТабСклады

УПОРЯДОЧИТЬ ПО
	Номер


Код	        Номер
00001	1
00002	2
00003	3
00004	4
00005	5
00006	6
00009	7
00010	8
00011	9
00012	10
00013	11
00014	12
00015	13
00016	14
00017	15
00018	16
00019	17
00020	18
00021	19
00100	20
00101	21
00102	22
00103	23
00104	24
00105	25
00106	26
00107	27
00108	28
Показать
14. s22 19 10.01.20 18:33 Сейчас в теме
просто ради прикола выполните несколько раз подряд запрос

ВЫБРАТЬ ПЕРВЫЕ 10
	Номенклатура.Артикул КАК Артикул,
	АВТОНОМЕРЗАПИСИ() КАК Номер
ПОМЕСТИТЬ ТабАртикулы
ИЗ
	Справочник.Номенклатура КАК Номенклатура
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ 
	ТабАртикулы.Артикул КАК Артикул,
	АВТОНОМЕРЗАПИСИ() КАК Номер,
	ТабАртикулы.Номер КАК Номер1
ПОМЕСТИТЬ ТабАртикулы2
ИЗ
	ТабАртикулы КАК ТабАртикулы
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ТабАртикулы2.Артикул,
	ТабАртикулы2.Номер,
	ТабАртикулы2.Номер1
ИЗ
	ТабАртикулы2 КАК ТабАртикулы2
Показать



результат бывает и такой

Артикул Номер Номер1
31 31
32 32
33 33
34 34
00000005691 35 35
36 36
37 37
00000006383 38 38
39 39
40 40
16. Espiritfor 10.01.20 19:07 Сейчас в теме
(14)
ВЫБРАТЬ ПЕРВЫЕ 10
Номенклатура.Артикул КАК Артикул,
АВТОНОМЕРЗАПИСИ() КАК Номер
ПОМЕСТИТЬ ТабАртикулы
ИЗ
Справочник.Номенклатура КАК Номенклатура
;

////////////////////////////////////////////////////////////­­////////////////////
ВЫБРАТЬ
ТабАртикулы.Артикул КАК Артикул,
АВТОНОМЕРЗАПИСИ() КАК Номер,
ТабАртикулы.Номер КАК Номер1
ПОМЕСТИТЬ ТабАртикулы2
ИЗ
ТабАртикулы КАК ТабАртикулы
;

////////////////////////////////////////////////////////////­­////////////////////
ВЫБРАТЬ
ТабАртикулы2.Артикул,
ТабАртикулы2.Номер,
ТабАртикулы2.Номер1
ИЗ
ТабАртикулы2 КАК ТабАртикулы2

Показать

(14)

Вы, конечно, не поверите, но ничего не меняется, выполняя ваш запрос N раз.

Допускаю, что при определенных условиях может возникать подобная ситуация, но я бы лучше перепроверил где-нибудь еще, чтобы исключить глюк системы.
Проверял на 8.3.13.1865
17. s22 19 10.01.20 19:13 Сейчас в теме
(16)
Вы, конечно, не поверите, но ничего не меняется, выполняя ваш запрос N раз.

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

8.3.14.1779 postgres 9.6
19. Bassgood 1084 11.01.20 15:13 Сейчас в теме
(17)
8.3.14.1779 postgres 9.6

Могу предположить что дело в СУБД - попробуйте то же самое проделать на SQL Server
20. Espiritfor 13.01.20 07:50 Сейчас в теме
(19)На ИТС довольно забавное описание:
АВТОНОМЕРЗАПИСИ

Описание:

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

Не поддерживается использование функции АВТОНОМЕРЗАПИСИ() в следующих случаях:

● в запросах, содержащих ОБЪЕДИНИТЬ на верхнем уровне,

● в запросах, которые не формируют временную таблицу,

● вне списка выборки,

● в выражениях языка запросов.
Показать
dvissarov5; Cyberhawk; Mahon83; igee12; SergeRSA; aspirin4eg; sulfur17; Bassgood; +8 Ответить
24. MsDjuice 104 14.01.20 16:41 Сейчас в теме
(17)После выполнения нужно удалять временную таблицу
25. s22 19 14.01.20 16:51 Сейчас в теме
(24) не помогает. Иногда даже в одном запросе нумерация идет по возрастанию.
15. s22 19 10.01.20 18:54 Сейчас в теме
6. aha_1 10.01.20 09:37 Сейчас в теме
Все, что из запроса переносится в программный код, априори замедляет работу системы. Возможности языка запросов развивать надо, если ресурсы для этого имеются, а не рассказывать про необходимость "читаемости кода".
7. lmnlmn 64 10.01.20 10:59 Сейчас в теме
(6) Ни разу не априори. Надо от задачи и объемов данных смотреть. В некоторых ситуациях программная обработка избавляет от перевалки кучи данных по временным таблицам и от выполнения длиннющих и сложных запросов. Надо здравым смыслом пользоваться.
denver069; min-max_pro; MsDjuice; kiruha; Alexx48; Артано; +6 Ответить
8. aha_1 10.01.20 11:21 Сейчас в теме
А в программном коде разве мы не те же данные/таблицы обрабатываем? Только средствами программного кода, а не языка запросов, из-за скудности последнего.
11. lmnlmn 64 10.01.20 13:35 Сейчас в теме
(8) Дело в том что из-за скудности языка запросов приходится гонять существенные объемы данных по временным таблицам и при этом всем строить весьма витиеватые запросы. В то время как при программной обработке можно обойтись меньшими выборками данных.
12. aha_1 10.01.20 14:47 Сейчас в теме
Мы с Вами говорим практически об одном и том же, акцентируя внимание на разные моменты. Вы абсолютно правы, что при нынешнем состоянии языка запросов программная обработка данных иногда предпочтительнее. Я лишь обращаю внимание на причину этой ситуации.
Bassgood; +1 Ответить
22. tamepjlah 2 14.01.20 07:21 Сейчас в теме
Вот объясните мне для чего нужен этот автономерзаписи, когда есть индекс строки? Для просмотра в консоле запросов? Уже сколько времени прошло, когда его ввели, а я так ни разу и не придумал ему применение...
23. lmnlmn 64 14.01.20 08:40 Сейчас в теме
Автономер записи удобно использовать как несоставной первичный ключ во временных таблицах. Это сильно упрощает связи в запросах с временными таблицами и снижает нагрузку на СУБД.
mvxyz; sergathome; +2 Ответить
26. MuxaH 17.01.20 06:39 Сейчас в теме
(23) Вот-вот, помнится мне, как я парился, чтоб создать уникальный ключ строки во временной таблице... А с этой штукой прям не жизнь , а сказка :) Даже и пофиг, что не с 1 может начинаться
sergathome; +1 Ответить
27. Vodoley 1 05.06.20 15:09 Сейчас в теме
(26) соглашусь. Но вот если нужно, чтобы записи нумеровались не произвольным образом а в порядке сортировки каких-то полей... то только "индексировать по" неявным образом приведет к нужному результату?
29. Darklight 27 31.08.20 16:08 Сейчас в теме
(27)Вы ещё функцию вычисления хеш-ключа по набору полей пожелайте.
Ну и, до кучи - функцию генерации UUID.

Тут скорее полезность в том, что можно заранее вычислить временную таблицу с каким-то набором ключевых полей - и вот так в запросе её пронумеровать. А затем прилепить её к другим таблицам (по ключевым полям) и/или сделать из неё/них разные выборки (этот подход любят в типовом коде 1С) - а потом их соединять друг с другом - но уже не по ключевым полям - по вот такому полю-нумератору (мэппинг сложно-составного ключа к Числу - но надо делать заранее - и везде использовать готовый набор).

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


Другое дело - что такая фишка открывает новые возможности, например с такой нумерацией гораздо проще написать алгоритмы устранения дублей, или сделать выборку, скажем, только чётных строк, или выбрать не только первые N, а наоборот, скажем, пропустить первые N записей, или выбрать, например из середины с M по N (правда с учётом, что нумерация может быть не с 0(1) а с произвольного числа такой код немного усложняется - но всё-таки не становится излишне запутанным!

Так же заметно упрощаются алгоритмы покадрового вычисления и вывода результатов запросов!
31. Vodoley 1 10.09.20 09:12 Сейчас в теме
(29)
Вы ещё функцию вычисления хеш-ключа по набору полей пожелайте.
Ну и, до кучи - функцию генерации UUID.

хеш мне пока был без надоности.. а вот почему к ID записей объектных таблиц нельзя обращаться в запросах?

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

В любом случае запросом такие штуки сложновато решать, т.к. не учитываются сложности взаимодействия между записями: каждая запись одной таблы мэтчится с записями другой независимо - а ведь выбор одной из возможностей изменяет множество доступной для сопоставления оставшимся.. Т.е. по хорошему такой выбор не сделать (предполагаю) реляционной алгеброй... (ну пришлось там пост обработкой запроса дотачивать).
32. Darklight 27 10.09.20 11:40 Сейчас в теме
(31)Вашу задачу из вашего описания понять очень сложно. Как я написал выше, атонумерацию как ключ сопоставления можно эффективно использовать - если эти ключи-номера рассчитаны единожды во временной таблице - и эта временна таблица далее либо соединяется (по полным ключам) к другим таблицам, либо из уже делаются все остальные выборкии подвыборким, которые далее уже соединяются между собой. Вот именно все дальнейшие соединения уже можно сделать но нумерованному ключу, но генерировать его нужно только в одной верхней выборке!
33. Vodoley 1 10.09.20 17:06 Сейчас в теме
(32) но если бы была возможность нумеровать не в произвольном порядке (ведь сейчас непредсказуемо какая запись получить меньший автономер а какая больший) то кроме уникальности записей появляется возможность их ранжировать (во временных таблицах), если такое ранжирование нужно. Кажется если сделать индексацию (по полям) то записи (в ВТ) будут пронумерованы в порядке этих индексов )
34. Darklight 27 10.09.20 17:20 Сейчас в теме
(33)Вот, честно, не могу понять, что за управляемую нумерацию Вы хотите. Автонумерация - это просто нумерация. Если Вы хотите управлять номером - конструкции "ВЫБОР", "ГДЕ", "ПЕРВЫЕ" и "УПОРЯДОЧИТЬ", а грегатные к Вашим услугам. Просто ранжирование - это применение некой функции-условия - вот её Вы должны написать сами. И не понимаю, как бы вы применяли "Автонумерацию", если бы она всегда начиналась с 0 (она и так автоупорялоченна согласно сортировки), кроме того что я уже выше написал - с единомоментной нумерацией, и а весь функционал дальше уже оформляется поствыборками!
35. Vodoley 1 11.09.20 08:40 Сейчас в теме
(34) неважно с нуля или не с нуля - я о том, чтобы сначала выстроить записи в определенном порядке (во временной таблице) и потом их в этом же порядке пронумеровать.
неявным образом помогает индексировать.
36. Darklight 27 11.09.20 09:37 Сейчас в теме
(35)Я вас не понимаю. Автонумерация во одной временной таблице идёт от N до M (где M > N) - без пропусков, в строгом порядке сортировки - в чём затык?
37. Vodoley 1 11.09.20 14:00 Сейчас в теме
(36)во временной таблице нет никакой сортировки. (в смысле оператор "упорядочить" отсутствует во временных таблицах.
Неявным образом применение индексирования упорядочивает записи (но это не гарантируется) и оператор Автономер - сработает _до_ индексирования. Т.е. нужно сначала ВТ индексировать, а потом в следующем запросе пакета из этой индексированной таблицы уже запросить и сделать автономер. (но опят же это все не гарантирует результат)
38. Darklight 27 11.09.20 14:57 Сейчас в теме
(37), Да "УПОРЯДОЧИТЬ ПО" нельзя применить во временной таблице без ключевого слова "ПЕРВЫЕ", но кто Вам мешает сделать вот так

ВЫБРАТЬ ПЕРВЫЕ 10000000000000000
	Номенклатура.Ссылка,
	Номенклатура.Код КАК Код,
	АВТОНОМЕРЗАПИСИ() КАК Автономер
ПОМЕСТИТЬ тз
ИЗ
	Справочник.Номенклатура КАК Номенклатура
ГДЕ
	Номенклатура.Код > "00000000005"
	И Номенклатура.Код < "000000066"

УПОРЯДОЧИТЬ ПО
	Код
Показать


Этот код у меня в базе (на MS SQL, PG, Oracle нет сейчас под рукой) отбирает только 10 записей - согласно условию отбора - и присваивает им номера от 1 до 10 согласно заданной сортировке по Коду
Созинов; +1 Ответить
39. Vodoley 1 15.09.20 14:33 Сейчас в теме
28. Serj1C 480 10.07.20 13:18 Сейчас в теме
С какой версии платформы доступно?
30. Darklight 27 31.08.20 16:10 Сейчас в теме
(28)В (1) посте указана версия 8.3.13 - причём, судя по всему, платформы, а не версия совместимости конфигурации (у меня на платформе 8.3.15 в конфигурации с версией совместимости 8.3.5 эта функция заработала)
40. KindLion 24.11.20 14:19 Сейчас в теме
Спасибо!
Век живи - век учись! :)
Оставьте свое сообщение

См. также

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

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

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

28.12.2020    3642    comol    21    

Определение количества лет между двумя датами в запросе

Практика программирования v8 v8::Запросы ERP2 БП3.0 УТ11 ЗУП3.x Бесплатно (free)

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

29.10.2020    873    antonivan    5    

Вычислить РАЗНОСТЬДАТ в рабочих днях

Практика программирования БСП (Библиотека стандартных подсистем) v8::Запросы v8::СКД ERP2 БП3.0 УТ11 ЗУП3.x Бесплатно (free)

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

20.10.2020    2719    antonivan    17    

СКД. Использование Менеджера временных таблиц в системе компоновки

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

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

29.04.2020    7255    the1    29    

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

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

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

10.12.2016    38216    unichkin    74    

Работа с запросами в 1С СКД. Отладка СКД

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

В предыдущем разделе мы изучали с вами особенности работы с запросами в СКД. Для изучения (отладки) работы различных схем компоновки данных я использовал консоль компоновки данных.

15.04.2020    3741    ProfessionStore    3    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 3

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

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

13.04.2020    6460    ProfessionStore    4    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 2

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

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

12.04.2020    5140    ProfessionStore    11    

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

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

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

15.10.2018    31664    tormozit    104    

Работа с запросами в 1С СКД. Особенности работы запросов в СКД. Часть 1

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

Все примеры разобраны с помощью консолей компоновки данных, речь о которых пойдет в предпоследнем разделе статьи.

11.04.2020    7008    ProfessionStore    8    

Работа с запросами в 1С СКД. Язык выражений СКД и подмена запросов

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

Хотя эта статья называется «Работа с запросами в 1С СКД», нельзя не упомянуть про язык выражений СКД. Да – у системы компоновки данных есть свой язык! Это не язык платформы 1С, это не язык запросов. Это еще один язык, который используется 1С в СКД для обработки полученного набора (ов) данных.

11.04.2020    6751    ProfessionStore    25    

Работа с запросами в 1С СКД. Примеры использования расширения языка запросов СКД

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

Все тонкости использования расширения языка запросов 1С для СКД вы можете изучить по ссылкам, которые приведены в предыдущей статье. Здесь мы рассмотрим конкретные кейсы применения данного расширения.

10.04.2020    6922    ProfessionStore    4    

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

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

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

20.09.2012    78980    tormozit    131    

Запросы 1С СКД. Возможности и ограничения

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

В этом цикле статей мы рассмотрим особенности работы системы компоновки данных с запросами в 1С.

10.04.2020    8575    ProfessionStore    14    

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

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

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

27.01.2020    34982    ids79    26    

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

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

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

11.07.2007    49661    tormozit    48    

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

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

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

15.01.2020    28898    John_d    22    

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

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

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

30.12.2019    21842    kuzyara    38    

Налогообложение сотрудников, работающих по ГПХ (доработка 1С:Зарплата и управление персоналом КОРП, редакция 3.1)

Зарплата Практика программирования v8::СПР v8::Запросы ЗУП3.x Россия БУ ФОМС, ПФ, ФСС Бесплатно (free)

Цель этой статьи - быстро доработать ЗУП для налогообложения сотрудников, работающих по ГПХ. Эта статья решает задачи, связанные с отсутствием в ЗУП функционала по обложению налогом работников ГПХ. На вопросы ниже вы найдете ответ в статье и решите эту задачу. Как настроить ЗУП 3, чтобы по договору ГПХ начислялись страховые взносы? У нас ситуация: есть договор ГПХ с одним человеком, который носит систематический характер и надо по нему начислять взносы, но ЗУП 3 не начисляет.

26.11.2019    4042    Lupeykin    8    

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

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

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

10.09.2017    46235    tormozit    74    

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

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

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

07.10.2019    32365    HostHost    40    

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

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

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

01.10.2019    38307    Yashazz    50    

СКД. Отчеты с картинками

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

Решение популярных кейсов с картинками в отчетах на СКД.

25.09.2019    23997    YPermitin    40    

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

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

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

25.04.2019    16342    m-rv    2    

Группировка данных в запросе (СГРУППИРОВАТЬ ПО [ГРУППИРУЮЩИМ НАБОРАМ], ИТОГИ ПО [ОБЩИЕ])

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

Для группировки данных в языке запросов 1С существуют конструкции СГРУППИРОВАТЬ ПО [ГРУППИРУЮЩИМ НАБОРАМ], ИТОГИ ПО [ОБЩИЕ]. Для новичков назначение этих конструкций не всегда очевидно, попробуем разобраться на примерах, для чего предназначена каждая из них и в чем отличие от аналогичных конструкций в языке SQL.

19.09.2019    23763    sertak    9    

СКД не только для отчетов

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

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

18.09.2019    20111    YPermitin    36    

Оповещения боту из 1С за 31 минуту

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

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

18.09.2019    17934    feva    42    

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

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

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

16.04.2019    20841    m-rv    17    

Количество NULL в запросе

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

При определении количества элементов в виде "NULL" в результирующей таблице запроса нам возвращается значение "0".

17.09.2019    3748    toxilamer    18    

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

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

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

06.09.2019    61912    rpgshnik    68    

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

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

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

05.09.2019    55863    ids79    54    

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

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

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

01.06.2018    31849    m-rv    21    

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

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

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

05.09.2019    31758    YPermitin    24    

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

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

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

17.08.2019    34181    ids79    16    

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

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

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

08.08.2019    100294    ids79    56    

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

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

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

05.12.2017    28727    itriot11    34    

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

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

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

02.08.2019    41856    avalakh    26    

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

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

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

26.07.2019    71380    ids79    12    

Как проводятся документы в типовых конфигурациях от 1С

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

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    29379    skv_79    35    

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

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

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

27.01.2016    77929    Serginio    110    

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

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

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

17.07.2019    38826    ids79    27    

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

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

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

04.07.2019    20217    SeiOkami    50    

Выборка дней рождения

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

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

26.06.2019    3377    user654641_yaga_m    6    

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

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

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

10.11.2018    36742    ids79    40    

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

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

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

25.06.2019    58189    ids79    26    

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

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

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

11.06.2019    26681    dmurk    146    

Почему вообще работает мой запрос? или Ещё раз о планах запросов

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

Другие статьи на эту тему объясняют, что такое план выполнения запроса, но не рассказывают о том, как его получить. Эта заметка призвана заполнить этот пробел. Её цель - популяризировать общедоступные инструменты получения плана запроса среди разработчиков, которые ещё не начали их использовать.

10.06.2019    9741    DataReducer    12    

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

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

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

25.07.2018    29924    grumagargler    28    

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

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

На нескольких собеседованиях это спрашивали, решил поделиться. Обычно я использую вариант №2. Остальные варианты нашел в интернете.

05.06.2019    6256    wowik    26    

Нюансы преобразования запроса СКД

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

Описание некоторых нюансов преобразования запроса в СКД.

31.05.2019    14315    waol    14    

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

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

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

16.05.2019    47661    YPermitin    30