arefaste/1C_Forums huggingface dataset:
Здравствуйте.
Запрос к регистру накопления, в поле регистратор иногда есть данные, иногда нет (в таблице ОстаткиИОбороты установлено ДвиженияИГраницыПериода)
Хочу вывести настройку, чтобы по желанию показывать остатки на границы периода или нет. Ввел параметр ОстаткиНаГраницыПериода его задать могу, но как связать, что, если
ОстаткиНаГраницыПериода = истина тогда
Применился отбор к отчету: Регистратор Заполнено = ложь?
Хотел бы без кода обойтись, чтобы в конструкторе связка сработала.

В самом тексте запроса конструкция
ВЫБОР КОГДА &ОстаткиНаГраницыПериода ТОГДА ДвиженияНаГраницыПериода ИНАЧЕ Движения КОНЕЦ
Не сработала - выдает ошибку
---
```1c
    ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , {(&МетодДополнения)}, ) КАК ТоварыНаСкладахОстаткиИОбороты
```

&МетодДополнения - числовой параметр СКД (расширение языка запросов для СКД, записывается в фигурных скобках). Значения: 0 - Движения, 1 - ДвиженияИГраницыПериода. СКД перед выполнением запроса подставляет соответствующее значение в текст запроса.

Прикреплен пример СКД для регистра ТоварыНаСкладах УТ 11.
---
```1c
    ВЫБРАТЬ
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход,
    ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток
    ИЗ
    РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , {(&МетодДополнения)}, ) КАК ТоварыНаСкладахОстаткиИОбороты
```

&МетодДополнения - числовой параметр СКД (расширение языка запросов для СКД, записывается в фигурных скобках). Значения: 0 - Движения, 1 - ДвиженияИГраницыПериода. СКД перед выполнением запроса подставляет соответствующее значение в текст запроса.

Прикреплен пример СКД для регистра ТоварыНаСкладах УТ 11.
---
Спасибо большое за столь точный и исчерпывающий ответ!!
---
Кстати, так же можно управлять в СКД параметром Периодичность виртуальных таблиц.
Всем привет! Есть стандартная форма задачи. Мне нужно открыть не эту форму, а свою. Открываю так:

```1c
    Пар = Новый Структура("Ключ",Объект.Предмет);
    ОткрытьФорму("Форма.ФормаЗадачи", Пар, ЭтаФорма, ЭтаФорма.УникальныйИдентификатор);
```

Но при открытии почему то создается новая задача. Это проявляется в том, что в моей форме при сохранении создается новая задача. И когда эта форма открывается вверху написано - Задача(создание). Как сделать, чтобы открывалась именно уже созданная задача? Спасибо!
---
всмысле Такой тип есть и у стандартной формы.? тип Ключа должен соответствовать основному реквизиту формы.
Параметр "Ключ" передается в параметрах формы, чтобы открыть уже существующую ссылку, а не форму создания нового элемента: для формы справочника Номенклатура передаем в Ключе ссылку на номенклатуру, для задачи - в форму задачи передаем ссылку на саму задачу
---
И еще если из списка открываю 2 раза эту форму то она открывается 2 раза.
---
```1c
    Пар = Новый Структура("Ключ",Объект.Предмет);
    ОткрытьФорму("Задачи.ТвояЗадача.Форма.ФормаЗадачи", Пар, ЭтаФорма, ЭтаФорма.УникальныйИдентификатор);
```
---
Я не вижу, а чем ваш вариант отличается от моего?
---
а тип <Объект.Предмет> точно соответствует основному реквизиту формы <Форма.ФормаЗадачи>? ато может вы в качестве ключа в форму задачи передаете какую-нибудь ссылку на документ реализации
---
свою форму я сделала копированием стандартной формы задачи. Предмет это поле составного типа. В моей форме это клиент. Такой тип есть и у стандартной формы.
---
всмысле Такой тип есть и у стандартной формы.? тип Ключа должен соответствовать основному реквизиту формы.
Параметр "Ключ" передается в параметрах формы, чтобы открыть уже существующую ссылку, а не форму создания нового элемента: для формы справочника Номенклатура передаем в Ключе ссылку на номенклатуру, для задачи - в форму задачи передаем ссылку на саму задачу
---
да, дело было в том, что не ссылку на задачу передавала.
Подскажите пожалуйста, что еще необходимо сделать, чтобы появились документы при нажатии ввод насоновании для ПКО
ввод на основании добавила, код прописала, команды добавила.
https://yadi.sk/i/KOZsleUm3HsPPm
---
Пропробуйте в модуле менеджера ПКО найти процедуру

