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

Публикация № 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 272 09.01.20 11:15 Сейчас в теме
4. Dream_kz 113 09.01.20 12:38 Сейчас в теме
Её можно использовать только в виртуальных таблицах

временных
sasha777666; +1 Ответить
5. s22 19 09.01.20 13:53 Сейчас в теме
Фигня.
АВТОНОМЕРЗАПИСИ начинаеться не с 1, а с произвольного числа.
для АВТОНОМЕРЗАПИСИ гарантируеться только то, что следующее будет больше предыдущего. Не более
kalyaka; khvolkova; tps_01; sasha777666; BigB; harmer; +6 Ответить
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 1096 11.01.20 15:13 Сейчас в теме
(17)
8.3.14.1779 postgres 9.6

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

Описание:

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

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

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

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

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

● в выражениях языка запросов.
Показать
KUAvanesov; dvissarov5; Cyberhawk; Mahon83; igee12; SergeRSA; aspirin4eg; sulfur17; Bassgood; +9 Ответить
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 Сейчас в теме
Спасибо!
Век живи - век учись! :)
41. Qarasique 20.02.21 13:26 Сейчас в теме
Если у вас номер строки начинается не с единицы:

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

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	МИНИМУМ(Данные.НомерСтроки) КАК МинимальныйНомерСтроки
ПОМЕСТИТЬ ВТ_МинимальныйНомерСтроки
ИЗ
	ВТ_Данные КАК Данные
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Данные.НомерСтроки - ВТ_МинимальныйНомерСтроки.МинимальныйНомерСтроки + 1 КАК НомерСтроки,
	Данные.Номенклатура КАК Номенклатура
ИЗ
	ВТ_Данные КАК Данные,
	ВТ_МинимальныйНомерСтроки КАК ВТ_МинимальныйНомерСтроки
Показать
Оставьте свое сообщение

См. также

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

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

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

28.12.2020    4416    comol    22    

Последний раз про срез последних (на каждую дату в запросе)

Инструментарий разработчика Практика программирования Консоль запросов Универсальные функции v8 v8::Запросы Бесплатно (free)

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

15.02.2021    2848    randomus    47    

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

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

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

29.10.2020    955    antonivan    5    

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

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

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

20.10.2020    2926    antonivan    17    

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

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

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

10.12.2016    38457    unichkin    74    

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

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

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

30.08.2020    10954    quazare    33    

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

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

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

29.04.2020    7856    the1    38    

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

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

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

15.04.2020    3879    ProfessionStore    3    

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

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

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

15.10.2018    32069    tormozit    104    

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

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

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

13.04.2020    6790    ProfessionStore    4    

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

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

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

12.04.2020    5418    ProfessionStore    11    

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

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

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

11.04.2020    7535    ProfessionStore    9    

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

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

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

20.09.2012    79315    tormozit    131    

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

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

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

11.04.2020    7076    ProfessionStore    25    

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

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

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

10.04.2020    7299    ProfessionStore    4    

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

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

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

10.04.2020    9064    ProfessionStore    14    

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

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

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

11.07.2007    50074    tormozit    48    

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

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

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

27.01.2020    39308    ids79    26    

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

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

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

15.01.2020    30594    John_d    22    

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

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

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

10.09.2017    46764    tormozit    74    

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

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

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

30.12.2019    23292    kuzyara    38    

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

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

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

02.12.2019    18851    YPermitin    60    

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

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

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

26.11.2019    4153    Lupeykin    9    

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

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

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

25.04.2019    16426    m-rv    2    

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

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

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

22.11.2019    9853    Sibars    19    

Простейший пример создания бизнес-процессов

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

Простой пример создания бизнес-процессов в несколько шагов. Может пригодиться при первом знакомстве с ними или для решении задач экзамена 1С:Специалист по платформе.

20.11.2019    20958    YPermitin    18    

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

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

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

07.10.2019    33204    HostHost    41    

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

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

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

16.04.2019    20966    m-rv    17    

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

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

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

01.10.2019    40274    Yashazz    50    

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

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

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

25.09.2019    25006    YPermitin    40    

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

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

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

19.09.2019    26295    sertak    9    

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

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

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

01.06.2018    32325    m-rv    21    

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

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

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

18.09.2019    20310    YPermitin    36    

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

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

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

18.09.2019    18222    feva    42    

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

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

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

17.09.2019    3806    toxilamer    18    

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

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

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

05.12.2017    28852    itriot11    34    

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

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

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

06.09.2019    67416    rpgshnik    68    

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

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

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

05.09.2019    58356    ids79    55    

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

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

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

05.09.2019    33276    YPermitin    24    

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

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

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

27.01.2016    78399    Serginio    113    

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

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

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

03.09.2019    27069    YPermitin    80    

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

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

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

17.08.2019    35309    ids79    16    

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

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

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

08.08.2019    107196    ids79    63    

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

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

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

10.11.2018    37415    ids79    40    

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

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

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

02.08.2019    44057    avalakh    26    

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

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

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

31.07.2019    29271    json    15    

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

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

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

26.07.2019    76168    ids79    14    

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

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

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

25.07.2018    30141    grumagargler    31    

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

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

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

24.07.2019    30273    skv_79    35    

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

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

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

17.07.2019    39958    ids79    27    

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

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

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

09.07.2019    28374    YPermitin    14