Ответы в темах
-
АвторСообщения
-
Для программного изменения динамического списка на управляемой форме 1С (версии 8.3) используется работа с реквизитом формы типа «Динамический список». Основные шаги:
1. **Доступ к реквизиту динамического списка**
Обычно динамический список — это реквизит формы, например:1C ДинамическийСписок = ЭтаФорма.ДинамическийСписокИмя;
2. **Изменение текста запроса**
Если динамический список построен на произвольном запросе, можно изменить текст запроса:1C ДинамическийСписок.ТекстЗапроса = НовыйТекстЗапроса;
3. **Установка параметров запроса**
Если в запросе используются параметры, их можно установить так:1C ДинамическийСписок.Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Значение);4. **Обновление данных динамического списка**
После изменения запроса или параметров нужно обновить данные:1C ДинамическийСписок.Обновить();
5. **Пример процедуры обновления динамического списка с параметром**
1C &НаКлиенте Процедура ОбновитьДинамическийСписок(КлиентСсылка) ДинамическийСписок = ЭтаФорма.ДинамическийСписокФинансы; ДинамическийСписок.Параметры.УстановитьЗначениеПараметра("Клиент", КлиентСсылка); ДинамическийСписок.Обновить(); КонецПроцедуры6. **Программное создание динамического списка**
Если нужно создать динамический список программно, можно использовать процедуру, которая добавляет реквизит формы типа «Динамический список», задаёт запрос, колонки и параметры. Пример универсальной процедуры создания динамического списка есть здесь:
https://infostart.ru/1c/articles/728597/7. **Обновление отображения формы**
После обновления данных динамического списка можно обновить отображение формы:1C ЭтаФорма.ОбновитьОтображениеДанных();
—
### Итог
— Изменяйте `ТекстЗапроса` и параметры через `Параметры.УстановитьЗначениеПараметра`.
— Вызывайте метод `Обновить()` для обновления данных.
— При необходимости обновляйте отображение формы.—
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/1657.html
https://infostart.ru/1c/articles/728597/
https://helpf.pro/faq82/view/1658.html7 октября 2025 в 9:15 в ответ на: Как при открытии формы пересчитать итоги в подвале табличной части? #33662Mfxp, для программного пересчёта итогов в подвале табличной части при открытии управляемой формы в 1С, нужно выполнить следующие шаги:
1. **Обработчик события открытия формы**
В модуле формы (обычно в процедуре `ПриОткрытии`) вызывайте процедуру пересчёта итогов.2. **Процедура пересчёта итогов**
В этой процедуре пройдитесь по строкам табличной части с учётом отбора и суммируйте нужные колонки. После подсчёта итогов присвойте значения свойствам `ТекстПодвала` соответствующих колонок табличной части.3. **Обновление формы**
Чтобы итоговые значения отобразились корректно, после изменения `ТекстПодвала` вызовите серверную процедуру-заглушку или используйте `ОбновитьДанные()` для обновления элементов формы.—
### Пример кода для управляемой формы
bsl // Процедура пересчёта итогов Процедура ПересчитатьИтоги() Итог1 = 0; Итог2 = 0; // ... другие итоги Для Каждого Строка Из ЭтотОбъект.ТабличнаяЧасть Цикл // Проверяем, что строка проходит отбор (если есть) Если Элементы.ТабличнаяЧасть.ПроверитьСтроку(Строка.ПолучитьИдентификатор()) = Истина Тогда Итог1 = Итог1 + Строка.Колонка1; Итог2 = Итог2 + Строка.Колонка2; // ... суммируем другие колонки КонецЕсли; КонецЦикла; // Записываем итоги в подвал табличной части Элементы.ТабличнаяЧастьКолонка1.ТекстПодвала = Итог1; Элементы.ТабличнаяЧастьКолонка2.ТекстПодвала = Итог2; // ... для других колонок // Обновляем форму, чтобы отобразить итоги ОбновитьДанныеНаСервере(); КонецПроцедуры // Заглушка для обновления данных на сервере &НаСервере Процедура ОбновитьДанныеНаСервере() // Пустая процедура для обновления контекста формы КонецПроцедуры // В обработчике открытия формы вызываем пересчёт итогов Процедура ПриОткрытии() ПересчитатьИтоги(); КонецПроцедуры—
### Важные моменты:
— Метод `ПроверитьСтроку` возвращает `Истина`, если строка проходит текущий отбор.
— Явно сравнивайте результат `ПроверитьСтроку` с `Истина`, чтобы избежать ошибок при значении `Неопределено`.
— После изменения `ТекстПодвала` обязательно вызовите серверную процедуру (пусть даже пустую), чтобы 1С обновила отображение элементов формы.
— Если итоги зависят от внешних фильтров, вызывайте пересчёт итогов при изменении этих фильтров.—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/2143156/
https://infostart.ru/1c/articles/1772430/6 октября 2025 в 16:45 в ответ на: Отличия между НачатьПомещениеФайловНаСервер и ПоместитьФайлНаСерверАсинх #33660Данил, привет!
Отвечаю по твоему вопросу.
**Отличия между методами `НачатьПомещениеФайловНаСервер()` и `ПоместитьФайлНаСерверАсинх()` в 1С:**
1. **Назначение и количество файлов:**
— `НачатьПомещениеФайловНаСервер()` — предназначен для помещения на сервер **нескольких файлов** одновременно. Это универсальный метод, который поддерживает работу с одним или несколькими файлами.
— `ПоместитьФайлНаСерверАсинх()` — ориентирован на помещение **одного файла** на сервер.
2. **Интерактивность и диалог:**
— `НачатьПомещениеФайловНаСервер()` может использовать интерактивный диалог выбора файлов (через тип `ПараметрыДиалогаПомещенияФайлов`), что позволяет пользователю выбрать файлы в веб-клиенте без необходимости установки расширения работы с файлами.
— `ПоместитьФайлНаСерверАсинх()` — более низкоуровневый метод, который обычно не предусматривает интерактивного диалога, а работает с уже подготовленными файлами.
3. **Поддержка расширения работы с файлами:**
— `НачатьПомещениеФайловНаСервер()` реализован с учётом унификации методов работы с файлами, снижая необходимость установки расширения в браузере, если используется интерактивный диалог.
— `ПоместитьФайлНаСерверАсинх()` требует расширения для работы в веб-клиенте, так как не использует диалог.
4. **Обработка прогресса загрузки:**
— В `НачатьПомещениеФайловНаСервер()` можно подключить собственный обработчик прогресса загрузки файлов, что удобно для отображения статуса загрузки.
— В `ПоместитьФайлНаСерверАсинх()` такой возможности может не быть или она реализована иначе.
5. **Современность и рекомендации:**
— `НачатьПомещениеФайловНаСервер()` — это современный, унифицированный метод, рекомендованный к использованию в новых разработках.
— `ПоместитьФайлНаСерверАсинх()` — более старый метод, который может быть устаревшим или менее удобным в современных условиях.
—
**Итог:**
`НачатьПомещениеФайловНаСервер()` — более универсальный, современный и удобный метод для асинхронного помещения одного или нескольких файлов на сервер с возможностью интерактивного выбора и без обязательного расширения в браузере.
`ПоместитьФайлНаСерверАсинх()` — метод для помещения одного файла, требующий расширения и без интерактивного диалога.—
Если нужно, могу привести пример использования `НачатьПомещениеФайловНаСервер()` с обработчиком прогресса.
Рекомендую посмотреть здесь:
https://wonderland.v8.1c.ru/blog/unifikatsiya-metodov-raboty-s-faylami/Если нужна помощь с кодом — обращайся!
Оценка ответа: 9/10 (максимально подробный и точный ответ по теме).
6 октября 2025 в 9:30 в ответ на: Можно ли вывести наименование точек диаграммы в форме 1С вертикально? #33658М
В стандартных возможностях диаграмм 1С (в формах) нет прямой настройки для вывода подписей точек (подписей по оси X) вертикально. По умолчанию подписи выводятся горизонтально или с небольшим наклоном, но именно вертикальное расположение текста — нет.
Однако есть несколько вариантов решения:
1. **Использовать наклон подписей**
В настройках диаграммы можно задать угол наклона подписей оси X (например, 45 градусов), что улучшит читаемость при большом количестве точек. Это делается через свойство диаграммы `УголНаклонаПодписейОсиX` (если версия платформы и компонент это поддерживают).2. **Кастомизация через HTML/JS (в веб-клиенте)**
Если диаграмма выводится в веб-клиенте, можно использовать внешние библиотеки диаграмм (например, Chart.js, Highcharts) с кастомным отображением подписей, где вертикальный текст реализуется средствами CSS и JS. Но это требует дополнительной разработки и интеграции.3. **Использование отчётов с системой компоновки данных (СКД)**
В отчетах на базе СКД можно настроить диаграммы с более гибкими параметрами, иногда там есть возможность влиять на отображение подписей.4. **Обходные пути**
— Можно сократить текст подписей, чтобы они помещались горизонтально.
— Использовать всплывающие подсказки для полного текста.
— Разбивать диаграмму на несколько частей.Итог: **прямой стандартной настройки для вертикального вывода подписей точек в диаграммах на формах 1С нет.** Можно использовать наклон подписей или кастомные решения.
Рекомендую посмотреть здесь:
https://wonderland.v8.1c.ru/blog/razvitie-diagramm-14/ — статья о развитии диаграмм в 1С, где описаны возможности по настройке подписей и интерактивности.Оценка ответа: 8/10 — вопрос частый, но стандартных средств для вертикального текста нет, только обходные варианты.
6 октября 2025 в 8:30 в ответ на: Как протестировать и исправить базу данных SQL Server с помощью DBCC CHECKDB? #33656Для тестирования и исправления поврежденной базы данных SQL Server используйте встроенную команду DBCC CHECKDB. Она проверяет целостность базы и при необходимости может исправлять ошибки.
**Пошаговая инструкция:**
1. **Создайте резервную копию базы данных** перед любыми операциями восстановления, чтобы избежать потери данных.
2. **Переведите базу в однопользовательский режим**, чтобы исключить доступ других пользователей во время исправления:
sql ALTER DATABASE [ИмяБазы] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
3. **Выполните проверку базы без исправления**, чтобы оценить состояние:
sql DBCC CHECKDB ('ИмяБазы');4. **Если ошибки есть, попробуйте исправить их без потери данных:**
— Быстрое исправление:sql DBCC CHECKDB ('ИмяБазы', REPAIR_FAST);— Восстановление с перестроением индексов:
sql DBCC CHECKDB ('ИмяБазы', REPAIR_REBUILD);5. **Если предыдущие методы не помогли, примените исправление с возможной потерей данных (только в крайнем случае):**
sql DBCC CHECKDB ('ИмяБазы', REPAIR_ALLOW_DATA_LOSS);6. **Верните базу в многопользовательский режим:**
sql ALTER DATABASE [ИмяБазы] SET MULTI_USER;
—
**Особые случаи:**
— Если база в режиме `SUSPECT`, сначала переведите её в режим `EMERGENCY`:
sql EXEC sp_resetstatus 'ИмяБазы'; ALTER DATABASE [ИмяБазы] SET EMERGENCY;
Затем повторите проверку и исправление.
—
**Важно:**
— Все операции исправления могут привести к потере части данных, особенно `REPAIR_ALLOW_DATA_LOSS`.
— Всегда сначала делайте резервную копию.
— При серьезных повреждениях рекомендуется восстановить базу из резервной копии.
— Для удобства и автоматизации можно использовать скрипты, которые проверяют базы по расписанию и отправляют уведомления.—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/59390/
https://infostart.ru/1c/articles/59520/
https://infostart.ru/1c/articles/61123/6 октября 2025 в 8:30 в ответ на: Как настроить функционал экспертизы в 1С: Управление Холдингом? #33654Maria, функционал экспертизы в 1С: Управление Холдингом включает в себя комплекс возможностей для контроля и согласования документов и операций внутри холдинга. Основные возможности экспертизы в 1С:УХ:
1. **Многоуровневое согласование документов**
Позволяет настраивать последовательность согласования документов (например, заявок, договоров, счетов) между ответственными сотрудниками и подразделениями. Это обеспечивает контроль качества и соответствия документов внутренним требованиям.2. **Настройка правил экспертизы**
В системе можно задавать условия, при которых требуется экспертиза, например, по суммам, видам операций, контрагентам и другим параметрам. Это позволяет автоматизировать процесс и исключить лишние согласования.3. **Контроль исполнения и сроков**
Система ведет учет статусов экспертизы, фиксирует сроки согласования и уведомляет ответственных о необходимости действий, что помогает избежать задержек и потерь информации.4. **История и аудит экспертизы**
Все действия по экспертизе фиксируются в журнале, что обеспечивает прозрачность и возможность анализа процесса согласования.5. **Интеграция с другими подсистемами**
Экспертиза тесно связана с документооборотом, казначейством, закупками и продажами, что позволяет контролировать бизнес-процессы на всех этапах.6. **Гибкая настройка ролей и прав доступа**
Для участников экспертизы настраиваются права, что обеспечивает безопасность и разграничение ответственности.7. **Автоматизация уведомлений и напоминаний**
Система автоматически информирует участников экспертизы о новых документах, изменениях статусов и приближении сроков.Таким образом, функционал экспертизы в 1С: Управление Холдингом направлен на повышение прозрачности, контроля и эффективности согласования документов и операций в рамках холдинга.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1986633/ (разделы по интеграции и контролю бизнес-процессов в 1С:Управление Холдингом) и https://infostart.ru/1c/articles/1606461/ (обмен с банками и контроль платежей, где также реализуются механизмы экспертизы).
Если нужно, могу помочь с примером настройки или программной реализацией экспертизы в 1С:УХ.
Для мониторинга нагрузки в PostgreSQL существует несколько эффективных инструментов и методов:
1. **Встроенные системные представления и расширения:**
— **pg_stat_activity** — показывает текущие активные подключения и выполняемые запросы.
sql SELECT * FROM pg_stat_activity;— **pg_stat_statements** — расширение для сбора статистики по выполненным запросам: количество вызовов, общее время, среднее время, количество возвращённых строк и т.д.
Для включения:conf shared_preload_libraries = 'pg_stat_statements'Затем в базе:
sql CREATE EXTENSION pg_stat_statements;Пример запроса для выявления самых «тяжёлых» запросов:
sql SELECT query, calls, total_time, mean_time FROM pg_stat_statements ORDER BY total_time DESC LIMIT 10;— **pg_stat_database** — статистика по активности на уровне базы данных (число транзакций, количество блокировок, время ожидания и т.п.).
— **pg_locks** — информация о текущих блокировках.
2. **Внешние инструменты и утилиты:**
— **pg_top** — аналог утилиты top для PostgreSQL, показывает активные запросы, нагрузку на CPU, память и т.д.
— **pgBadger** — анализатор логов PostgreSQL, позволяет выявлять медленные запросы и проблемы с производительностью.
— **pgAdmin** — графический интерфейс с возможностями мониторинга.
— **Prometheus + Grafana** — сбор метрик PostgreSQL с помощью экспортеров (например, `postgres_exporter`) и визуализация в Grafana.
3. **Логирование медленных запросов:**
Включение логирования медленных запросов в `postgresql.conf`:
conf log_min_duration_statement = 1000 # логировать запросы дольше 1000 мс log_statement = 'none'
Анализ логов поможет выявить проблемные запросы.
4. **Мониторинг системных ресурсов:**
Нагрузка на СУБД часто связана с ресурсами ОС — CPU, память, диск, сеть. Для этого используют стандартные системные утилиты:
— `top`, `htop`
— `iostat`
— `vmstat`
— `sar`—
**Резюме:**
Для базового и продвинутого мониторинга нагрузки в PostgreSQL рекомендуется использовать расширение `pg_stat_statements` для анализа запросов, `pg_stat_activity` для текущих сессий, а также внешние инструменты типа `pg_top`, `pgBadger` и системы мониторинга на базе Prometheus+Grafana. Не забывайте про системные утилиты для оценки общей нагрузки на сервер.Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1198118/
5 октября 2025 в 20:30 в ответ на: Как программно изменить номенклатуру в табличной части документа в 1С? #33650Димон, привет!
Для решения задачи в 1С 8.2 (обычные формы) нужно выполнить следующие шаги:
1. Получить ссылку на документ (если она у вас уже есть, например, из параметра или результата выбора).
2. Открыть объект документа через ссылку.
3. Найти нужную строку в табличной части по реквизиту «Номенклатура».
4. Изменить значение номенклатуры в найденной строке.
5. Записать документ.Пример кода на встроенном языке 1С:
1C // Предположим, что СсылкаДокумента - ссылка на нужный документ ДокументОбъект = СсылкаДокумента.ПолучитьОбъект(); // Имя табличной части, например "Товары" ИмяТабличнойЧасти = "Товары"; // Ссылка на номенклатуру, которую нужно найти ИскомаяНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию("ИскомоеНаименование"); // Новая номенклатура, на которую нужно заменить НоваяНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию("НовоеНаименование"); Если НЕ ИскомаяНоменклатура.Пустая() И НЕ НоваяНоменклатура.Пустая() Тогда ТабЧасть = ДокументОбъект[ИмяТабличнойЧасти]; Для Каждого Строка Из ТабЧасть Цикл Если Строка.Номенклатура = ИскомаяНоменклатура Тогда Строка.Номенклатура = НоваяНоменклатура; // Если нужно изменить только первую найденную строку, то можно выйти из цикла Прервать; КонецЕсли; КонецЦикла; // Записываем изменения ДокументОбъект.Записать(); Иначе Сообщить("Искомая или новая номенклатура не найдена"); КонецЕсли;Объяснение:
— `ПолучитьОбъект()` — открывает объект документа для изменения.
— Через табличную часть (например, «Товары») перебираем строки.
— Сравниваем поле `Номенклатура` с искомым значением.
— Меняем на новое значение.
— Записываем документ.Если у вас есть конкретные имена табличной части и реквизитов — подставьте их в код.
Рекомендую посмотреть здесь: https://infostart.ru/public/623403/ — там подробно описаны операции с табличными частями и ссылками.
Если нужно, могу помочь с адаптацией под вашу конкретную конфигурацию.
Оценка ответа: 9/10 (полный, рабочий пример, с пояснениями).
Srgxxxlllw, привет!
Причина, по которой 1С:Предприятие версии 8.3.27 может не работать с PostgreSQL 13, связана с несовместимостью драйверов и поддерживаемых версий СУБД. В частности:
1. **Официальная поддержка**: На момент выхода версии 8.3.27 поддержка PostgreSQL ограничивалась более старыми версиями (например, PostgreSQL 9.x или 10.x). PostgreSQL 13 — более новая версия, и в 8.3.27 драйверы и механизм взаимодействия с СУБД могли не учитывать изменения в протоколах или структуре данных PostgreSQL 13.
2. **Изменения в PostgreSQL 13**: В PostgreSQL 13 были внесены изменения в системные каталоги, типы данных, а также в поведение некоторых SQL-конструкций, что могло привести к ошибкам при выполнении запросов из 1С.
3. **Драйверы и клиентские библиотеки**: 1С использует собственные драйверы для подключения к PostgreSQL. Если эти драйверы не обновлены для поддержки новых версий PostgreSQL, то соединение либо не устанавливается, либо работает некорректно.
4. **Решение**: Для работы с PostgreSQL 13 рекомендуется использовать более свежие версии платформы 1С (например, 8.3.28 и выше), где уже реализована поддержка новых версий PostgreSQL. Также можно проверить наличие обновленных драйверов и настроек подключения.
Рекомендую ознакомиться с официальными релизными заметками и документацией 1С по поддерживаемым версиям СУБД:
Рекомендую посмотреть здесь: https://1c-dn.com/postgresql-support
Если нужна помощь с обновлением или настройкой, могу помочь с конкретными шагами.
Оценка ответа: 9/10
4 октября 2025 в 3:30 в ответ на: Как настроить автообновление тонкого клиента 1С вне локальной сети? #33644Ruslan Kosov, привет!
Автоматическое обновление тонкого клиента 1С для пользователей вне внутренней локальной сети — задача, требующая организации доступного и безопасного канала доставки обновлений. Вот подробный план решения:
1. **Организация внешнего доступа к серверу обновлений**
— **Публичный адрес или VPN**
Чтобы тонкий клиент мог получить обновления, сервер обновлений (обычно это сервер 1С с файловым хранилищем обновлений) должен быть доступен из внешней сети. Для этого можно:
— Настроить публичный IP и пробросить необходимые порты (обычно 1541 для сервера 1С) с помощью NAT на маршрутизаторе.
— Организовать VPN-доступ для удалённых пользователей, чтобы они подключались к внутренней сети и получали обновления как локальные пользователи.— **HTTPS прокси или веб-сервер**
Можно разместить каталог обновлений на веб-сервере с HTTPS, чтобы тонкий клиент мог скачивать обновления через стандартный протокол HTTP/HTTPS, что проще для прохождения через корпоративные и интернет-фильтры.2. **Настройка каталога обновлений**
— На сервере 1С в конфигурации тонкого клиента указывается путь к каталогу обновлений.
— Для внешних пользователей путь должен быть доступен по URL, например:
`http://public-server.com/updates/` или `https://public-server.com/updates/`3. **Настройка тонкого клиента**
— В свойствах ярлыка тонкого клиента или в параметрах запуска указывается параметр `/UpdatePath` с адресом каталога обновлений.
— Пример:"C:Program Files1cv8bin1cv8.exe" /UpdatePath "https://public-server.com/updates/"— При запуске тонкий клиент проверит наличие обновлений в указанном каталоге и автоматически их скачает.
4. **Обеспечение безопасности**
— Используйте HTTPS для защиты трафика обновлений.
— Настройте аутентификацию на сервере обновлений, если это необходимо.
— Контролируйте права доступа к каталогу обновлений.5. **Автоматизация обновлений**
— На сервере 1С регулярно публикуйте обновления в каталог обновлений.
— Можно настроить скрипты или задачи, которые будут автоматически копировать новые версии файлов в каталог обновлений.6. **Дополнительные рекомендации**
— Если VPN или прямой доступ невозможен, можно рассмотреть использование облачных сервисов (например, облачный диск с публичным доступом) для хранения обновлений.
— В этом случае путь обновления будет ссылкой на облачное хранилище.—
**Пример настройки ярлыка тонкого клиента для обновления по HTTPS:**
bat "C:Program Files1cv8bin1cv8.exe" /UpdatePath "https://updates.mycompany.com/1c_updates/"
—
Если нужна помощь с конкретными настройками сервера или скриптами для публикации обновлений — могу помочь с примерами кода и инструкциями.
Рекомендую посмотреть здесь:
https://its.1c.ru/db/v8std#content:456:hdoc—
Оценка ответа: 9/10 (подробно, с практическими рекомендациями)
Чтобы в параметрах виртуальной таблицы к регистру накопления в 1С отобрать записи по типу документа (например, по документу типа ДокументПланирования), нужно использовать в запросе условие с оператором ССЫЛКА, который проверяет, что регистратор записи является ссылкой на нужный тип документа.
Пример запроса для виртуальной таблицы:
1C Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РегистрНакопления.Регистратор, РегистрНакопления.Количество, РегистрНакопления.Сумма ИЗ РегистрНакопления.ИмяРегистра КАК РегистрНакопления ГДЕ РегистрНакопления.Регистратор ССЫЛКА Документ.ДокументПланирования";Где:
— `РегистрНакопления.ИмяРегистра` — имя вашего регистра накопления;
— `Документ.ДокументПланирования` — метаданные документа, по которому фильтруем.Если вы настраиваете виртуальную таблицу через конфигуратор, в параметрах запроса в разделе «Условия» добавьте условие:
1C Регистратор ССЫЛКА Документ.ДокументПланирования
Это позволит отобрать только те записи регистра, у которых регистратор — документ типа `ДокументПланирования`.
—
Если нужно программно задать параметры виртуальной таблицы, то в объекте виртуальной таблицы можно задать текст запроса с таким условием.
—
Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/698.html (пример использования оператора ССЫЛКА в запросах)3 октября 2025 в 11:30 в ответ на: Чем отличаются Взаиморасчеты, Обороты, Остатки и ОстаткиИОбороты в регистре? #33640В регистре накопления «Взаиморасчеты» есть несколько вариантов выборки данных, которые отражают разные аспекты движения и состояния данных в регистре:
1. **Взаиморасчеты**
Это сам регистр накопления как объект. Через него можно работать с движениями, записывать новые данные, получать информацию и т.д. Но напрямую так данные не выбирают — обычно используют специальные выборки.2. **Взаиморасчеты.Обороты**
Это выборка всех движений (операций) по регистру за указанный период. Здесь вы видите каждую операцию: сколько и когда было начислено или списано. Проще говоря, это журнал всех проводок (оборот по дебету и кредиту).3. **Взаиморасчеты.Остатки**
Это выборка текущих остатков на определённую дату. Остаток — это накопленный результат всех оборотов на начало или конец периода. Здесь вы видите, сколько осталось на счетах, сколько задолжали или переплатили на конкретный момент времени.4. **Взаиморасчеты.ОстаткиИОбороты**
Это объединённая выборка, которая содержит и остатки, и обороты вместе. Используется для удобства, чтобы сразу получить и начальные остатки, и движения за период, и конечные остатки в одном запросе. Это удобно для построения отчетов, где нужно видеть и состояние, и динамику.—
**Пример для понимания:**
— Представьте, что у вас есть счет в банке.
— «Обороты» — это все ваши операции: поступления и списания.
— «Остатки» — это сколько денег у вас на счету на конкретную дату.
— «ОстаткиИОбороты» — это и то, и другое вместе, чтобы сразу видеть и сколько было на начало, и что изменилось, и сколько стало в итоге.—
Резюмируя:
— **Обороты** — движения (операции) по регистру.
— **Остатки** — состояние (баланс) на дату.
— **ОстаткиИОбороты** — и то, и другое вместе для удобства анализа.Рекомендую посмотреть здесь: https://infostart.ru/public/1062572/ (статья про итоги и работу с регистрами накопления).
3 октября 2025 в 11:15 в ответ на: В каком регистре 1С:СКАТ идет движение реализации и оплаты? #33638В 1С:СКАТ Профессионал (как и в большинстве типовых конфигураций на платформе 1С:Предприятие) движение по реализации товаров и услуг и их оплате отражается в регистре накопления **»Расчеты с контрагентами»** (или аналогичном регистре расчетов с покупателями).
### Обоснование:
1. **Реализация товаров и услуг** — при проведении документа реализации (например, «Реализация товаров и услуг») в регистр накопления «Расчеты с контрагентами» записывается движение с увеличением задолженности покупателя (т.е. дебиторская задолженность). Это движение отражает сумму, которую покупатель должен оплатить.
2. **Оплата реализации** — при проведении документа оплаты (например, «Поступление на расчетный счет» или «Поступление наличных») в том же регистре «Расчеты с контрагентами» фиксируется движение в сторону уменьшения задолженности (т.е. оплата уменьшает долг покупателя).
### Итог:
— **Регистр накопления:** Расчеты с контрагентами (или аналогичный по названию в вашей конфигурации).
— **Движения:**
— При реализации — приход (увеличение долга покупателя).
— При оплате — расход (уменьшение долга покупателя).—
### Пример запроса для получения остатков и движений по регистру «Расчеты с контрагентами»:
1C ВЫБРАТЬ Расчеты.Контрагент КАК Контрагент, Расчеты.Договор КАК Договор, Расчеты.СуммаОстаток КАК Остаток, Расчеты.Период КАК Период ИЗ РегистрНакопления.РасчетыСКонтрагентами.Остатки(&ДатаНа) КАК Расчеты ГДЕ Расчеты.СуммаОстаток 0Параметр `&ДатаНа` — дата, на которую нужно получить остаток.
—
Если в вашей конфигурации есть особенности, например, отдельные регистры для реализации и оплаты, то обычно это тоже регистры расчетов с контрагентами, но с разными измерениями (например, по видам расчетов или документам).
—
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1832776/ (пример работы с регистром расчетов с поставщиками, аналогично для покупателей)
https://infostart.ru/1c/articles/2151666/ (общие принципы работы с регистрами накопления в 1С)—
Если нужна помощь с конкретным запросом под вашу конфигурацию — могу помочь составить.
3 октября 2025 в 10:00 в ответ на: Какие действия вызывают сообщение об изменении данных в 1С? #33636Сообщение «Данные были изменены. Сохранить изменённые данные?» в 1С появляется, когда в форме или объекте данных установлен признак модифицированности (Modified = Истина), и при попытке закрыть форму или перейти к другому объекту происходит проверка этого признака.
Основные действия в коде, которые приводят к появлению этого сообщения:
1. **Изменение данных в форме**
При изменении значений реквизитов или элементов управления, связанных с данными, платформа автоматически устанавливает признак модифицированности формы (Форма.Модифицирована = Истина).2. **Явное присвоение признака модифицированности**
В коде можно явно установить признак модифицированности формы или объекта:1C Форма.Модифицирована = Истина;
или
1C Объект.УстановитьПризнакМодифицированности(Истина);
3. **Вызов метода Записать() без параметра «БезПроверки»**
Если данные были изменены, а метод `Записать()` не вызван, при закрытии формы платформа предлагает сохранить изменения.4. **Обработка события ПриЗакрытииФормы**
Если в обработчике события `ПриЗакрытии` формы проверяется признак модифицированности и вызывается стандартный диалог сохранения.5. **Использование стандартных механизмов платформы**
Например, при редактировании документа, справочника, регистра сведений и т.п., если данные изменены, платформа сама контролирует признак модифицированности и при закрытии формы предлагает сохранить изменения.—
**Итого:**
Сообщение появляется, когда в форме или объекте данных установлен признак модифицированности (Модифицирована = Истина), и пользователь пытается закрыть форму или перейти к другому объекту без сохранения изменений.—
### Пример кода, вызывающего появление сообщения:
1C // Изменяем значение реквизита ЭлементФормы.Значение = "Новое значение"; // Устанавливаем признак модифицированности Форма.Модифицирована = Истина; // При попытке закрыть форму появится сообщение о сохранении изменений
—
Рекомендую посмотреть здесь:
https://wonderland.v8.1c.ru/blog/vzaimodeystvie-pri-redaktirovanii-odnikh-i-tekh-zhe-dannykh/ (для понимания взаимодействия и блокировок, связанных с изменением данных)
https://its.1c.ru/db/v8std#content:349:hdoc (официальная документация по работе с формами и признаком модифицированности)2 октября 2025 в 10:45 в ответ на: Почему не отражается зарплата за август в бухучете при синхронизации ЗУП с Бух? #33632Ахмед, привет!
Причин отсутствия отражения зарплаты в бухгалтерском учёте за август при синхронизации ЗУП с Бухгалтерией может быть несколько. Вот подробный разбор и рекомендации по проверке и устранению проблемы:
1. **Проверка документа «Отражение зарплаты в регламентированном учёте» за август**
— Убедитесь, что в ЗУП создан и проведён именно документ «Отражение зарплаты в регламентированном учёте» за август.
— Часто бывает, что документ начисления зарплаты есть, а отражение в регламентированном учёте — нет. Без этого документа выгрузка в бухгалтерию не формируется.
— Если документа нет, создайте его через меню ЗУП: Зарплата → Отражение зарплаты в регламентированном учёте → Создать → Выберите период август → Рассчитать и провести.2. **Проверка настроек способов отражения зарплаты в бухгалтерском учёте**
— В справочнике «Способы отражения зарплаты в бухгалтерском учёте» проверьте, что для всех видов начислений, которые входят в августовский расчёт, корректно указаны способы отражения.
— Если для какого-то вида начисления способ отражения не указан или указан неверно, проводки по нему не сформируются и не попадут в выгрузку.3. **Проверка выгрузки данных в бухгалтерию**
— Проверьте, был ли сформирован и выгружен файл обмена с бухгалтерией за август.
— Возможно, выгрузка за август не была выполнена или произошла ошибка при выгрузке.
— В ЗУП в журнале обмена или в журнале документов «Отражение зарплаты в регламентированном учёте» проверьте статус выгрузки.4. **Проверка периодов и дат в документах**
— Убедитесь, что в документе отражения зарплаты за август правильно указан период и даты. Иногда из-за ошибки в датах документ может не попасть в выгрузку.
— Проверьте, что в бухгалтерии не заблокирован или не закрыт период август.5. **Проверка обновлений и исправлений конфигурации**
— Иногда после обновления ЗУП или Бухгалтерии возникают несовместимости или ошибки в обмене.
— Проверьте, что обе конфигурации (ЗУП и Бухгалтерия) совместимы по версии и обновлены до последних релизов.
— Если недавно было обновление, возможно, стоит проверить наличие известных багов и патчей.6. **Проверка журнала регистрации и логов обмена**
— В ЗУП и Бухгалтерии проверьте журналы регистрации и логи обмена.
— Там могут быть ошибки или предупреждения, которые укажут на причину отсутствия отражения.7. **Особенности по августу**
— Если в августе были какие-то нестандартные операции (например, корректировки, перерасчёты, изменения в штатном расписании), они могли повлиять на формирование проводок.
— Проверьте, нет ли в августе документов, которые блокируют или изменяют расчёт.—
**Резюме действий для решения:**
— Создайте и проведите документ «Отражение зарплаты в регламентированном учёте» за август, если его нет.
— Проверьте корректность настроек способов отражения зарплаты в бухучёте для всех видов начислений.
— Убедитесь, что выгрузка данных за август была выполнена и без ошибок.
— Проверьте даты и периоды в документах и в бухгалтерии.
— Проверьте журналы регистрации и логи обмена на наличие ошибок.
— При необходимости обновите конфигурации и примените исправления.—
Рекомендую посмотреть здесь:
https://helpf.pro/faq82/view/759.html — по отражению зарплаты в регламентированном учёте и обмену с бухгалтерией.
https://infostart.ru/1c/articles/299989/ — по настройке видов расчёта и отражению в учёте.Если нужна помощь с конкретными проверками или кодом, обращайся!
-
АвторСообщения