```1c
    Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСоздатьНаОсновании) Экспорт

    Документы.СчетФактураВыданныйАванс.ДобавитьКомандуСоздатьНаОсновании(КомандыСоздатьНаОсновании);

    ВводНаОснованииПереопределяемый.ДобавитьКомандуСоздатьНаОснованииБизнесПроцессЗадание(КомандыСоздатьНаОсновании);

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

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

```1c
    Процедура ДобавитьКомандыСозданияНаОсновании(КомандыСоздатьНаОсновании) Экспорт

    Документы.СчетФактураВыданныйАванс.ДобавитьКомандуСоздатьНаОсновании(КомандыСоздатьНаОсновании);

    ВводНаОснованииПереопределяемый.ДобавитьКомандуСоздатьНаОснованииБизнесПроцессЗадание(КомандыСоздатьНаОсновании);

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

И добавить в начале
Документы.РасходныйКассовыйОрдер.ДобавитьКомандуСоздатьНаОсновании(КомандыСоздатьНаОсновании);
Добрый день. Подскажите как реализовать такой функционал. На форме в динамическом списке выводится несколько реквизитов, один реквизит по-умолчанию не виден, но пользователь может нажать изменить форму и включить видимость реквизита. В типовой например ЗУП 3 такое реализовано для реквизиты Ссылка(см. скрин)
---
У элемента расположенного на управляемой форме
есть свойство "Пользовательская видимость", открыть его можно по щелчку на гиперссылку в палитре свойств рядом с "доступность".

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

По умолчанию он включен, но при редактировании формы в конфигураторе его можно выключить
---
Спасибо, это решение. Я просто думал что этот функционал отвечает за видимость на уровне ролей, т.е. если там некоторой роли убрать видимость то пользователь если у него нет других ролей кроме этой роли не увидит реквизит.
Нужно в программе при поступлении товаров чтобы розничная цена рассчитывалась от закупочной цены и процента установленного.
Так было в ТиС
https://yadi.sk/i/f9GeIxXg3Hk4v4
Так было в 8.1
https://yadi.sk/i/8zhSYrTa3Hk5KJ
А вот в 8.2 и выше в конфигурациях такого нет. Я решал вопрос добавлением реквизитов в табличную часть и переписывал обработку заполнения установки цен чтобы розница подставлялась из этих реквизитов
https://yadi.sk/i/bcJfcLIL3Hk5kM
Но для этого приходится снимать конфигурацию с поддержки. Может кто нибудь решал задачу по иному? Допреквизитами, расширением или еще как?

Повторюсь нужно именно в документе установки цен или в поступлении видеть розничную цену и процент наценки и менять ее если нужно.
---
http://infostart.ru/public/595790/

Посмотрите, скорее всего это то что вам нужно)
---
http://infostart.ru/public/595790/

Посмотрите, скорее всего это то что вам нужно)
---
Да спасибо!
---
Сообщение было скрыто модератором.
---
Скрытая реклама?)
Делаю загрузку из Excel-файла.

```1c
    Если Колонка7 <> " Тогда
    КодТНВЭД = СпрТНВЭД.НайтиПоКоду(Колонка7);
    Если КодТНВЭД = СпрТНВЭД.ПустаяСсылка() Тогда
    Сообщить("Не найден код ТНВЭД " + Колонка7 + ", строка " + ТекСтрока);
    Иначе
    НомОбъект.КодТНВЭД = КодТНВЭД;
    КонецЕсли;
    КонецЕсли;
```

Ищем по коду в справочнике "Классификатор ТНВЭД". И интересный факт поиска по коду - в файле в соответствующей колонке значение 5703209800005750000. Код ТНВЭД имеет длину 10 символов. В результате выполнения кода находится элемент справочника с кодом "5703209800", хотя, на мой взгляд, должно появиться сообщение "Не найден код ТНВЭД".
Почему так работает поиск? Или это нормальное поведение системы?
---
конечно функция урезает строку самостоятельно, как умеет.
А вообще, при загрузках из экселя, по всем полям, нужно приводить к соответствию типов, и очень тщательно.
Мало-ли, пользователь колонками ошибется, - там назагружается.
В данном случае, нужно проверить на количество символов, в противном случае в ячейке все что угодно, но не код справочника.
---
Искать строку в 12 символов в поле длиной 10 символов - это проблема рук, а не платформы. Для платформы не может быть однозначного поведения в этом случае, если его только явно не задокументировать.
---
конечно функция урезает строку самостоятельно, как умеет.
А вообще, при загрузках из экселя, по всем полям, нужно приводить к соответствию типов, и очень тщательно.
Мало-ли, пользователь колонками ошибется, - там назагружается.
В данном случае, нужно проверить на количество символов, в противном случае в ячейке все что угодно, но не код справочника.
---
Колонка7 - значение длинной 10 символов
---
Если колонка7 имеет большую длину, почему при поиске по коду находится элемент?
---
Я предполагаю, что в "колонке7" значение длинной 10 символов. Обрезали или тип там строка(10)
---
Я предполагаю, что в "колонке7" значение длинной 10 символов. Обрезали или тип там строка(10)

Колонка7 = "5703209800005750000", в поиск передается это значение, и в результате находит элемент с кодом "5703209800"
---
На спр. "Валюты" попробовал, та же фигня. Видимо, сначала приводит к одинаковому типу, т.е. урезает до 10 знаков
---
На спр. "Валюты" попробовал, та же фигня. Видимо, сначала приводит к одинаковому типу, т.е. урезает до 10 знаков

Да, тоже так думаю... Странно! Раньше не сталкивалась...
---
Искать данные большей размерности, чем хранятся - это однозначно косяк прикладного программиста. Что обрезать перед поиском, что сравнивать размерности и не находить - одинаково неочевидно. В идеале надо бы в этом случае вообще падать по эксепшну.
---
А не ошибка ли это платформы?
---
Я бы к ошибке платформы причислил. Т.к. сравнение строк явно некорректно идет. Просто, наверное, не так часто такие ситуации встречаются
P/S/ Проверял на 8.3.9.1818
---
Платформа тут не причем, расслабились с нестрогой типизацией :)
---
Искать строку в 12 символов в поле длиной 10 символов - это проблема рук, а не платформы. Для платформы не может быть однозначного поведения в этом случае, если его только явно не задокументировать.
---
Спасибо за ваши комментарии! Учту этот момент!
Добрый день.
Управляемы формы 83.
Подскажите как можно использовать МенеджерВременныхТаблиц в функциях не передавая его как параметр, а глобальных переменных насколько я понял в управляемых формах нет.
Сама задача (глупая но ...) у пользователя есть некий список при выборе строки должен происходить поиск по наименованию (именно по наименованию - поиск по строке), но поиск происходит довольно медленно вот и хочется сделать ВТ и к нему обращаться.
Думал использовать ТЗ и потом делать по ней НайтиСтроки, но мне нужен запрос где используется ПОДОБНО (откуда и тормоза). Можно наверно сделать запрос в ТЗ, но как то не очень красиво, хотелось бы через ВТ.
Спасибо.
---
Как вариант, засылать временную таблицу во временное хранилище. Посмотрите, как в типовой УТ 11 организована хранение и передача таблиц в форму.
---
Как вариант, засылать временную таблицу во временное хранилище. Посмотрите, как в типовой УТ 11 организована хранение и передача таблиц в форму.
---
Можно наверно сделать запрос в ТЗ
И что не красивого? Подгружаете вашу ТЗ в запрос и выполняете.
---
Спасибо буду смотреть про временное хранилище.
Здравствуйте! В очередной раз прошу помощи, у меня имеется поле "Статья затрат" в документе "Начисление зарплаты и взносов". И имеется кнопка заполнить по "Статье затрат". Так вот когда я её нажимаю у меня добавляется соответствующее количество строк, но они пустые. То есть данные из запроса как я понял не подставляются, подскажите в чем ошибка? Конфигурация Зуп 3.1.1.103

Текст запроса:

