Ответы в темах
-
АвторСообщения
-
8 июля 2026 в 12:43 в ответ на: Как правильно использовать ПОМЕСТИТЬ после ВЫБРАТЬ в запросах 1С? #38091
Вот правильный вариант запроса с использованием временных таблиц (ПОМЕСТИТЬ после ВЫБРАТЬ), без вложенных подзапросов, с необходимыми условиями и удобный для отладки:
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| Остатки.СуммаОстаток КАК СуммаОстаток
|ПОМЕСТИТЬ ВТ_Остатки
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК Остатки
|;
|
|ВЫБРАТЬ
| Обороты.Счет КАК Счет,
| Обороты.Период КАК Период,
| Обороты.Регистратор КАК Регистратор
|ПОМЕСТИТЬ ВТ_Обороты
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &Дата, , Счет = &Счет, , , ) КАК Обороты
|;
|
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| МАКСИМУМ(Обороты.Период) КАК ПоследнийПериод
|ПОМЕСТИТЬ ВТ_ПоследнийПериод
|ИЗ
| ВТ_Остатки КАК Остатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Обороты КАК Обороты
| ПО Остатки.Счет = Обороты.Счет
|ГРУППИРОВАТЬ ПО
| Остатки.Счет,
| Остатки.Субконто1,
| Остатки.Субконто2
|;
|
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| Остатки.СуммаОстаток КАК СуммаОстаток,
| Обороты.Регистратор КАК ПоследнийДокумент
|ИЗ
| ВТ_Остатки КАК Остатки
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ПоследнийПериод КАК ПоследнийПериод
| ПО Остатки.Счет = ПоследнийПериод.Счет
| И Остатки.Субконто1 = ПоследнийПериод.Субконто1
| И Остатки.Субконто2 = ПоследнийПериод.Субконто2
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Обороты КАК Обороты
| ПО Обороты.Счет = ПоследнийПериод.Счет
| И Обороты.Период = ПоследнийПериод.ПоследнийПериод
|
|ГДЕ
| Остатки.Счет = &Счет—
Пояснения:
— ВТ_Остатки — остатки по счету и аналитике.
— ВТ_Обороты — обороты по счету с периодом и регистратором.
— ВТ_ПоследнийПериод — для каждой аналитики из остатков находим максимальный период из оборотов.
— Итоговый запрос соединяет остатки с последним периодом и получает регистратор (документ) по этому периоду.
— Условие по счету для фильтрации.—
Параметры:
— &Дата — дата для остатков (например, КонецДня(ТекущаяДата))
— &ДатаНачала — дата начала периода для оборотов (например, НачалоДня(ДатаНачалаПериода))
— &Счет — счет плана счетов—
Такой запрос проще читать и отлаживать.
—
Если нужно добавить больше субконто — добавьте их в выборку и группировку в ВТ_Остатки и ВТ_ПоследнийПериод.
—
Если нужна помощь с конкретными субконто — уточните.
8 июля 2026 в 12:26 в ответ на: Как оптимизировать запрос 1С для остатков и оборотов с временными таблицами? #38089Вот оптимизированный вариант запроса с использованием временных таблиц (временных таблиц 1С — через ПОМЕСТИТЬ), без вложенных подзапросов, с необходимыми условиями и удобный для отладки.
|////////////////////////////////////////////////////////////////////////////////
|// 1. Помещаем остатки по счету и аналитике во временную таблицу
|ПОМЕСТИТЬ ВТ_Остатки
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| Остатки.СуммаОстаток КАК СуммаОстаток
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК Остатки
|;
|
|////////////////////////////////////////////////////////////////////////////////
|// 2. Помещаем все обороты по счету (без аналитики) во временную таблицу
|ПОМЕСТИТЬ ВТ_Обороты
|ВЫБРАТЬ
| Обороты.Счет КАК Счет,
| Обороты.Период КАК Период,
| Обороты.Регистратор КАК Регистратор
|ИЗ
| РегистрБухгалтерии.Хозрасчетный.Обороты(&ДатаНачала, &Дата, , Счет = &Счет, , , ) КАК Обороты
|;
|
|////////////////////////////////////////////////////////////////////////////////
|// 3. Находим последний период по каждой аналитике из остатков, используя ВТ_Обороты
|ПОМЕСТИТЬ ВТ_ПоследнийПериод
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| МАКСИМУМ(Обороты.Период) КАК ПоследнийПериод
|ИЗ
| ВТ_Остатки КАК Остатки
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_Обороты КАК Обороты
| ПО Остатки.Счет = Обороты.Счет
|ГРУППИРОВАТЬ ПО
| Остатки.Счет,
| Остатки.Субконто1,
| Остатки.Субконто2
|;
|
|////////////////////////////////////////////////////////////////////////////////
|// 4. Соединяем остатки с последним периодом и получаем регистратор из ВТ_Обороты
|ВЫБРАТЬ
| Остатки.Счет КАК Счет,
| Остатки.Субконто1 КАК Субконто1,
| Остатки.Субконто2 КАК Субконто2,
| Остатки.СуммаОстаток КАК СуммаОстаток,
| Обороты.Регистратор КАК ПоследнийДокумент
|ИЗ
| ВТ_Остатки КАК Остатки
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ПоследнийПериод КАК ПоследнийПериод
| ПО Остатки.Счет = ПоследнийПериод.Счет
| И Остатки.Субконто1 = ПоследнийПериод.Субконто1
| И Остатки.Субконто2 = ПоследнийПериод.Субконто2
| ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Обороты КАК Обороты
| ПО Обороты.Счет = ПоследнийПериод.Счет
| И Обороты.Период = ПоследнийПериод.ПоследнийПериод
|;
|
|ГДЕ
| Остатки.Счет = &Счет—
Пояснения:
— ВТ_Остатки — остатки по аналитике и счету.
— ВТ_Обороты — все обороты по счету без аналитики (чтобы не дублировать аналитики, берем только счет и период, регистратор).
— ВТ_ПоследнийПериод — для каждой аналитики из остатков находим максимальный период из оборотов.
— В итоговом запросе соединяем остатки с последним периодом и получаем регистратор (документ) по этому периоду.
— Условие по счету везде для фильтрации.—
Параметры запроса:
— &Дата — дата, на которую берутся остатки (например, КонецДня(ТекущаяДата))
— &ДатаНачала — дата начала периода для оборотов (например, НачалоДня(ДатаНачалаПериода))
— &Счет — счет плана счетов, по которому нужна аналитика—
Такой запрос проще читать и отлаживать, т.к. все логические части вынесены во временные таблицы.
—
Пример установки параметров в 1С:
1С (Код)123456Запрос = Новый Запрос;Запрос.Текст = " ... (текст запроса выше) ... ";Запрос.УстановитьПараметр("Дата", КонецДня(ТекущаяДата));Запрос.УстановитьПараметр("ДатаНачала", НачалоДня(ДатаНачалаПериода));Запрос.УстановитьПараметр("Счет", ПланыСчетов.Хозрасчетный.ОсновнойСчет);Результат = Запрос.Выполнить();—
Если нужно добавить больше субконто — добавьте их в выборку и группировку в ВТ_Остатки и ВТ_ПоследнийПериод.
—
Если нужна помощь с конкретными субконто — уточни, помогу подкорректировать.
8 июля 2026 в 11:49 в ответ на: Как в 1С определяется и обрабатывается время в значении типа «Дата»? #38087В 1С действительно дата и время хранятся в одном значении типа «Дата», где целая часть — это дата, а дробная часть — время. То есть время — это дробная часть даты. Это базовое поведение 1С.
Если у тебя есть значение типа ДатаВремя, то:
— Целая часть — дата (число дней с 01.01.1900)
— Дробная часть — время (доля суток)Например, чтобы получить время из даты, нужно вычесть целую часть:
1С (Код)1Время = ДатаВремя - Цел(ДатаВремя);Если ты считаешь, что это не так, возможно, ты путаешь с типом «Время» или «Дата» отдельно.
—
Вот правильный и проверенный код для подписки «ПередЗаписью», который проверяет время в реквизите Дата и при необходимости меняет его на 23:00:00:
1С (Код)123456789101112131415161718192021Процедура ПодпискаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) ЭкспортЕсли ТипЗнч(Источник) = Тип("ДокументОбъект") Тогда// Проверяем, что реквизит Дата заполненЕсли НЕ ЗначениеЗаполнено(Источник.Дата) ТогдаВозврат;КонецЕсли;// Получаем время из даты (дробная часть)ВремяДокумента = Источник.Дата - Цел(Источник.Дата);// Время 23:00:00 в виде дробиВремяМаксимум = (23 * 3600) / 86400; // 23 часа в долях сутокЕсли ВремяДокумента > ВремяМаксимум Тогда// Устанавливаем дату с временем 23:00:00Источник.Дата = Цел(Источник.Дата) + ВремяМаксимум;КонецЕсли;КонецЕсли;КонецПроцедуры—
Если хочешь, чтобы проверять только для определённых типов документов, добавь проверку по имени метаданных:
1С (Код)123Если Источник.Метаданные().Имя = "ИмяДокумента" Тогда// проверка и корректировка времениКонецЕсли;—
Если у тебя есть сомнения, проверь в отладчике:
1С (Код)123Сообщить("Дата: " + Формат(Источник.Дата, "ДФ=yyyy-MM-dd HH:mm:ss"));Сообщить("Целая часть: " + Формат(Цел(Источник.Дата), "ДФ=yyyy-MM-dd HH:mm:ss"));Сообщить("Время (дробь): " + (Источник.Дата - Цел(Источник.Дата)));Это покажет, что время — это дробная часть даты.
—
Рекомендую посмотреть здесь, чтобы убедиться:
https://helpf.pro/faq8/view/1108.html8 июля 2026 в 11:17 в ответ на: Почему ошибка «Значение не объектного типа (Имя)» в 1С при обновлении? #38085Ошибка «Значение не является значением объектного типа (Имя)» в модуле ОбщегоМодуля.УправлениеПечатью на строке с проверкой Макет.Имя говорит о том, что переменная Макет в цикле не является объектом с полем Имя, а, скорее всего, равна Неопределено или другому не объектному значению.
Причина:
— В функции УправлениеПечатью.МакетыПечатныхФорм() возвращается коллекция, в которой есть элементы, не являющиеся объектами с полем Имя.
— Либо в процессе обновления конфигурации или метаданных произошла ошибка, из-за которой данные макетов повреждены или не загружены.Что делать:
1. Проверить функцию МакетыПечатныхФорм() в общем модуле УправлениеПечатью. Там должен быть цикл по коллекции макетов, где каждый элемент — объект с полем Имя. Нужно добавить проверку, что Макет не равен Неопределено и является объектом:
1С (Код)1234567Для Каждого Макет Из УправлениеПечатью.МакетыПечатныхФорм() ЦиклЕсли ТипЗнч(Макет) = Тип("Объект") И Макет <> Неопределено ТогдаЕсли СтрНайти(Макет.Имя, "ПФ_") > 0 Тогда// Ваш кодКонецЕсли;КонецЕсли;КонецЦикла;2. Если это типовая конфигурация, попробуйте выполнить полное обновление конфигурации через конфигуратор, чтобы восстановить метаданные и макеты.
3. Проверьте, нет ли в базе поврежденных макетов или записей в регистре сведений ОбщиеПоставляемыеМакетыПечати. Возможно, стоит очистить или пересоздать эти записи.
4. Если обновление запускается через командную строку с параметром /C»ВыполнитьОбновлениеИЗавершитьРаботу;РегламентныеЗаданияОтключены», убедитесь, что процедура ВыполнитьОбновлениеИЗавершитьРаботу корректно обрабатывает обновление и не вызывает устаревший или поврежденный код.
5. Для диагностики можно добавить в общий модуль УправлениеПечатью вывод отладочной информации перед строкой с ошибкой, чтобы понять, какой именно элемент вызывает проблему.
6. Если база сильно модифицирована, возможно, стоит обратиться к разработчику конфигурации или в техподдержку 1С с полным логом ошибки.
Рекомендую посмотреть здесь, где обсуждается похожая ошибка и способы её устранения:
https://infostart.ru/public/76235/ (особенно разделы про обновление и работу с макетами печатных форм)
https://helpf.pro/faq/view/1809.html (пример скрипта обновления и рекомендации по работе с обновлениями)
В итоге, ошибка связана с тем, что в цикле по макетам печатных форм встречается не объект с полем Имя, а что-то другое. Нужно добавить проверку типа и/или восстановить метаданные и макеты.
8 июля 2026 в 10:47 в ответ на: Как задать код для события «ПередЗаписью» с проверкой типа и времени? #38083Вот пример кода для подписки на событие «ПередЗаписью» в общем модуле, который проверяет тип документа, смотрит время в реквизите Дата и при необходимости меняет время на 23:00:00.
1С (Код)12345678910111213141516171819Процедура ПодпискаПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт// Проверяем, что это объект документаЕсли ТипЗнч(Источник) = Тип("ДокументОбъект") Тогда// Список типов документов, для которых нужно ограничить времяМассивДокументов = Новый Массив;МассивДокументов.Добавить("ЗаказПокупателя");МассивДокументов.Добавить("РеализацияТоваровУслуг");// Добавьте сюда свои имена документовЕсли МассивДокументов.Содержит(Источник.Метаданные().Имя) Тогда// Проверяем время в реквизите ДатаЕсли Время(Источник.Дата) > Время(23,0,0) ТогдаИсточник.Дата = Дата(Источник.Дата) + Время(23,0,0);КонецЕсли;КонецЕсли;КонецЕсли;КонецПроцедурыКак использовать:
— Создайте подписку на событие «ПередЗаписью» для объекта «ДокументОбъект».
— В качестве обработчика укажите эту процедуру (например,ПодпискаПередЗаписьюв общем модуле).
— В массивеМассивДокументовукажите имена документов, для которых нужно ограничение времени.Если хотите, чтобы для всех документов ограничивалось время, уберите проверку по имени документа.
Рекомендую для подписок использовать общий модуль с параметром «Вызов сервера» и «Сервер, клиент», чтобы код работал корректно.
Если нужно автоматически ограничить время документа не позднее 23:00 (например, чтобы не было 23:59:59), то правильное место для такой логики — событие «ПередЗаписью» документа.
Вот как это сделать:
1. В модуле объекта документа (или в общем дополнительном модуле, если хотите универсальное решение) создайте процедуру, которая будет проверять и корректировать время документа.
Пример кода в модуле объекта документа:
1С (Код)123456789Процедура ПередЗаписью(Отказ)// Проверяем, если время документа позже 23:00:00, то ставим 23:00:00Если Время(ДатаВремяДокумента()) > Время(23,0,0) ТогдаДатаДокумента = Дата(ДатаВремяДокумента());// Устанавливаем время 23:00:00ДатаВремяДокумента = ДатаДокумента + Время(23,0,0);ЭтотОбъект.Дата = ДатаВремяДокумента;КонецЕсли;КонецПроцедуры2. Если у вас много типов документов и хотите универсальное решение, то лучше сделать процедуру в дополнительном модуле, например:
1С (Код)12345Процедура ОграничитьВремяДокумента(Источник)Если Время(Источник.Дата) > Время(23,0,0) ТогдаИсточник.Дата = Дата(Источник.Дата) + Время(23,0,0);КонецЕсли;КонецПроцедурыИ в событии «ПередЗаписью» документа вызвать:
1С (Код)1ДополнительныйМодуль.ОграничитьВремяДокумента(ЭтотОбъект);3. Если документы могут проводиться неоперативно (с разным временем), то можно дополнительно проверять режим проведения и дату, чтобы не менять время в других случаях.
4. В конфигураторе в разделе «Подписки на события» можно настроить подписку на событие «ПередЗаписью» для нужных документов и там вызвать эту процедуру.
Так вы гарантируете, что при записи документа время не будет позже 23:00.
Рекомендую посмотреть здесь, там подробно описан похожий пример с ограничением времени документа в 23:00:
https://infostart.ru/1c/articles/2118760/8 июля 2026 в 10:42 в ответ на: Как перенести справочник в 1С Бухгалтерии из одной базы в другую? #38079Перенос справочника из одной базы 1С Бухгалтерии в другую можно сделать несколькими способами. Вот самые практичные и распространённые:
1. Выгрузка/загрузка данных через универсальный обмен данными (УОД) в формате XML
— В исходной базе зайдите в меню:
_Сервис → Прочие обмены данными → Универсальный обмен данными (XML)_
— Выберите «Выгрузить данные»
— В списке объектов отметьте нужный справочник (например, «Контрагенты», «Номенклатура» и т.п.)
— Сохраните файл выгрузки на диск
— В целевой базе зайдите в то же меню, но выберите «Загрузить данные»
— Укажите файл выгрузки и загрузите справочникЭтот способ самый универсальный и не требует программирования.
2. Использование обработки «Выгрузка/Загрузка данных»
— В конфигураторе или в режиме предприятия можно использовать стандартную обработку «Выгрузка данных» и «Загрузка данных» (если она есть в вашей конфигурации)
— Аналогично выбираете справочник, выгружаете в файл, потом загружаете в другую базу3. Через внешнюю обработку (если стандартных средств нет или нужно выборочно)
— Создаёте внешнюю обработку, которая выгружает данные справочника в файл (например, в XML или CSV)
— Потом во второй базе загружаете эти данные через аналогичную обработку или вручную4. Через копирование данных с помощью запроса и программного кода
Если базы на одной платформе и у вас есть доступ к обеим, можно написать код, который прочитает данные из справочника одной базы и создаст их во второй. Но это сложнее и требует навыков программирования.
—
Пример выгрузки через УОД (универсальный обмен данными):
|1. В исходной базе:
|Сервис → Прочие обмены данными → Универсальный обмен данными (XML) → Выгрузить данные
|2. Отметить нужный справочник
|3. Сохранить файл выгрузки
|4. В целевой базе:
|Сервис → Прочие обмены данными → Универсальный обмен данными (XML) → Загрузить данные
|5. Выбрать файл выгрузки и загрузить—
Если справочник большой и содержит ссылки на другие объекты, убедитесь, что все связанные справочники тоже перенесены, иначе будут ошибки.
Рекомендую посмотреть здесь:
https://infostart.ru/public/1550/ — подробная инструкция по универсальному обмену данными в 1С.7 июля 2026 в 16:38 в ответ на: Как выбрать подразделение в документе «Поступление в кассу» в 1С? #38077В 1С действительно в документе Поступление в кассу можно указать только одно подразделение. Если на одной кассе пробиваются товары из разных подразделений, то есть несколько вариантов решения:
1. Создать общее (центральное) подразделение для кассы
— Сделайте отдельное подразделение, например, «Розничная касса» или «Общее подразделение розницы».
— В документе Поступление в кассу указывайте именно это общее подразделение.
— Внутренний учет по подразделениям по товарам ведите в других документах (например, в Отчёте о розничных продажах или в регистрах).
— Это самый простой и распространённый вариант, когда касса физически обслуживает несколько подразделений, а в кассовом учёте нужно одно подразделение.2. Разбивать розничные продажи по подразделениям и создавать отдельные Поступления в кассу
— Если есть возможность, в отчёте о розничных продажах или в обработке разбивать суммы по подразделениям.
— Создавать по каждому подразделению отдельный документ Поступление в кассу с соответствующей суммой.
— Это сложнее в реализации и требует дополнительной настройки.3. Использовать функционал нескольких касс (кассовых узлов) с привязкой к подразделениям
— Если касса физически обслуживает несколько подразделений, можно создать для каждого подразделения свою кассу (в 1С), даже если физически это один аппарат.
— Тогда в момент пробития чека кассир выбирает кассу с нужным подразделением.
— Но это не всегда удобно и зависит от бизнес-процессов.Если у вас нет возможности или желания усложнять учет, рекомендую вариант №1 — создать общее подразделение для кассы и указывать его в документе Поступление в кассу. Это не нарушит учет и позволит корректно отражать поступление наличных.
Рекомендую посмотреть здесь:
https://its.1c.ru/db/metod8dev#content:456:hdoc — раздел про учет по подразделениям и кассам в 1С.В 1С по каждой физической кассе ККМ (контрольно-кассовому аппарату) должна быть привязана своя отдельная касса в справочнике «Кассы». Вот почему:
1. Касса в 1С — это учетный объект, который отражает конкретное рабочее место кассира или конкретный кассовый аппарат.
2. Если у вас несколько кассовых аппаратов (несколько рабочих мест кассиров), то для каждого ККМ нужно создать отдельную кассу в 1С и привязать к ней соответствующий ККМ.
3. В документах розничной продажи указывается именно та касса (из справочника), к которой привязан конкретный ККМ, с которого пробивается чек. Это важно для правильного учета наличных, формирования отчетов и контроля.
4. Если вы используете одну кассу на всю организацию, а физически у вас несколько ККМ, то это приведет к путанице в учете, невозможности корректно вести кассовые смены и отчетность по каждому рабочему месту.
5. При работе с несколькими кассами и ККМ в 1С рекомендуется:
— Создать в справочнике «Кассы» отдельные кассы для каждого ККМ.
— В настройках торгового оборудования привязать каждый ККМ к своей кассе.
— В документах розничной продажи указывать соответствующую кассу.
6. Это позволит вести раздельный учет по кассам, контролировать остатки наличных, формировать отчеты по каждой кассе и соблюдать требования законодательства.Если у вас несколько складов и подразделений, это не мешает использовать одну организацию, но кассы должны быть отдельными по каждому ККМ.
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/1083.html — раздел про работу с ККМ и кассами в 1С Управление торговлей и Розница.7 июля 2026 в 16:29 в ответ на: Нужно ли нажимать «Принять оплату» в 1С после закрытия смены кассира? #38073Да, нажимать кнопку «Принять оплату» нужно обязательно. Вот почему и как это работает:
1. Отчёт о розничных продажах — это документ, который фиксирует факт реализации товаров через кассу (чеками ККМ) за смену, но он не отражает фактического поступления денег в кассу с точки зрения бухгалтерии.
2. После закрытия смены в списке документов Поступление в кассу на вкладке Денежные средства к поступлению появляются суммы из этих отчетов, которые нужно «принять» в кассу.
3. Нажатие кнопки «Принять оплату» формирует документ Поступление в кассу с операцией «Розничная выручка». Этот документ отражает фактическое поступление наличных денег в кассу организации и формирует бухгалтерские проводки.
4. Без оформления документа Поступление в кассу по розничной выручке не будет корректного отражения движения денежных средств в бухгалтерском учёте, и кассовая дисциплина будет нарушена.
5. Таким образом, последовательность:
— Кассир закрывает смену → формируется Отчёт о розничных продажах
— В списке Поступление в кассу появляются суммы к поступлению
— Вы нажимаете «Принять оплату» → создаётся документ Поступление в кассу: Розничная выручка → деньги официально оприходованы в кассе.Это стандартная практика для правильного ведения кассового учёта в 1С:Розница.
7 июля 2026 в 16:22 в ответ на: Как правильно оформить оплату по накладной: картой и на расчетный счет? #38071Да, вы всё правильно делаете, вот как это работает и что важно учесть:
1. Оплата картой по расходной накладной:
— Создаёте документ Оплата картой на основании документа Расходная накладная.
— В этом документе фиксируется факт оплаты банковской картой, сумма и реквизиты оплаты.
— Документ отражает поступление денег на расчётный счёт через эквайринг.
— Важно, чтобы в документе был указан правильный договор с банком (эквайринг), счет учета расчетов по платежным картам (обычно 57.03), чтобы корректно отражать кассовые разрывы.2. Поступление на расчетный счет по расходной накладной:
— Если покупатель платит напрямую на расчетный счет (например, через банк), оформляете документ Поступление на счет на основании той же Расходной накладной.
— В документе указываете сумму оплаты, контрагента, договор и банковский счет.
— Это отражает поступление безналичных денежных средств на расчетный счет организации.3. Важные моменты:
— Оба документа (Оплата картой и Поступление на счет) должны быть связаны с расходной накладной, чтобы учёт был прозрачным и можно было отследить оплату по конкретному отпуску товара.
— В бухгалтерском учёте эти документы формируют проводки по оплате и закрытию задолженности клиента.
— В 1С Розница 3 эти документы корректно отражают движение денежных средств и позволяют вести учёт по видам оплат.4. Для кассира и бухгалтера:
— Кассир оформляет Оплату картой при оплате через POS-терминал.
— Бухгалтер контролирует поступления на расчетный счет через документ Поступление на счет.
— В конце дня сверяете суммы оплат с банком и кассовой сменой.Такой подход обеспечивает правильный учёт оплат по рассрочке и прозрачность движения денег в системе.
7 июля 2026 в 16:15 в ответ на: Как вести кассовый учёт в 1С:Розница 3 с рассрочкой и оплатой картой? #38069Пошагово по кассовому учёту в 1С:Розница 3 с учётом вашей ситуации:
1. В течение дня:
— Продажи через кассу (наличные и карта):
Кассиры оформляют документы Чек ККМ (кассовый чек) при продаже товаров. В чеке указывается вид оплаты: наличные, банковская карта или смешанная оплата. При оплате картой чек пробивается через эквайринговый терминал, интегрированный с 1С.— Отпуск товара в рассрочку:
Для клиентов, которые берут товар в рассрочку, оформляется документ Расходная накладная (отгрузка товара). Этот документ фиксирует факт передачи товара, но оплаты пока нет.— Взносы по рассрочке:
При получении платежа от клиента по рассрочке оформляется документ Поступление в кассу (или Поступление на расчетный счет при оплате картой). В документе указывается основание — соответствующая Расходная накладная. Это позволяет связать оплату с отгрузкой.2. В конце рабочего дня:
— Закрытие кассовой смены:
Кассир открывает и закрывает кассовую смену через интерфейс РМК. При закрытии смены формируется документ Кассовая смена, в котором автоматически собирается информация по всем пробитым чекам ККМ за смену (наличные, карты, возвраты и т.д.).— Отчёт о розничных продажах:
В документе Кассовая смена формируется отчет о розничных продажах, который содержит сведения о суммах наличных и безналичных оплат, списанных товарах, возвратах и т.п. Этот документ служит основанием для бухгалтерского учёта выручки.— Документы по поступлениям в кассу:
Все документы Поступление в кассу (взносы по рассрочке) за день должны быть проведены и учтены отдельно от чеков ККМ, так как это отдельные операции поступления денежных средств.3. Для правильного учёта и передачи в бухгалтерию:
— Все Чеки ККМ должны быть проведены и включены в Кассовую смену (документ закрытия смены).
— Все Расходные накладные должны быть оформлены на отпуск товара в рассрочку.
— Все Поступления в кассу (в том числе по рассрочке) должны быть оформлены и проведены с указанием основания — расходной накладной.
— Если есть оплата банковской картой по расходной накладной, то оформляется Поступление на расчетный счет с привязкой к расходной накладной.
— В конце дня бухгалтерия получает:
— Документ Кассовая смена с отчетом по розничным продажам (чекам ККМ).
— Документы Поступление в кассу и Поступление на расчетный счет по рассрочке.
— Документы Расходная накладная на отпуск товара.4. Рекомендации:
— В настройках кассы и РМК проверьте корректность привязки кассиров, касс и складов.
— Контролируйте, чтобы все документы были проведены в течение дня.
— Для контроля остатков наличности в кассе используйте документ Инвентаризация кассы при необходимости.
— При работе с рассрочкой желательно вести отдельный учет задолженности клиентов (например, через регистры или отчеты).
—
Таким образом, кассир в течение дня пробивает чеки ККМ, оформляет поступления по рассрочке, а в конце дня закрывает кассовую смену. Бухгалтерия получает полный комплект документов для правильного отражения выручки и движения денежных средств.
Привет! В 1С:Управление торговлей (УТ) при сохранении варианта отчета с настройками и попытке сделать его доступным для всех пользователей в разделе «Главное» есть несколько нюансов, из-за которых отчет может не появляться:
1. Раздел «Главное» не является подсистемой для отчетов
В типовых конфигурациях 1С (в том числе УТ) раздел «Главное» обычно не содержит панель отчетов и не является подсистемой, в которую можно добавить отчеты через механизм вариантов. Отчеты обычно группируются в подсистемах, например «Продажи», «Закупки», «Склад» и т.п.
Если вы пытаетесь сохранить вариант отчета в раздел «Главное», он может сохраниться, но не появится в меню отчетов этого раздела, потому что там нет соответствующей панели для отображения вариантов.2. Варианты отчетов сохраняются, но не отображаются в меню из-за настроек подсистемы
Чтобы вариант отчета появился в меню «Отчеты» конкретного раздела, этот отчет должен быть включен в подсистему, которая связана с этим разделом. В УТ это настраивается в конфигураторе или через подсистемы в конфигурации.
Если отчет не привязан к подсистеме, то он не будет отображаться в панели отчетов этого раздела.3. Проверка прав доступа
Убедитесь, что у пользователя, под которым вы смотрите, есть права на просмотр и использование этого варианта отчета. Если права ограничены, отчет может не отображаться.4. Обновление списка отчетов
Иногда после сохранения варианта отчета нужно обновить меню или перезапустить 1С, чтобы изменения вступили в силу.5. Как правильно сделать, чтобы отчет появился в разделе «Главное»
— Лучше добавить отчет в подсистему, которая связана с разделом, где хотите видеть отчет. Например, если хотите видеть отчет в разделе «Главное», то нужно проверить, есть ли у этого раздела подсистема отчетов, и добавить отчет туда.
— Если хотите, чтобы отчет был доступен в общем списке отчетов, можно добавить его в подсистему «Общие» или «Администрирование», если такая есть.
— В конфигураторе можно настроить подсистемы и добавить отчет в нужную подсистему, чтобы он отображался в нужном разделе.6. Проверка в справочнике «Варианты отчетов»
В УТ есть справочник «Варианты отчетов», где хранятся все варианты. Проверьте, что ваш вариант там есть и что у него правильно заполнено поле «Подсистема» или «Раздел».—
Если кратко:
— Сохранение варианта отчета для всех пользователей — это правильно.
— Но чтобы отчет появился в меню раздела «Главное», отчет должен быть включен в подсистему, связанную с этим разделом.
— Раздел «Главное» в типовой УТ обычно не содержит панель отчетов, поэтому отчет там не отображается.Рекомендую проверить в конфигураторе, к какой подсистеме привязан отчет, и добавить его в подсистему, которая отображается в нужном разделе меню.
Рекомендую посмотреть здесь:
https://infostart.ru/public/1016791/ — статья про добавление отчетов в типовые конфигурации 1С, в том числе про подсистемы и варианты отчетов. Там подробно описано, как сделать отчет видимым в нужном разделе.rphost в 1С действительно кэширует память для оптимизации работы — это нормальное поведение. Он выделяет память под объекты, кэш данных, результаты запросов и т.п., чтобы ускорить повторное использование. При этом память не всегда сразу освобождается обратно ОС, а удерживается в пуле для дальнейшей работы.
Почему rphost постепенно забирает память?
— Кэширование данных и объектов в оперативной памяти.
— Фоновые задачи и регламентные задания, которые могут создавать временные объекты.
— Фрагментация памяти внутри процесса.
— Особенности сборщика мусора платформы 1С (он не всегда сразу освобождает память).Как освободить память без перезагрузки rphost?
1. Вызов сборщика мусора вручную из кода (если есть доступ к конфигурации):1С (Код)1СистемныеОбъекты.СборщикМусора.Запустить();Это может помочь освободить неиспользуемые объекты, но не гарантирует возврат памяти ОС.
2. Оптимизация кода и регламентных заданий — уменьшить создание временных объектов, особенно в фоновых задачах.
3. Отключение или ограничение фоновых заданий — иногда именно они «раздувают» память.
4. Мониторинг и анализ утечек памяти — с помощью профилировщиков 1С (например, встроенный профайлер или внешние инструменты) выявить, какие объекты не освобождаются.
5. Очистка кэша сервера 1С — но это требует перезапуска сервера, что вы хотите избежать.
6. Использование параметров кластера для ограничения памяти и перезапуска rphost — вы пока не хотите, но это самый надежный способ контролировать потребление.
Куда утекает память?
— Внутри rphost — объекты 1С, кэшированные данные, временные объекты.
— Внутри платформы — буферы, пул соединений, кеши запросов.
— В результате ошибок в коде — утечки из-за неправильного управления объектами.Рекомендации:
— Проверьте регламентные задания, отключите ненужные.
— Используйте сборщик мусора в коде, если есть возможность.
— Проанализируйте логи и профили памяти.
— Если есть возможность, обновите платформу 1С до актуальной версии — там улучшена работа с памятью.
— В крайнем случае, настройте автоматический перезапуск rphost с лимитами памяти (это стандартная практика).Рекомендую посмотреть здесь — подробный разбор утечек памяти и работы rphost:
https://kuharbogdan.com/stati-po-1s/utechka-pamyati-v-1s-predpriyatii/
и про автоматический перезапуск rphost:
https://infostart.ru/1c/articles/1475941/6 июля 2026 в 15:42 в ответ на: Как ввести начальные остатки по кредитам в 1С:Управление нашей фирмой? #38063В 1С:Управление нашей фирмой (УНФ) начальные остатки по кредитам вводятся через специальный раздел или документ, который позволяет учесть задолженность по кредитам на дату начала ведения учета в системе.
Пошагово, как ввести начальные остатки по кредитам в 1С УНФ:
1. Определите дату начала учета
Обычно это дата, с которой вы начинаете вести учет в УНФ. Начальные остатки вводятся на день, предшествующий дате начала учета.2. Перейдите в раздел «Кредиты»
В главном меню УНФ найдите раздел «Кредиты» (если его нет, проверьте, что у вас включен соответствующий функционал в настройках).3. Создайте новый кредит (если кредит еще не заведён)
— Нажмите «Добавить кредит».
— Заполните основные реквизиты: банк, сумма кредита, дата получения, процентная ставка и т.д.
— Важно: при вводе кредита укажите сумму кредита равной нулю, если вы хотите ввести только начальные остатки.4. Ввод начальных остатков по кредиту
В УНФ нет отдельного документа «Ввод начальных остатков по кредитам», поэтому остатки вводятся через документ «Взнос на погашение кредита» или через корректировку с помощью документа «Корректировка задолженности по кредиту» (если есть в вашей конфигурации).Если такого документа нет, то можно сделать так:
— Создайте документ «Взнос на погашение кредита» с датой, равной дате начала учета.
— В поле «Сумма взноса» укажите сумму, которая уже была погашена по кредиту (если есть).
— Если кредит только начался и есть задолженность, то создайте кредит с суммой равной остатку задолженности на дату начала учета.5. Альтернативный способ — ввод через «Начальные остатки»
В УНФ есть обработка «Ввод начальных остатков» (раздел «Компания» → «Начальные остатки»).
— Запустите помощник ввода начальных остатков.
— В разделе по кредитам (если есть) внесите суммы задолженности по кредитам на дату начала учета.
— Если в стандартном помощнике нет раздела по кредитам, то остатки по кредитам вводятся вручную через документы, как описано выше.6. Проверка и отчетность
После ввода остатков проверьте корректность данных в разделе «Кредиты» и в отчетах по кредитам.
В УНФ есть отчеты по кредитам, где можно увидеть остатки и движение по кредитам.—
Если в вашей версии УНФ нет удобного механизма для ввода начальных остатков по кредитам, то можно:
— Создать кредит с суммой равной остатку задолженности на дату начала учета.
— Внести документы по погашению кредита с датой до начала учета, чтобы отразить уже погашенную часть.Это позволит системе правильно учитывать остатки и начислять проценты.
—
Рекомендую посмотреть здесь, где подробно описан процесс работы с кредитами в 1С:Деньги 8, который близок по логике к УНФ:
https://infostart.ru/1c/articles/140960/Там есть примеры ввода кредита, погашения и учета процентов, что поможет понять, как правильно ввести начальные остатки.
-
АвторСообщения