дублирование видов субконто на счете
Добавление 2 субконто «Регистрация в налоговой» на счет 68.01 штатными средствами для Бухгалтерии 3.0
В БП 3.0 на счете 68.01 возможен учет по субконто «Регистрация в налоговой» (2 субконто).
Иногда возникает ситуация, что несмотря на изменение константы: Исполняются обязанности налогового агента по НДС не появляется 2 субконто на счете.
Данная обработка позволяет восстановить субконто, не трогая константу (При изменении константы могут слететь субконто в проводках)
Проверена на 1С 8.3.12.1790, Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.67.70).
Скачать файлы
Специальные предложения
«В Бухгалтерии проф работать не будет. Там необходимо добавить через конфигуратор субконто регистрации в налоговой.»
Обновление 12.03.19 09:27
См. также
Конвертация любых адресов, написанных в свободной форме, к ФИАС Промо
Допустим у нас есть база с адресами клиентов, и написаны они могут быть как душе угодно. С опечатками, без индексов, без разделителей, в совершенно любом формате. Вот было бы здорово иметь функцию, которая одним нажатием кнопки преобразует любую белиберду к строгому представлению адреса по ФИАС? Восстановит индекс, исправит опечатки и вернёт на 100% валидный адрес. Для всех, кто мечтательно сказал «ДА!», выкладываю данную обработку.
30.06.2020 7133 66 XilDen 15
Управление платформенными обработками (расширение для типовых)
Расширение использует недокументированную возможность для управления платформенными обработками. Например, чтобы подменить «Активные пользователи» или доработать «Конструктор запросов».
07.10.2021 2944 5 SeiOkami 23
Работа с картами в 1С на примере бесплатной библиотеки Leaflet
Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.
31.03.2021 9873 28 Parsec1C 11
Универсальная обработка переноса данных из основной конфигурации в расширение
Обработка предназначена для разработчиков, для тех случаев, когда ранее дописанный функционал, перенесен в расширение и появляется необходимость перенести данные из объектов основной конфигурации в объекты расширения. Перенос осуществляется настройкой соответствия объектов основной конфигурации объектам расширения.
05.10.2020 9947 64 biz-intel 71
Удаление и/или копирование сохраненных в 1С настроек (например настроек печати табличных форм) Промо
Иногда нужно удалить сохраненную в 1С «покореженную» настройку или скопировать «удачную» другому пользователю.
01.09.2012 66356 1378 AnryMc 46
Улучшенная обработка универсального обмена данными в формате XML (УФ)
Улучшенная обработка «Универсальный обмен данными» с полноценными возможностями СКД для выборки данных (не только для отборов).
23.06.2020 12409 131 Lem0n 1
Панель #Расширение объекта: Редактор, Права, Поиск, Сторно, Обмен
Панель команд текущего объекта (документа, справочника и т.д.) со следующим возможностями: Редактор реквизитов, таблиц и движений текущего объекта, Анализ прав доступа к текущему объекту, Поиск ссылок на объект с отборами, Сторно движений документа, Выгрузка/загрузка текущего объекта между базами. Реализована всплывающей панелью в форме объекта. Подключается как расширение конфигурации (*.cfe) либо отдельными обработками.
01.05.2020 14944 111 sapervodichka 1
Markdown-editor в 1С (с сохранением в HTML)
В этой обработке вы пишете свой текст, используя синтаксис Markdown, а на выходе получаете чистый HTML-код, избавленный от JS-библиотеки, которая его сформировала. Совместим с Webkit и IE.
04.07.2019 12487 18 riposte 6
Групповая обработка справочников и документов (Управляемая форма) v 3.6 (+English version) Промо
Старая добрая обработина «Групповая обработка справочников и документов», теперь на Управляемом приложении. Работает на платформе версии не ниже 8.2.16! Работает в интерфейсе «Такси»
01.06.2013 131657 4965 kser87 352
Работа с файлами (обычная и управляемая форма)
Нужно загрузить файл с клиента на сервер или же, наоборот, файл загрузить с сервера на клиент, а впридачу все это на web-клиенте, да еще и асинхронно? Нет ничего проще, читай далее, как это сделать!
10.06.2019 40796 219 Xershi 77
Электронная таблица средствами 1С (Версия 2.0)
Функционал электронной таблицы для программ на платформе 1С реализован на основе табличных документов. Функционал реализован в виде обработки. Большую часть формы обработки занимают листы (закладки) с табличными документами, которые выполняет роль электронной таблицы. Листы могут быть добавлены, удалены или переименованы. Ограничение по количеству листов определяется возможностью платформы. В формулах электронной таблицы можно использовать любые языковые конструкции, процедуры и функции 1С, ссылки на другие ячейки электронной таблицы расположенные в том числе и на других листах. Допустимо обращаться к ячейкам электронной таблицы по имени именованной области. В случае использования в формулах электронной таблицы данных из самой таблицы пересчет зависимых ячеек с формулами производится автоматически. Электронную таблицу можно сохранить в файл.
23.04.2019 23446 77 user706545_kseg1971 40
Удобная консоль регламентных и фоновых заданий
Аналог обработки БСП «РегламентныеИФоновыеЗадания». Не требует наличия библиотек, может использоваться в качестве внешней обработки. В отличие от обработки БСП предоставляет больше информации о свойствах регламентных и фоновых заданий, а также об ошибках и сообщениях для пользователей, возникших во время их выполнения. Позволяет управлять регламентными (создание, удаление, настройка расписания, ручной запуск) и фоновыми (прерывание) заданиями.
06.02.2019 21760 211 Alxby 20
Исправление пустых значений субконто (Null, Неопределено) в проводках, возникающих при изменении настройки видов субконто на счете
При удалении или изменении настроек субконто на счете возникают ситуации, когда в проводках в качестве значений субконто остается значение Неопределено. Также данное явление имеет место быть при программном изменении настроек видов субконто на счете и записи счета в режиме ОбменДанными.Загрузка = Истина (без этого режима все отрабатывается корректно).
Правильной ситуацией является наличие пустых значений субконто, соответсвующего типа в данных проводках. В результате сводные отчеты по счету перестают показывать обороты и остатки по данным счетам в разрезе измененных субконто.
Тестирование и исправление в данном случае не помогает. Помогает перепроведение документов, т.к. в этом случае проводки перезаписываются с правильными значениями субконто.
Но не всегда есть возможность и желание у пользователей перепроводить документы (период закрыт, страшно за другие движения документов и т.д.).
Данная обработка предназначена для исправления пустых значений субконто в данных проводках. Т.е. для записи пустых значений корректных типов.
Основной код взят из //infostart.ru/public/147199/
Выполняется только перезапись проводок по регистру бухгалтерии Хозрасчетный без перепроведения документов.
Обработка разработана и протестирована на релизе Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.75.58). Версия платформы: 8.3.15.1830.
Порядок работы:
Перед выполнением обработки рекомендуется сделать резервную копию базы данных.
Порядок работы с обработкой:
1. Открыть файл обработки через Файл-Открыть
2. Нажать кнопку «Найти проводки с некорректными значениями субконто». В результате в табличной части обработки будут отображены проблемные проводки, с указанием информации о документе-регистраторе, номере проводки, виде движения (дебет/кредит) и счете.
3. При наличии проблемных проводок нажать кнопку «Выполнить исправление»
Т.к. данная операция вызывает пересчет бухгалтерских итогов, то в зависимости от объема базы данных она может занять продолжительное время.
Рекомендуем запустить ее выполнение в период низкой пользовательской нагрузки на базу данных.
Работа пользователей при этом в системе не блокируется.
Субконто в 1С 8.3
Виды субконто и субконто
Аналитический учет на счетах бухгалтерского учета в 1С организован с помощью таких понятий как субконто и виды субконто.
Виды субконто — это группа однородных объектов аналитического учета. Например, список номенклатуры, список контрагентов, список договоров и т.д.
Субконто — это конкретный объект аналитического учета. Например, стол, стул, ИП Иванов, ООО Ромашка, договор №1 и т.д.
Например, на 41 счете нужно вести учет в разрезе складов и товаров. В этом случае видами субконто будут список складов и список товаров. А субконто — это конкретные склады и товары, например оптовый склад, розничный склад, стол, стул, шкаф и т.д.
В платформе нет специальных объектов метаданных Виды субконто и Субконто. Для этого используется план видов характеристик. Сам план является списком всех видов субконто. Конкретные значения плана — это виды субконто. Характеристики — это субконто.
В свойстве Тип значения характеристик как правило указываются только ссылочные типы, например справочники. В этом случае сам справочник является видом субконто, а конкретные элементы справочника — это субконто. Чтобы указать тип субконто, нужно для элемента плана видов характеристик выбрать нужный тип.
Чтобы можно было создавать произвольный перечень субконто создается отдельный справочник Субконто, подчиненный плану видов характеристик и этот справочник выбирается в свойстве Дополнительные значения характеристик:
В плане счетов на закладке Субконто нужно выбрать план видов характеристик в свойстве ВидыСубконто:
После этого у плана счетов будет добавлена новая табличная часть ВидыСубконто со следующими колонками:
Ссылка | Номер строки | Вид субконто | Предопределенный | Только обороты |
---|
Там же, на закладке Субконто можно указать максимальное количество субконто:
Данное свойство ограничивает количество строк в табличной части Виды субконто.
В пользовательском режиме для счета можно добавить виды субконто:
Как правило, виды субконто создаются в конфигураторе как предопределенные элементы плана видов характеристик. Тогда виды субконто на счете тоже можно заполнить в конфигураторе (при условии, что счет предопределенный):
На этот же счет можно добавить новые виды субконто в пользовательском режиме:
В этом случае в таблице будут следующие данные:
Ссылка | Номер строки | Вид субконто | Предопределенный | Только обороты |
---|---|---|---|---|
60 | 1 | Контрагенты | Истина | Ложь |
60 | 2 | Договоры | Ложь | Ложь |
Добавленные в конфигураторе виды субконто можно удалить.
Если попробовать добавить третий вид субконто, то при записи счета будет выброшено исключение «Превышено максимальное количество видов субконто на счете»:
Так как мы ограничили максимальное количество субконто на счете двумя.
Можно сказать, что виды субконто это дополнительные, подключаемые к счету, измерения регистра бухгалтерии. Причем для каждого счета можно добавить разные аналитические разрезы.
Таблица значений субконто
Для хранения значений субконто в регистре бухгалтерии используется отдельная таблица. Состав колонок следующий:
Период | Регистратор | Номер строки | Вид движения | Вид субконто | Субконто |
---|
Связь с основной таблицей выполняется по периоду, регистратору, номеру строки и виду движения. Одной записи из основной таблицы может соответствовать несколько записей из таблицы значений субконто (в зависимости от количества видов субконто на счете).
Если в регистре бухгалтерии отключена корреспонденция, то в таблице значений субконто не будет колонки Вид движения.
Добавим в обработку проведения приходной накладной заполнение субконто:
Заполнение субконто выполняется через свойства СубконтоДт и СубконтоКт. При этом если вид субконто предопределенный, то можно сразу обратиться к нему по имени:
Иначе обращение выполняется через квадратные скобки:
После проведения приходной накладной с двумя строками:
Таблица значений субконто будет выглядеть следующим образом:
Период | Регистратор | Номер строки | Вид движения | Вид субконто | Субконто |
---|---|---|---|---|---|
17.07.2021 | Приход №1 | 1 | Дебет | Номенклатура | Стол |
17.07.2021 | Приход №1 | 1 | Кредит | Контрагенты | ИП Иванов |
17.07.2021 | Приход №1 | 1 | Кредит | Договоры | Основной |
17.07.2021 | Приход №1 | 2 | Дебет | Номенклатура | Шкаф |
17.07.2021 | Приход №1 | 2 | Кредит | Контрагенты | ИП Иванов |
17.07.2021 | Приход №1 | 2 | Кредит | Договоры | Основной |
На счете дебета используется один вид субконто — номенклатура. Поэтому в таблицу значений субконто была добавлена одна строка. На счете кредита используется два вида субконто: контрагенты и договоры. Поэтому было добавлено две строки: в одной контрагент, во второй договор.
Итоги по субконто
Для хранения итогов в разрезе субконто используются отдельные таблицы. Количество таких таблиц совпадает с максимальным количеством субконто на счете (свойство плана счетов). В нашем случае таких таблиц будет две.
В первой будут храниться итоги по тем счетам, где используется одно субконто:
Период | Счет | Субконто1 | Сумма остаток | Сумма оборот | Сумма оборотДт | Сумма оборотКт |
---|---|---|---|---|---|---|
01.07.2021 | 41.01 | Стол | 0 | 200 | 200 | 0 |
01.07.2021 | 41.01 | Шкаф | 0 | 300 | 300 | 0 |
01.08.2021 | 41.01 | Стол | 200 | 0 | 0 | 0 |
01.08.2021 | 41.01 | Шкаф | 300 | 0 | 0 | 0 |
01.11.3999 | 41.01 | Стол | 200 | 0 | 0 | 0 |
01.11.3999 | 41.01 | Шкаф | 300 | 0 | 0 | 0 |
Во второй хранятся итоги по счетам, где используется два субконто:
Период | Счет | Субконто1 | Субконто2 | Сумма остаток | Сумма оборот | Сумма оборотДт | Сумма оборотКт |
---|---|---|---|---|---|---|---|
01.07.2021 | 60 | ИП Иванов | Основной | 0 | -500 | 0 | 500 |
01.08.2021 | 60 | ИП Иванов | Основной | -500 | 0 | 0 | 0 |
01.11.3999 | 60 | ИП Иванов | Основной | -500 | 0 | 0 | 0 |
Если были бы счета, где используется три субконто, то была бы создана третья таблица, где было бы на одну колонку больше — Субконто3. И так далее до максимального количества субконто.
Изначально в таблицах хранятся только текущие итоги с датой 01.11.3999. Итоги за июль и август 2021 появились после того как в обработке Управление итогами был установлен период итогов на конец августа 2021:
Добавление в регистр бухгалтерии новых измерений и ресурсов автоматически добавляет новые колонки в таблицы итогов.
Если в настройках субконто счета установить флаг Только Обороты, то в итогах по этому субконто не будет храниться остаток:
Это можно использовать для тех субконто, где остаток не имеет значения. Например, в документах движения денежных средств это может быть субконто статья движения денежных средств. Приход делается по одной статье, расход по другой. Остатки никогда не выйдут в ноль и будут накапливаться в таблице итогов. Чтобы этого избежать для субконто устанавливается флаг Только обороты.
как в бухгалтерском регистре программно изменить значение субконто1Дт
Добрый день.
В проводках ряда документов, почему-то слитело значение субконто1Дт.
Перепроводить документы нельзя, поскольку большинство из них Требования-накладные и при перепроведении обороты будут пересчитаны «по среднему» с учётом уже проводок других документов.
Пытаюсь выбрать необходимые проводки, но не получается записать замену. Пожалуйста, подскажите как будет корректно это сделать.
Ниже мой сырой код:
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Объект = ВыборкаДетальныеЗаписи.Документ.Получитьобъект();
ИзменитьДвиженияДокумента(Объект);
Процедура ИзменитьДвиженияДокумента(Объект)
Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
Набор.Отбор.Регистратор.Установить(Объект.Ссылка);
Набор.Прочитать();
Для Каждого Запись из Набор Цикл
Если Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду(«08.30») И Запись.СубконтоДт = Справочники.ОбъектыСтроительства.ПустаяСсылка() Тогда
Запись.СубконтоДт = Справочники.ОбъектыСтроительства.НайтиПоКоду(«6.02.00.00.00.00.00»);
КонецЕсли;
КонецЦикла;
Набор.Записать();
Конецпроцедуры
Условие неверное. Плюс значение субконто может быть равным «Неопределено», а не пустая ссылка
Для записи значения в субконто надо писАть:
Процедура ПриОткрытии()
НачПериода = НачалоДня(Дата(2010,02,23,00,00,00));
КонПериода = КонецДня(Дата(2012,12,27,23,59,59));
КонецПроцедуры
Процедура ВыбратьПроводкиСПустымиСубконто1Дт()
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор,
| ХозрасчетныйДвиженияССубконто.ВидСубконтоДт1 КАК ВидСубконтоДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК ЗначениеСубконтоДт,
| ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
| ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма,
| ХозрасчетныйДвиженияССубконто.Период КАК Период
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
| &НачПериода,
| &КонПериода,
| СчетДт = &Счет0830
| И ВидСубконтоДт1 = &Объекты
| И СубконтоДт1 = &ПустойОбъект,
| Период,
| ) КАК ХозрасчетныйДвиженияССубконто
|
|УПОРЯДОЧИТЬ ПО
| Период»;
Запрос.УстановитьПараметр(«НачПериода», НачПериода);
Запрос.УстановитьПараметр(«КонПериода», КонПериода);
Запрос.УстановитьПараметр(«Счет0830», ПланыСчетов.Хозрасчетный.НайтиПоКоду(«08.30»));
Запрос.УстановитьПараметр(«Объекты», ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства);
Запрос.УстановитьПараметр(«ПустойОбъект», Справочники.ОбъектыСтроительства.ПустаяСсылка());
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Объект = ВыборкаДетальныеЗаписи.Регистратор.ПолучитьОбъект();
Сообщить(«Выборка » + Объект);
ИзменитьДвиженияДокумента(Объект, ВыборкаДетальныеЗаписи);
КонецЦикла;
Конецпроцедуры
Процедура ИзменитьДвиженияДокумента(Объект,ВыборкаДетальныеЗаписи)
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Значение = ВыборкаДетальныеЗаписи.Регистратор;
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Сообщить(«Документ » + Запись.Регистратор);
Если Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду(«08.30») И Запись.СубконтоДт = Справочники.ОбъектыСтроительства.ПустаяСсылка() Тогда Сообщить(«Документ » + ВыборкаДетальныеЗаписи.Регистратор +» Было субконто » + Запись.СубконтоДт + » Сумма » + Запись.Сумма + » Счет » + Запись.СчетДт); Запись.СубконтоДт = Справочники.ОбъектыСтроительства.НайтиПоКоду(«6.02.00.00.00.00.00»);
Сообщить(«Документ » + ВыборкаДетальныеЗаписи.Регистратор +» Стало субконто » + Запись.СубконтоДт + » Сумма » + Запись.Сумма + » Счет » + Запись.СчетДт); КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
Сообщить(«Записано » + ВыборкаДетальныеЗаписи.Регистратор + » Субконто » + Запись.СубконтоДт);
КонецПроцедуры
Всем огромное спасибо. В итоге получилось так (вроде бы работает):
Процедура КнопкаВыполнитьНажатие(Кнопка)
Сообщить(«Время начала » + ТекущаяДата());
ВыбратьПроводкиСПустымиСубконто1Дт();
Сообщить(«Время окончания » + ТекущаяДата());
Процедура ВыбратьПроводкиСПустымиСубконто1Дт()
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| ХозрасчетныйДвиженияССубконто.Регистратор КАК Регистратор,
| ХозрасчетныйДвиженияССубконто.ВидСубконтоДт1 КАК ВидСубконтоДт,
| ХозрасчетныйДвиженияССубконто.СубконтоДт1 КАК ЗначениеСубконтоДт,
| ХозрасчетныйДвиженияССубконто.СчетДт КАК СчетДт,
| ХозрасчетныйДвиженияССубконто.Сумма КАК Сумма,
| ХозрасчетныйДвиженияССубконто.Период КАК Период
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
| &НачПериода,
| &КонПериода,
| СчетДт = &Счет0830
| И ВидСубконтоДт1 = &Объекты
| И СубконтоДт1 = &ПустойОбъект,
| Период,
| ) КАК ХозрасчетныйДвиженияССубконто
|
|УПОРЯДОЧИТЬ ПО
| Период»;
Запрос.УстановитьПараметр(«НачПериода», НачПериода);
Запрос.УстановитьПараметр(«КонПериода», КонПериода);
Запрос.УстановитьПараметр(«Счет0830», ПланыСчетов.Хозрасчетный.НайтиПоКоду(«08.30»));
Запрос.УстановитьПараметр(«Объекты», ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.ОбъектыСтроительства);
Запрос.УстановитьПараметр(«ПустойОбъект», Справочники.ОбъектыСтроительства.ПустаяСсылка());
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Объект = ВыборкаДетальныеЗаписи.Регистратор;
Сообщить(«Выборка » + Объект);
ИзменитьДвиженияДокумента(ВыборкаДетальныеЗаписи);
КонецЦикла;
Процедура ИзменитьДвиженияДокумента(ВыборкаДетальныеЗаписи)
НаборЗаписей = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Значение = ВыборкаДетальныеЗаписи.Регистратор;
НаборЗаписей.Прочитать();
Для Каждого Запись Из НаборЗаписей Цикл
Сообщить(«Документ » + Запись.Регистратор);
Если Запись.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду(«08.30») И Запись.СубконтоДт.ОбъектыСтроительства = Справочники.ОбъектыСтроительства.ПустаяСсылка() Тогда
Сообщить(«Было субконто » + Запись.СубконтоДт.ОбъектыСтроительства + » Сумма » + Запись.Сумма + » Счет » + Запись.СчетДт);
Запись.СубконтоДт.ОбъектыСтроительства = Справочники.ОбъектыСтроительства.НайтиПоКоду(«6.02.00.00.00.00.00»);
Сообщить(«Стало субконто » + Запись.СубконтоДт.ОбъектыСтроительства + » Сумма » + Запись.Сумма + » Счет » + Запись.СчетДт);
КонецЕсли;
КонецЦикла;
НаборЗаписей.Записать();
Сообщить(«Записано » + ВыборкаДетальныеЗаписи.Регистратор + » Субконто » + Запись.СубконтоДт.ОбъектыСтроительства);
КонецПроцедуры
Процедура ПриОткрытии()
НачПериода = НачалоДня(Дата(2010,02,23,00,00,00));
КонПериода = КонецДня(Дата(2012,12,27,23,59,59));
КонецПроцедуры