```1c
    Процедура ДляЗаполненияПоСтатьеРасходов()

    СтатьяЗатрат = Объект.СтатьяЗатрат;

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | Сотрудники.Ссылка
    |ИЗ
    | Справочник.Сотрудники КАК Сотрудники
    |ГДЕ
    | Сотрудники.СтатьяЗатрат = &СтатьяЗатрат";

    Запрос.УстановитьПараметр("СтатьяЗатрат", СтатьяЗатрат);

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    Объект.Начисления.Загрузить(РезультатЗапроса);

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

    &НаКлиенте
    Процедура ЗаполнитьПоСтатьеРасходов(Команда)

    ДляЗаполненияПоСтатьеРасходов();

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

И прикреплю скрины самого результата.
---
Нужно в запросе указать имя колонок такое же как и в табличной части. В данном примере указанна только одна колонка Выбрать Сотрудники.Ссылка поправьте на "Сотрудники.Ссылка Как сотрудник" и тогда колонка колонка сотрудник заполниться ну и подобно сделайте для других колонок
---
либо в запросе указать синоним, либо заполнять перебором с указанием чего куда записывать.
---
Судя по коду у вас в каждом элементе спр.Сотрудники надо указать "Статью затрат".
И очень странный текст запроса, если честно.
---
да запрос отрабатывает вроде как надо, в консоли запросов проверил. у меня к сотрудникам привязывается "Статья затрат". а что здесь делать я пока не понимаю.
---
Несоответствие имен реквизитов табличной части и выборки.
---
а есть способ это обойти? не подскажете как?
---
у вас в выборке поле называется Ссылка, а в табличной части Сотрудник.
---
и как быть? запрос переделывать?
---
либо в запросе указать синоним, либо заполнять перебором с указанием чего куда записывать.
---
Нужно в запросе указать имя колонок такое же как и в табличной части. В данном примере указанна только одна колонка Выбрать Сотрудники.Ссылка поправьте на "Сотрудники.Ссылка Как сотрудник" и тогда колонка колонка сотрудник заполниться ну и подобно сделайте для других колонок
---
спасибо большое. Все получилось.
Добрый день.
Есть обычная форма, на ней табличная часть документа.
Нужно добавить кнопку на командную панель этой табличной части.
Если Форма-Вставить элемент управления и вставить кнопку на эту панель, то не получается её выровнять.
Как добавить кнопку на командную панель ТЧ?
---
Можно так
---
Ctrl-C, Ctrl-V
---
Можно так
---
Спасибо, именно то, что нужно!
Всем добрый день!

После переноса базы на другой сервер внешняя обработка выдаёт ошибку:
"СинхронизацияБаз: Описание ошибки = State ", native 0 [Microsoft][Диспетчер драйверов ODBC] Источник данных не найден и не указан драйвер, используемый по умолчанию TestODBC. Close();
{\\путь к обработке(816); Значение не представляет агрегатный объект (Close)"

Подскажите пожалуйста, как это лечится ?
---
Эта ошибка лечится путём указания UID=sa;PWD=ххх принудительно в самой обработке, прописания логина и пароля в источниках данных не давало результатов.
---
На старом сервере надо посмотреть "Источники данных", ODBC, Как там настроен источник ...
Сделать аналогичные настройки на новом сервере ...
---
это сделал, всё равно ошибку выдаёт
---
http://www.forum.mista.ru/topic.php?id=704992 Источники данных Microsoft Open Database Connectivity (ODBC) (Odbcad32.exe):
32-разрядной версии файл Odbcad32.exe находится в папке %systemdrive%\Windows\SysWoW64.
64-разрядной версии файл Odbcad32.exe находится в папке %systemdrive%\Windows\System32.
помог запуск Odbcad32.exe из %systemdrive%\Windows\SysWoW64, стали доступны драйверы для добавления в пользовательский DSN.
Если у Вас подключение к базе Access, то посмотрите еще тут http://www.titan-optima.ru/Voprosi/ODBC.html
В открывшемся окне "Администратор источников данных ODBC" на вкладке "Пользовательский DSN" проверить какое имя используется для "Microsoft Access Driver (*.mdb) или Microsoft Access Driver (*.mdb, *.accdb)". Если используется имя "MS Access Database", то необходимо добавить имя "База данных MS Access" и наоборот, если используется имя "База данных MS Access", то необходимо добавить имя "MS Access Database".
---
системный и пользовательский DSN тес проходи, но в 1С ошибку всё равно выдаёт
---
А если запустить платформу "от имени администратора"?
---
это само собой
---
(2) Доброе утро, можете подсказать по (8) ??
---
Не встречался с такой проблемой; Посмотрите по ссылке может появятся мысли ...
http://lipricons.blogspot.com/2014/02/sql-state-42s02-native-208-invalid.html
---
Ошибку удалось победить переустановкой драйвера ODBC, теперь возникла новая:

СинхронизацияБаз: Статус подключения к соединению BMSDSN = 1
СинхронизацияБаз: Базы подключены
СинхронизацияБаз: ODBCRecordset error:State 42S02, native 208, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя объекта "dbo.CUSTTABLE".
СинхронизацияБаз: ODBCRecordset error:State 42S02, native 208, message [Microsoft][ODBC SQL Server Driver][SQL Server]Недопустимое имя объекта "dbo.VENDTABLE".
Для ии = 1 По Т З_Пост.КоличествоСтрок () Цикл
---
Эта ошибка лечится путём указания UID=sa;PWD=ххх принудительно в самой обработке, прописания логина и пароля в источниках данных не давало результатов.
---
Может обращаться к CUSTTABLE как к custtable? Если да, то посмотрите параметр collation базы, должен быть Cyrillic_General_CI_AS
(CI = Case Insensitive)
Всем доброго дня.
При работе с БП столкнулась с таким процессом, как Разделение. Мне нужно, чтобы разделение происходило на 5 отдельных процессов. Но при формировании Карты маршрута из Разделения я могу сделать только 3 ответвления. :(
Если стрелки доделываю "руками", то пишет "На карте маршрута есть точки, куда невозможно попасть". И так далее.
В общем, вопрос - как сделать, чтобы из Разделения были созданы 5 заданий?
(в скрине красным выделены линии, созданные "руками")
---
Вопрос снят. На точке маршрута Разделение правой кнопкой мыши и выбрать Добавить линию. :)
---
Вопрос снят. На точке маршрута Разделение правой кнопкой мыши и выбрать Добавить линию. :)
Здравствуйте!

Подскажите, пожалуйста, как получить тип документа вызвавшего форму выбора номенклатуры? Например мне нужно: Если у форма выбора номенклатуры была вызвана из поступления, то показывать одну номенклатуру, если из реализации, то другую.
Обычные формы.
У ФормыВладелец нет родителя.(Там нет вообще ссылок на родителя)
---
На мой взгляд, как-то неправильно задумывается. Форме выбора должно быть параллельно, кто у нее владелец, и менять от этого свою логику. Это увеличивает связность между разными частями конфигурации.
Можно ведь параметрами предустановить нужный отбор в форме. Или вообще отдельную форму создать. Ну или промежуточный вариант - передавать какой-то дополнительный опциональный параметр в форму выбора, его обрабатывать и как-то ограничивать список отбора.
---
у ФормыВладельца должен быть объект, у него ссылка, а у ссылки тип ссылки
или я чего то не понял
---
Нет, там у ВладельцаФормы только ПолеВвода... Никаких объектов (Намекающих на ссылку) внутри него нет.
---
Это управляемые формы? Если да, то владельцем у тебя, скорее всего, будет форма.
Просто получи объект из формы владельца... а у него уже можешь узнать ТипЗначения.
Вроде такого: ТипЗнч(ЭтаФорма.ВладелецФормы.Объект)
---
авляемые формы? Если да, то владельцем у тебя, скорее всего, будет форма.
Просто получи объект из формы владельца... а у него уже можешь узнать ТипЗначения.
Вроде такого: ТипЗнч(ЭтаФорма.ВладелецФормы.Объект)

Нет, у меня обычные формы...
---
Причем при вызове из другого документа родитель есть....
---
На мой взгляд, как-то неправильно задумывается. Форме выбора должно быть параллельно, кто у нее владелец, и менять от этого свою логику. Это увеличивает связность между разными частями конфигурации.
Можно ведь параметрами предустановить нужный отбор в форме. Или вообще отдельную форму создать. Ну или промежуточный вариант - передавать какой-то дополнительный опциональный параметр в форму выбора, его обрабатывать и как-то ограничивать список отбора.
---
Именно так и сделал. Проблема в том, что список документов большой и хотелось сделать проверку в одном месте, а не допиливать каждый документ...
---
А, это про обычные формы... Ну все равно, общая мысль - та же. На владельца не нужно завязываться.
Добрый день! Подскажите возможно ли переменование кнопки "Главное" в панели разделов? Другие - возможно, а именно "Главное" не могу найти. Подскажите где это можно сделать и возможно ли вообще? Заранее спасибо.
---
На данный момент вроде как нельзя.
---
На данный момент вроде как нельзя.
Доброго времени суток. УПП 1.3. Прощу помочь в решении следующей задачи. Есть список счетов для бюджетирования - 2000 позиции - файл excel. Как их импортировать в план-счетов?
---
Теперь, наверное, необходимо правильно настроить корреспонденции счетов и проверить, насколько проводки документов соответствуют вашим ожиданиям. Ну и посмотреть, как отразится это на заполнении отчётности (если влияет).
---
Здравствуйте. А какие есть варианты кроме написания обработки которая бы считывала построчно файл и создавала новые элементы плана счетов?
---
Выгрузил xml из 1с, затем свой экселевский файл привел в вид xml файла и импортировал его в 1с. Что хотел получил. Скажите пожалуйста насколько это правильно? К каким последствиям приведет ввод ручных планов-счетов?
---
Теперь, наверное, необходимо правильно настроить корреспонденции счетов и проверить, насколько проводки документов соответствуют вашим ожиданиям. Ну и посмотреть, как отразится это на заполнении отчётности (если влияет).
---
Если несложно, расскажите пожалуйста подробнее о "настроить корреспонденции счетов и проверить, насколько проводки документов соответствуют вашим ожиданиям" или в каком источнике об этом доступно для новичка написано?

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