Нумерация в отчете в 1с
Добрый день. Подскажите, пожалуйста, как в программе 1С Бухгалтерия 3.0 оформить в хронологическом порядке нумерацию авансовых отчетов? Перебивать вручную за весь год очень не хочется, в ЗУП 3.1 также нарушена нумерация (хронология) приказов в командировку. Может, есть какая-то обработка, которая позволит \»навести красоту\» в авансовых отчетах и приказах в командировку.
Добрый день, Екатерина!
В Бухгалтерия 3.0 восстановить правильную нумерацию, если она нарушена, можно автоматически для кассовых документов и СФ в обработке Экспресс-проверка (раздел Отчеты — Анализ учета).
Для остальных документов перенумерация не выполняется штатными методами.
Но можно попробовать перенумеровать через обработку Групповое изменение реквизитов (раздел Администрирование — Обслуживание — Корректировка данных).
Сейчас покажу пример, посмотрите, возможно, вам подойдет.
Открываете обработку Групповое изменение реквизитов, указываете документ «Авансовый отчет» и заполняете все как на рисунке.
Алгоритм интуитивно понятен. Отбираются данные с начала 2019 года, вам год нужно заменить на свой — его меняете в первой строчке.
Обратите внимание на 6-ю строчку: «0000-» это префикс, если у вас другой, то указываете свой.
Нажимаете кнопку «Выполнить». Программа уточнит, что не отобраны авансовые отчеты — выполнять для всех, да. можно согласиться, можно выбрать только один (любой!) документ, программа все равно работает по другому алгоритму — выборка в самой обработке не играет роли.
По заданному алгоритму программа перенумерует документы.
Вот результат.
Сделайте сначала на копии базы, чтобы убедиться в результате.
Если все получится — повторите действия в рабочей базе.
Чтобы удобно было вставить код в обработку высылаю текстом для 2021 года:
PS: только кавычки подправьте после вставки, здесь свой редактор — искажает, должны быть как на скрине.
Удачи, Екатерина! 🙂
Ирина, здравствуйте. В предложенном вами алгоритме действий у меня не получается вывести в реквизитах «Номер» (файл во вложении). Подскажите, пожалуйста, как вывести данный реквизит?
Добрый день, Екатерина.
Вы не задали сам алгоритм. Я вам его переслала. Настройте, как вам надо по датам и префиксу или используйте мой за 2021 год (при условии, что у вас номера без префиксов)
Поле алгоритма должно быть заполнено. У вас оно пустое.
Заполняется вручную.
* никаих полей вручную выбирать не нужно. Все реквизиты определяются программно из кода алгоритма.
Заполняете вручную, чтобы было как на скрине.
Я для удобства вам выслала код, который можно скопировать по CTRL+C и вставить в поле алгоритма по CTRL+V (Но подправьте кавычки, если будете вставлять из буффера текст: здесь иначе отображаются редактором. Все есть на скринах, как должно выглядеть)
Делайте первоначально на копии базы.
Ирина, здравствуйте. У меня номера с префиксом, я в алгоритме задала вместо номер 1 — номер РТБП-000001. Выходит ошибка (файл во вложении). Алгоритм и какая ошибка я вам сбросила, подскажите, пожалуйста, что неверно.
Ирина, здравствуйте. У меня номера с префиксом, я в алгоритме задала вместо номер 1 — номер РТБП-000001. Выходит ошибка (файл во вложении).Предыдущий вариант ошибки в 7-ой строке я исправила. Сейчас ошибка в строке 3, с префиксом. Алгоритм и какая ошибка я вам сбросила, подскажите, пожалуйста, что неверно, как правильно отразить номер с префиксом?
Добрый день, поле номера не нужно менять, установите как было:
Номер =1;
Префикс меняется в 6й строчке, где Док.Номер = «0000-» + …
Вот вместо «0000-» задайте «РТБП-»
Ирина, здравствуйте. Поменяла, но снова получается ошибка…
Доброе утро, прикрепите в формате рисунка (не файлом Ворд) само поле настройки в обработке группового изменения реквизитов, чтобы был полностью виден алгоритм и настройки.
Я не вижу, что вы делаете, скорее всего что-то ввели неправильно
Сравните с моим скрином.
Обратите внимание на точки с запятой в конце строчек и кавычки, как я писала. Это очень важно.
По сути это мини обработка на языке программирования 1С. От того насколько корректно вы все ввели зависит и понимание программой действий для выполнения.
Обращаю ваше внимание, что выполнить алгоритм предварительно нужно в КОПИИ базы: действия изменения программой данных необратимы.
Если все устроит, повторите уже в рабочей.
После тестирования в копии.
Задача: нередко при разработке отчетов возникает необходимость многоуровневой нумерации элементов отчета в соответствии с его структурой. Система компоновки данных не предоставляет средств для решения этой задачи. Проблема усугубляется в случае отчетов с иерархической группировкой где количество уровней вложенности произвольно и заранее неизвестно.
Попытки решения данной задачи только средствами СКД успехом не увенчались. Поиск существующих решений желаемых результатов не принес:
-
имеет ограничение по уровням вложенности и требует анализа выходного табличного документа для определения размещения номера;
вариант Алексея А (Isonic) с произвольной иерархией представляется неудобным в реализации так как вложенность заранее неизвестна и при изменении группировок придется переопределять значение поля иерархической нумерации;
Решение. Предлагаемое решение позволяет решить задачу многоуровневой нумерации путем формирования номера при поэлементном программном выводе отчета. Преимуществом решения является отсутствие привязки к структуре данных, уровень иерархии определяется вложенностью элементов поступающих от процессора компоновки. Для нумерации достаточно создать вычисляемое поле и добавить несложный код вычисления номера в вывод отчета. Настройка размещения и отображения поля осуществляется стандартными средствами СКД.
Фрагмент кода формирования иерархического номера:
Код функции ПолучитьМногоуровневыйНомерПоИерархии:
Также вам потребуется функция "ПолучитьИменаПараметровВМакетеКомпоновкиПоИмениПоля" которую можно взять из статьи о установке собственных значений полей при программном выводе отчета СКД либо скачать пример отчета в котором "все включено".
P.S. Алгоритм разработан для иерархической нумерации по строкам отчета, но работает и при наличии группировок колонок. Вывод номера по колонкам не предусмотрен.
Огромная благодарность Денису Урянскому (dhurricane) за вдумчивое тестирование и подсказки.
Внешний отчет с примером иерархической нумерации тестировался на платформе 8.3.13.1644.
Обновление 16.01.2020: Перезагружен файл с примером. Просьба скачавшим связаться с автором для получения новой версии, либо самостоятельно обновить код функции ПолучитьИменаПараметровВМакетеКомпоновкиПоИмениПоля() из текста статьи про нее. В прежней реализации возможен несистематический пропуск параметров.
Перерыл весь Инфостарт, но так и не нашел готового решения по иерархической нумерации в отчете на СКД. Делюсь своим вариантом решения.
1. Добавляем в отчет вычисляемое выражение
2. Добавляем макет поля на закладке макеты
3. На закладке Настройки для всех! группировок указываем в выбранных полях наше новое поле
Далее в модуле отчета, после вывода, пишем постобработку. Для обработки желательно знать первую строку отчета, чтобы не лопатить шапку.
Поиск колонки с номерами
Собственно проставление номеров
У меня этот код вынесен в отдельную функцию
Надеюсь, что мой лайфхак будет полезен для всех любителей СКД. Если у вас есть свой вариант, то делитесь им и я с удовольствием размещу ссылки на этой странице.
Специальные предложения
Не поверите, но отчет на СКД тоже можно скомпоновать в модуле :). От этого отчет не перестает быть отчетом, выполненным на СКД.
Пока никто не предложил другого решения, то это единственный способ.
(23) Есть еще вариант - сделать таблицу и скормить ее СКД. И программисты из 1С часто пользуются этим способом при построении сложных отчетов, которые внутри СКД не построить.
Огромный плюс СКД в том, что не надо рисовать макеты, формы. И самый большой плюс, что пользователь может перестраивать внешний вид отчета, группировки под себя. Особенно продвинутые пользователи.
Моя статья именно для таких отчетов.
А делать отчеты без СКД мы умеем еще со времен 7.7 ))
Спасибо за открытый код решения!
На производительность в больших отчетах насколько влияет- не измеряли?
И при чем тут СКД, когда табличный документ скомпонован, данные выведены и сгруппированы там?
Вот если в схеме аналогичное действие сделать - тогда да, можно смело написать что это СКД.
(8) Иерархическая нумерация в СКД является частным случаем "Иерархическая нумерация в Windows". Поэтому мое название точнее и больше подходит к теме статьи.
(7), (8), (9) Не заметили, в основе постобработки лежат поля, определенные в схеме СКД, добавлен свой макет?
(10) Кстати, да. Обычный отчет этим кодом не пронумеруешь. Его надо дополнять, чтобы узнать уровень группировки.
ИМХО, было бы интереснее разработать алгоритм нумерации выходного табличного документа.. Вставить колонку перед телом отчета, и пронумеровать ее сообразно иерархии, после вывода. А СКД вообще не трогать.
Написание кода в СКД, мне кажется, не есть гуд. Нечистая работа, как говорил Остап Бендер. Цимес СКД как раз в том что вы мышкой отчет делаете. А если код писать - так это и клюшки-стайл ничем не плох, с Вывести () и Присоединить ().
(18)Про это писал рустиг в (23) но полностью самостоятельно писать вывод отчета, тоска смертная: вывод заголовков настройка оформления, сбор итогов и пр. всегда даю это на откуп СКД. Ничего плохого нет в постобработке, но да просто заголовок некорректный СКД тут как бы уже не при делах. Можно было бы написать "Нумерация в табличном документе сформированном средствами СКД" это было бы честнее.
(25) Нумерация в табличном документе сформированном средствами СКД - программистское название. Но в целом согласен, что по названию ждали большего.
Фигня. Ибо пост-обработка. На ИС были в разы более красивые решения. Не понимаю, откуда столько плюсов, сиречь восторгов.
Перед тем как перейти к перенумерации документов, разберем, как формируется номер документа.
В 1С предусмотрена сквозная нумерация документов в рамках одного вида. Каждый год она начинается заново. Рассмотрим ее формирование на примере документа Реализация (акт, накладная, УПД) . Номер присваивается независимо от Вида операции , Организации или других данных.
Для разграничения нумерации между организациями установите префикс. Подробнее Префикс в 1С
Номер документа закрепляется в момент его записи, т. е. документ может быть не проведен, удален, и номер уже не используется для других документов. Всегда берется максимальный использованный номер и к нему прибавляется один.
Символы и буквы в номере
Один из вариантов исправления данной ситуации — вручную изменить номер, убрав один ноль перед номером. Например, номер 0000-000В99 перенумеровать в 0000-001000.
Нумерация пойдет дальше автоматически
Префиксы — буквы в начале номера
В 1С есть префиксы — буквенные значения в начале номера. Их рекомендуется устанавливать, если есть обмен с другими базами или в базе несколько организаций. Подробнее про префиксы можно узнать из статьи Префикс в 1С.
Перенумерация документов в 1С 8.3 Бухгалтерия 3.0
В 1С перенумерацию документов может выполнить только пользователь с полными правами. Перед использованием любого способа перенумерации обязательно создайте копию базы!
Изменить нумерацию в 1С можно тремя способами:
- кассовые документы, счета-фактуры подразумевают автоматическую перенумерацию документов при выполнении экспресс-проверки ( Отчеты – Экспресс-проверка );
- перенумерация с помощью обработки Групповое изменение реквизитов ( Администрирование – Обслуживание – Корректировка данных – Групповое изменение реквизитов ), способ предполагает написание кода; (не рекомендуется).
Как изменить нумерацию в 1С 8.3 автоматически
При проверке учета можно автоматически перенумеровать документы:
- Приходный кассовый ордер — Поступление наличных ;
- Расходный кассовый ордер — Выдача наличных ;
- выписанный Счет-фактура — Счет-фактура выданный .
Метод используется, только если документы не отражены в отчетности — как самой организацией, так и контрагентом (например, по выданным счетам-фактурам). Иначе при сопоставлении данных документов произойдет несоответствие.
Для автоматической перенумерации перейдите в отчет Экспресс-проверка ведения учета в разделе Отчеты – Экспресс-проверка .
Перейдите в настройки отчета по кнопке Показать настройки и выберите необходимые проверки.
Как перенумеровать кассовые документы в 1С 8.3
Последовательность исправления нарушенной нумерации для РКО и ПКО одинакова.
Если не соблюдена нумерация, то при экспресс-проверке 1С выдаст ошибку:
Чтобы увидеть подробное описание ошибки, разверните отчет: в нем будут указаны предположительные ошибки в ведении учета, а также рекомендации по восстановлению нумерации.
Но не спешите нажимать на ссылку Автоматическая перенумерация документов . Сначала рекомендуем развернуть документы полностью и проанализировать, можно ли перенумеровать документы в 1С 8.3 или они уже отражены в отчетности.
Если принято решение восстановить хронологический порядок в номерах, сделайте копию базы, а потом нажмите на ссылку Автоматическая перенумерация документов .
- Текущий номер — номер документа до перенумерации;
- Новый номер — будущий номер документа в базе.
Если все верно, нажмите Продолжить .
После перенумерации выведется результат обработки.
Как перенумеровать счета-фактуры в 1С 8.3
Если не соблюдена нумерация, при экспресс-проверке 1С выдаст ошибку:
Чтобы увидеть подробное описание ошибки, разверните отчет: здесь будут указаны предположительные ошибки в ведении учета, а также рекомендации по восстановлению нумерации.
Не спешите нажимать на ссылку Автоматическая перенумерация документов . Сначала рекомендуем развернуть документы полностью и проанализировать, можно ли перенумеровать документы или они уже отражены в отчетности.
Если принято решение восстановить хронологический порядок в номерах, сделайте копию базы, а потом нажмите на ссылку Автоматическая перенумерация документов .
Для исправления номеров документов укажите Начальный номер . Изначально указан рекомендуемый номер, т. е. наименьший номер из исправляемых документов. Если каких-то номеров до него нет (документы были удалены), программа это не учитывает. Изменим Начальный номер на 1.
- Текущий номер — номер документа до перенумерации;
- Новый номер — будущий номер документа в базе.
Если все верно, нажмите Продолжить .
После перенумерации выведется результат обработки.
Прочие способы перенумерации
Ручная корректировка номера
Ручная корректировка номера не рекомендуется!
Перед ручной корректировкой номера ознакомьтесь с проблемами, которые могут возникнуть при использовании данного метода — Символы и буквы в номере.
Чтобы изменить номер вручную:
- установите курсор на номер;
- нажмите на кнопку del или delete на клавиатуре;
- согласитесь с редактированием;
- введите новый номер, обращая внимание на обязательное использование всех нулей вначале номера, например, 0000-0000000.
Групповое изменение реквизитов
Запустите обработку Групповое изменение реквизитов в разделе Администрирование — Обслуживание — Корректировка данных .
В обработке выберите вид документов, которые будут редактироваться. При необходимости отберите нужные документы по ссылке Все элементы. Подробнее о работе с обработкой.
Далее переведите переключатель на Выполнить произвольный алгоритм .
В большом поле заполните код, выделенный жирным шрифтом в блоке «Информация», который приведен ниже. Код можно скопировать или заполнить вручную. Кавычки обязательно перенаберите.
После каждой строки кода текст, выделенный «//», — это описание кода. Его можно не переносить, а если перенесете, не забудьте указать «//» в начале каждой строки.
Зеленым шрифтом выделены заменяемые данные под конкретный вид документов или справочников.
Если при выполнении обработки возникает ошибка об уникальности номера (номер занят), то рекомендуется сначала задать начальный номер, который не пересекается с имеющимися (1000000), а потом запустить еще раз обработку для первоначальной перенумерации уже с меньшего номера.
Как узнать техническое имя документа
Запустите конфигуратор по кнопке Конфигуратор .
Перейдите Конфигурация – Открыть конфигурацию .
После выполнения этой команды откроется окно Конфигурация . Может занять некоторое время.
Далее найдите в списках Справочники или Документы подходящий по смыслу элемент. Двойным щелчком мыши откройте его.
В открытой форме уточните, что это нужный элемент:
- Имя — техническое наименование документа;
- Синоним — имя документа в базе.
Перенумерация справочников в 1С 8.3
В 1С перенумерацию справочников может выполнить только пользователь с полными правами. Перед использованием любого способа перенумерации обязательно создайте копию базы!
Номер в справочниках хранится в поле Код.
Чтобы переименовать номер справочника, используйте либо ручную корректировку номера либо групповое изменение реквизитов. Но лучше изменять другое поле, например, Артикул , а поле Код оставить системным полем и не трогать его.
Выборка = Справочники.Номенклатура .Выбрать();
//Выбираем все элементы справочника из отобранных по стандартному отбору в обработке.
//в коде указываем техническое имя справочника.
Код = 1;
//Начальный код при перенумерации, без нулей и префиксов.
Пока Выборка.Следующий() Цикл
//Запускается цикл перебора всех найденных документов.
Спр = Выборка.ПолучитьОбъект();
//Получаем элемент справочника.
СтарыйКод = Спр.Код;
//Запоминаем старый код.
Спр.Код = « 00 -«+Формат(Код, «ЧЦ= 8 ; ЧВН=; ЧГ=0″);
// Устанавливаем новый код, 00 – Префикс базы, при необходимости заменить.
//ЧЦ-количество лидирующих нулей – количество символов после дефиса, для каждого справочника может быть свое число
// В комментарии указываем информацию об изменении кода.
Спр.Записать();
Код = Код+1;
//Переходим к следующему коду и элементу справочника
КонецЦикла;
См. также:
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С:Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Часто в работе с 1С мы сталкиваемся с ситуацией, когда.У вас нет доступа на просмотр Чтобы получить доступ:Оформите коммерческую.Современные технологии заявляют о себе в полную силу. В рамках.Реестр документов из 1С может понадобиться многим пользователям — от.
(2 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Добавить комментарий Отменить ответ
Для отправки комментария вам необходимо авторизоваться.
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Изменения в 2022 году, о которых нужно знать бухгалтеру
6-НДФЛ за 1 квартал 2022 в 1С
Санкции и контрмеры: как работать организации и ее бухгалтеру в новой реальности. Часть 2
Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму
Отчетность за 1 квартал 2022
Добрый день! Уже несколько лет работаю с Вами. Всегда доброжелательны и внимательны к нашим проблемам. Вы динамично меняетесь, замечаете любые проблемы при работе с программой. Хотелось, чтобы и 1с решала проблемы быстрее.
Всего Вам доброго.
В некоторых случаях на документах должна быть нумерация страниц, например, в договорах. В 1С добавить её достаточно просто. Это можно сделать как в типовых конфигурациях так и в самописных. Вариантом добавления два используя графическую оболочку конфигуратора и программно. Сегодня рассмотрим оба варианта, так же добавим нумерацию в типовую конфигурацию УТ.
Нумерация страниц при печати Табличного документа 1С
Для начала я покажу на простом примере, возьму конфигурацию из прошлых статей, в которой есть документ «Поступление» и простая печатная форма. Для того чтобы добавить нумерацию страниц необходимо зайти в конфигуратор, открыть нужный документ, в нашем случае «Поступление» перейти во вкладку «Макеты» и открыть сам макет.
Далее на панели инструментов заходим в «Таблицы» далее выбираем пункт «Настройка печати» и «Колонтитулы».
В открывшемся окне можно выбрать расположение нумерации, сверху снизу, слева справа или по центру а так же указать необходимый шрифт и номер первой страницы. Для того чтобы просто выводился номер текущей страницы пишем следующий код.
Не забудьте отметить пункт «Выводить с».
Для того чтобы отображался не просто номер а еще и общие количество страниц документа, можно написать следующие.
В результате в печатной форме будет показываться номер текущей станицы и общие количество, лучше использовать этот вариант для документов, тех же договор.
Добавление нумерации в типовой конфигурации 1С
Давайте теперь посмотрим как добавить нумерацию в типовую конфигурацию. Я возьму для примера «Управление торговлей, редакции 11» и документ «Авансовый отчет». Делаем все тоже самое открываем конфигуратор, ищем нужный документ и открываем макет.
Далее открываем «Колонтитулы» и пишем то же самое.
И проверяем что получилось.
Как видим нумерация добавилась.
Программное добавление нумерации страниц в 1С
Для того чтобы добавить нумерацию страниц программно нужно сделать следующие. Зайти в конфигуратор, найти нужный документ открыть процедуру «Печать» которая находиться в «Модуле менеджера» и дописать код.
В качестве примера поменяем расположение нумерации и сделаем её в правом верхнем углу, а в левый добавим вывод текущей даты.
Сохраняем и проверяем что получилось.
Возможностей настройки внешнего вида и расположения очень много с этим думаю Вы уже разберетесь сами. Эти основы должен знать каждый начинающий 1С программист, их вполне достаточно для решения задач по дополнению нумерации на страницы.
Нумерация страниц в 1С : 2 комментария
Добрый день! Спасибо Вам большое за статью, все очень доходчиво рассказали!)
Читайте также: