Ответы в темах
-
АвторСообщения
-
9 июня 2026 в 18:00 в ответ на: Как запрограммировать установку значения в «Поле выбора» обычной формы 1С? #37780
Если у вас на форме обычная форма 1С и в ней есть элемент «Поле выбора» с уже заданным списком значений (СписокВыбора), то чтобы программно установить значение из этого списка, нужно присвоить свойству Значение элемента формы значение из списка.
Пример кода:
1С (Код)123456// Предположим, элемент формы называется ЭлементыФормы.ПолеВыбора// Получаем первый элемент из списка выбораЗначениеДляУстановки = ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(0).Значение;// Устанавливаем значение в поле выбораЭлементыФормы.ПолеВыбора.Значение = ЗначениеДляУстановки;Если нужно установить конкретное значение, например, по ссылке или по значению, то можно перебрать список выбора и найти нужный элемент:
1С (Код)123456Для Индекс = 0 По ЭлементыФормы.ПолеВыбора.СписокВыбора.Количество() - 1 ЦиклЕсли ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(Индекс).Значение = ИскомоеЗначение ТогдаЭлементыФормы.ПолеВыбора.Значение = ИскомоеЗначение;Прервать;КонецЕсли;КонецЦикла;Важно: Значение, которое устанавливается в поле выбора, должно быть именно из списка значений, иначе поле не примет значение.
Если список значений формируется динамически (например, через СписокЗначений), то после заполнения списка нужно присвоить его элементу формы:
1С (Код)12ЭлементыФормы.ПолеВыбора.СписокВыбора = МойСписокЗначений;ЭлементыФормы.ПолеВыбора.Значение = МойСписокЗначений.Получить(0).Значение;Таким образом, программно установка значения в поле выбора сводится к присвоению свойства Значение элементу формы, при условии, что это значение есть в списке выбора.
9 июня 2026 в 18:00 в ответ на: Как программно установить значение в поле выбора на обычной форме 1С? #37778Если у вас на форме обычная форма 1С и в ней есть элемент «Поле выбора» с уже заданным списком значений (СписокВыбора), то чтобы программно установить значение из этого списка, нужно присвоить свойству Значение элемента формы значение из списка.
Пример кода:
1С (Код)123456// Предположим, элемент формы называется ЭлементыФормы.ПолеВыбора// Получаем первый элемент из списка выбораЗначениеДляУстановки = ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(0).Значение;// Устанавливаем значение в поле выбораЭлементыФормы.ПолеВыбора.Значение = ЗначениеДляУстановки;Если нужно установить конкретное значение, например, по ссылке или по значению, то можно перебрать список выбора и найти нужный элемент:
1С (Код)123456Для Индекс = 0 По ЭлементыФормы.ПолеВыбора.СписокВыбора.Количество() - 1 ЦиклЕсли ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(Индекс).Значение = ИскомоеЗначение ТогдаЭлементыФормы.ПолеВыбора.Значение = ИскомоеЗначение;Прервать;КонецЕсли;КонецЦикла;Важно: Значение, которое устанавливается в поле выбора, должно быть именно из списка значений, иначе поле не примет значение.
Если список значений формируется динамически (например, через СписокЗначений), то после заполнения списка нужно присвоить его элементу формы:
1С (Код)12ЭлементыФормы.ПолеВыбора.СписокВыбора = МойСписокЗначений;ЭлементыФормы.ПолеВыбора.Значение = МойСписокЗначений.Получить(0).Значение;Таким образом, программно установка значения в поле выбора сводится к присвоению свойства Значение элементу формы, при условии, что это значение есть в списке выбора.
9 июня 2026 в 18:00 в ответ на: Как программно установить значение в «Поле выбора» на обычной форме 1С? #37776Если на обычной форме 1С есть элемент «Поле выбора» с уже заданным списком значений (СписокВыбора), то чтобы программно установить в этом поле одно из значений, нужно присвоить свойству Значение элемента формы нужное значение из списка.
Пример кода в модуле формы:
1С (Код)12345// Предположим, имя элемента формы "ПолеВыбора"Если ЭлементыФормы.ПолеВыбора.СписокВыбора.Количество() > 0 Тогда// Устанавливаем значение первого элемента спискаЭлементыФормы.ПолеВыбора.Значение = ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(0).Значение;КонецЕсли;Если нужно установить конкретное значение, например, по индексу или по значению, то можно перебрать список и найти нужный элемент:
1С (Код)123456Для Индекс = 0 По ЭлементыФормы.ПолеВыбора.СписокВыбора.Количество() - 1 ЦиклЕсли ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(Индекс).Значение = ЗначениеДляУстановки ТогдаЭлементыФормы.ПолеВыбора.Значение = ЗначениеДляУстановки;Прервать;КонецЕсли;КонецЦикла;Где
ЗначениеДляУстановки— это значение, которое вы хотите установить в поле выбора (например, ссылка на элемент справочника или простой тип).Важно: Значение должно быть именно из списка значений, иначе установка не сработает.
9 июня 2026 в 18:00 в ответ на: Как программно установить значение в поле выбора на обычной форме в 1С? #37774Если на обычной форме 1С есть элемент «Поле выбора» с уже заданным списком значений (СписокВыбора), то чтобы программно установить в этом поле одно из значений, нужно присвоить свойству Значение элемента формы нужное значение из списка.
Пример кода в модуле формы:
1С (Код)12345// Предположим, имя элемента формы "ПолеВыбора"Если ЭлементыФормы.ПолеВыбора.СписокВыбора.Количество() > 0 Тогда// Устанавливаем значение первого элемента спискаЭлементыФормы.ПолеВыбора.Значение = ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(0).Значение;КонецЕсли;Если нужно установить конкретное значение, например, по индексу или по значению, то можно перебрать список и найти нужный элемент:
1С (Код)123456Для Индекс = 0 По ЭлементыФормы.ПолеВыбора.СписокВыбора.Количество() - 1 ЦиклЕсли ЭлементыФормы.ПолеВыбора.СписокВыбора.Получить(Индекс).Значение = ЗначениеДляУстановки ТогдаЭлементыФормы.ПолеВыбора.Значение = ЗначениеДляУстановки;Прервать;КонецЕсли;КонецЦикла;Где
ЗначениеДляУстановки— это значение, которое вы хотите установить в поле выбора (например, ссылка на элемент справочника или простой тип).Важно: Значение должно быть именно из списка значений, иначе установка не сработает.
Привет! Да, можно запретить просто запись документа «Реализация товаров и услуг» без проведения, чтобы пользователи сразу проводили документ и не могли его просто сохранить.
Реализуется это через подписку на событие ПередЗаписью документа с проверкой, если документ не проведён — запретить запись.
Пример кода для общего модуля или подписки на событие:
1С (Код)1234567Процедура ПередЗаписьюРеализации(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт// Если документ не проведён, то запретить записьЕсли НЕ Источник.Проведен ТогдаОтказ = Истина;Сообщить("Документ нельзя просто сохранить. Необходимо сразу провести.");КонецЕсли;КонецПроцедурыДалее эту процедуру нужно подписать на событие ПередЗаписью документа «РеализацияТоваровУслуг»:
— Источник: ДокументОбъект.РеализацияТоваровУслуг
— Событие: ПередЗаписью
— Обработчик: ПередЗаписьюРеализацииТак пользователи не смогут сохранить документ в черновике, только провести.
Если нужна помощь с настройкой подписки — могу подсказать.
Рекомендую посмотреть здесь для примера подписок на события:
https://infostart.ru/public/205097/ (пример запрета неоперативного проведения, там похожий механизм)9 июня 2026 в 9:45 в ответ на: Как исправить ошибку «Неверно указан пользователь или пароль» при подключении че #37770Ошибка «Неверно указан пользователь или пароль» при подключении через COMConnector в обработке ТранспортСообщенийОбменаCOM возникает из-за того, что параметры подключения (имя пользователя или пароль) указаны неверно или не соответствуют настройкам целевой базы 1С.
Для исправления ошибки нужно проверить и сделать следующее:
1. **Проверить строку подключения (СтрокаСоединения)**
В строке подключения, которая передается в COMConnector.Connect(СтрокаСоединения), должны быть корректно указаны:
— Имя пользователя (User)
— Пароль (Password)
— Сервер и база (Srvr и Ref)
Пример строки подключения:1С (Код)1Srvr="srv1";Ref="BaseName";Usr="ИмяПользователя";Pwd="Пароль";Если пароль пустой, то параметр Pwd можно не указывать, но если он есть — он должен быть точным.
2. **Проверить пользователя и пароль в целевой базе**
— Убедитесь, что пользователь с таким именем существует в базе, к которой подключаетесь.
— Проверьте, что пароль пользователя не изменился.
— Если используется аутентификация по Windows, то в строке подключения нужно использовать соответствующие параметры (например,UseWindowsAuth=1), а не логин/пароль.3. **Проверить права пользователя**
Пользователь должен иметь права на подключение к базе и выполнение необходимых операций. Если пользователь заблокирован или не имеет прав, будет ошибка.4. **Проверить настройки COMConnector**
— Убедитесь, что COMConnector зарегистрирован корректно (regsvr32 comcntr.dll).
— Проверьте, что COM+ приложение V82COMConnector настроено и работает.
— Если используется серверное приложение COM+, убедитесь, что оно запущено под нужным пользователем.5. **Проверить параметры в 1CEStart.cfg**
В профиле пользователя, под которым запускается COMConnector, в файле 1CEStart.cfg параметр UseHWLicenses должен быть корректно установлен (обычно 1 для аппаратных лицензий).6. **Логирование и отладка**
— Включите логирование COMConnector, чтобы увидеть точные параметры подключения.
— Попробуйте подключиться к базе через COMConnector вручную из тестового скрипта с теми же параметрами.7. **Особенности версии платформы**
Если база на 8.3, а COMConnector 8.2, возможны несовместимости. Используйте COMConnector той же версии, что и платформа базы.8. **Пример кода подключения**
1С (Код)12СтрокаСоединения = "Srvr=""srv1"";Ref=""BaseName"";Usr=""admin"";Pwd=""пароль"";";Соединение = Новый COMСоединение("V83", СтрокаСоединения);Если пароль неверен, будет именно такая ошибка.
Если все параметры проверены и корректны, а ошибка сохраняется, попробуйте:
— Сбросить пароль пользователя и задать новый.
— Перерегистрировать COMConnector (regsvr32 comcntr.dll).
— Пересоздать COM+ приложение V82COMConnector.Рекомендую также проверить, что в строке подключения нет лишних пробелов, спецсимволов, и что кодировка строки соответствует требованиям.
https://infostart.ru/public/97085/
https://helpf.pro/faq/view/1135/Пишите вопросы, готов помочь!
9 июня 2026 в 7:33 в ответ на: Можно ли использовать китайские иероглифы в 1С для наименования товаров? #37766Да, в 1С можно использовать в наименовании товаров любые символы Unicode, включая китайские иероглифы, арабские буквы, японские кандзи и прочие. 1С поддерживает Unicode (UTF-16), поэтому технически ограничений на набор символов в строках нет.
Однако есть важные моменты:
1. Шрифты и отображение
Чтобы символы отображались корректно в интерфейсе и печатных формах, на клиентской машине должен быть установлен шрифт, поддерживающий нужные символы. Если шрифт не содержит нужных глифов, символы будут отображаться как квадраты или вопросительные знаки.2. Поиск и сортировка
Поиск по таким символам работает, но может быть сложнее, если используются комбинированные символы или суррогатные пары (для символов вне базовой плоскости Unicode). В типовых механизмах 1С это обычно не вызывает проблем, но при сложных фильтрах и сравнениях стоит проверить.3. Обмен данными и интеграция
При обмене данными с другими системами (например, через XML, JSON, CSV) нужно убедиться, что кодировка передается корректно и принимающая система поддерживает эти символы.4. Ограничения конфигурации
В некоторых типовых конфигурациях могут быть ограничения на длину или набор символов в наименованиях, но они обычно не ограничивают Unicode-символы. Если есть кастомные проверки или валидации — их нужно проверить.5. Ввод символов
Вводить такие символы можно с клавиатуры, через копирование, или программно.Если хотите проверить, можно сделать простой тест: создать товар с китайским названием и посмотреть, как он отображается в интерфейсе и печатных формах.
Рекомендую посмотреть здесь:
https://infostart.ru/public/1831750/ — статья про Unicode в 1С, где подробно описано, как 1С работает с разными символами и возможные нюансы.8 июня 2026 в 10:03 в ответ на: Почему в 1С 8.3 используется V82.COMConnector для COM-подключений? #37764Потому что в 1С:Предприятии 8.3 COM-интерфейс реализован именно через объект V82.COMConnector. Это стандартный COM-объект, который предоставляет платформу 8.3 для внешних подключений к серверным базам.
Объяснение:
— V82 — это пространство имён платформы 8.2 и 8.3 (название осталось исторически).
— COMConnector — объект, который реализует COM-интерфейс для подключения к базе 1С.
— Несмотря на то, что версия платформы 8.3, объект называется именно V82.COMConnector, так как платформа 8.3 является развитием 8.2 и сохраняет совместимость с COM-интерфейсом.
— Это официально задокументированный и рекомендуемый способ подключения к серверной базе через COM.Если бы использовался просто V82.Application — это объект для запуска локального сеанса 1С, а не для подключения к серверной базе через COM.
Поэтому для COM-подключения к серверной базе 8.3 используется именно V82.COMConnector.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/156506/ — там подробно про COM-подключение к 1С 8.3 и почему именно V82.COMConnector.Вот пример кода на 1С (BSL) для подключения к серверной базе 1С:Предприятия 8.3 через COM-соединение с использованием объекта V82.COMConnector:
1С (Код)1234567891011121314151617181920Функция ПодключитьсяКСервернойБазе(ИмяСервера, ИмяБазы, Пользователь, Пароль) ЭкспортПопытка// Создаем COM объект коннектораCOMКоннектор = Новый COMОбъект("V82.COMConnector");// Формируем строку подключенияСтрокаПодключения = "Srvr=" + СокрЛП(ИмяСервера) + ";" +"Ref=" + СокрЛП(ИмяБазы) + ";" +"Usr=" + СокрЛП(Пользователь) + ";" +"Pwd=" + СокрЛП(Пароль);// Подключаемся к базеПодключение = COMКоннектор.Connect(СтрокаПодключения);Возврат Подключение; // Возвращаем объект подключенияИсключениеСообщить("Ошибка подключения к базе: " + ОписаниеОшибки());Возврат Неопределено;КонецПопытки;КонецФункцииПример вызова:
1С (Код)1234567Подключение = ПодключитьсяКСервернойБазе("srv1", "BaseName", "admin", "password");Если Подключение <> Неопределено ТогдаСообщить("Подключение успешно");// Можно работать с объектом ПодключениеИначеСообщить("Не удалось подключиться");КонецЕсли;Обратите внимание:
— Для работы с COM-соединением 1С должна быть установлена и зарегистрирована библиотека comcntr.dll соответствующей версии платформы.
— Запускать код нужно с правами, позволяющими создавать COM-объекты.
— Если возникают проблемы с версией COM-коннектора, можно использовать методы из статьи https://infostart.ru/1c/articles/276794/ для переключения версии.
— При необходимости можно использовать объект V82.Application вместо V82.COMConnector, если возникают проблемы с COMConnector (см. https://infostart.ru/1c/articles/156506/).Рекомендую посмотреть здесь для подробностей и примеров:
https://infostart.ru/1c/articles/156506/
https://infostart.ru/1c/articles/276794/5 июня 2026 в 17:00 в ответ на: Как исправить ошибку при вызове метода ПолучитьЛицензиюАвтоматически в 1С? #37760Никита, привет!
Ошибка «{ВнешняяОбработка.StandardLicenseAcquisition.Форма.AcquisitionForm.Форма(1473)}: Ошибка при вызове метода контекста (ПолучитьЛицензиюАвтоматически): При вызове веб-сервиса произошла ошибка. При создании описания сервиса произошла ошибка. URL сервиса:» говорит о том, что 1С не может корректно получить описание веб-сервиса по указанному URL. Это может быть вызвано несколькими причинами:
1. **Неверный или недоступный URL веб-сервиса**
Проверь, что URL веб-сервиса, который используется в обработке, корректен и доступен из вашей сети. Попробуй открыть этот URL в браузере — должен быть доступен WSDL или описание сервиса.2. **Проблемы с сетью или прокси**
Если у вас в сети используется прокси-сервер, возможно, 1С не может пройти через него. В этом случае нужно настроить параметры прокси в 1С или в системе.3. **Несовместимость версии платформы или обработки**
Если обработка рассчитана на определённую версию платформы 1С, а у вас другая, может возникать ошибка при создании описания сервиса. Проверь, что версия платформы и обработки совместимы.4. **Проблемы с сертификатами или HTTPS**
Если веб-сервис работает по HTTPS, возможно, проблема с сертификатами (например, самоподписанный сертификат, отсутствует доверие). В этом случае 1С не сможет загрузить описание сервиса. Можно попробовать временно переключиться на HTTP или добавить сертификат в доверенные.5. **Ошибка в самом WSDL или его недоступность**
Иногда WSDL может быть повреждён или недоступен. Проверь WSDL отдельно, например, с помощью SOAP UI или другого инструмента.6. **Проблемы с авторизацией**
Если веб-сервис требует авторизацию для получения WSDL, а она не настроена в обработке, 1С не сможет получить описание.—
**Что делать:**
— Узнай точный URL веб-сервиса, который используется в обработке.
— Попробуй открыть URL в браузере или SOAP-клиенте, чтобы проверить доступность и корректность WSDL.
— Проверь настройки сети и прокси.
— Если используется HTTPS, проверь сертификаты.
— Убедись, что версия платформы 1С и обработки совместимы.
— Если есть возможность, включи логирование HTTP-запросов в 1С, чтобы увидеть, что именно происходит при попытке получить описание сервиса.
— Если веб-сервис требует авторизацию, настрой её в обработке.—
Если нужна помощь с конкретным URL или кодом обработки — пришли, посмотрю.
—
Если это связано с сервисом 1С:Контрагент или 1С:Лицензирование, то часто помогает обновление платформы и проверка подписки.
—
Если нужна помощь с конкретным кодом или настройками — пиши, помогу.
Один.
5 июня 2026 в 16:00 в ответ на: Как сделать автосоздание счета на оплату при проведении реализации в 1С:КА? #37758Андрей, в 1С:КА (Комплексная автоматизация) стандартного механизма, который бы автоматически создавал счет на оплату при проведении документа «Реализация товаров и услуг», нет. Но это можно реализовать с помощью доработки — написания обработки или расширения, которое будет создавать документ «Счет на оплату» автоматически при проведении реализации.
Как это сделать технически:
1. Создайте обработчик события «ПередЗаписью» или «ПриПроведении» документа «Реализация товаров и услуг». Это можно сделать через расширение конфигурации.
2. В обработчике получите данные по реализации: контрагента, дату, номенклатуру, количество, цены и т.д.
3. Создайте новый документ «Счет на оплату» (если в вашей конфигурации он есть, либо используйте типовой документ «Счет покупателю» или аналогичный).
4. Заполните реквизиты счета на оплату на основании данных реализации: контрагент, дата, товары, суммы.
5. Запишите и проведите созданный счет на оплату.
Пример кода на 1С (упрощённый):
1С (Код)12345678910111213Процедура Реализация_ПриПроведении(ДокументОбъект)НовыйСчет = Документы.СчетНаОплатуПокупателю.СоздатьДокумент();НовыйСчет.Контрагент = ДокументОбъект.Контрагент;НовыйСчет.Дата = ДокументОбъект.Дата;Для Каждого Строка Из ДокументОбъект.Товары ЦиклНоваяСтрока = НовыйСчет.Товары.Добавить();НоваяСтрока.Номенклатура = Строка.Номенклатура;НоваяСтрока.Количество = Строка.Количество;НоваяСтрока.Цена = Строка.Цена;КонецЦикла;НовыйСчет.Записать();НовыйСчет.Провести();КонецПроцедурыЭтот код нужно разместить в обработчике события проведения документа реализации.
Если в вашей конфигурации нет документа «Счет на оплату», то можно создать собственный документ или использовать внешний отчет/обработку для формирования счета.
Также можно рассмотреть вариант автоматического формирования счета на оплату через регламентные задания или по кнопке «Создать счет на оплату» с автоматическим заполнением из реализации.
Рекомендую посмотреть подробности по созданию и автоматизации счетов на оплату в 1С:КА здесь:
https://infostart.ru/public/1955490/ (пример по счетам-фактурам, но логика схожа)
и
https://infostart.ru/public/2026192/ (создание счетов-фактур и счетов на оплату в 1С)Если нужна помощь с конкретным кодом под вашу конфигурацию — могу помочь написать расширение.
В итоге: автоматическое создание счета на оплату при проведении реализации — это доработка, реализуемая через обработчик событий документа реализации, создающий и заполняющий документ счета на оплату.
3 июня 2026 в 10:57 в ответ на: Как в 1С:ЗУП формируется сумма в колонке «Начислено» без НДФЛ? #37755Привет! В отчёте «Задолженность по зарплате» в 1С:ЗУП в колонке «Начислено» обычно показывается сумма к выплате сотруднику, то есть уже с учётом удержаний, включая НДФЛ. То есть там отражается именно чистая сумма, которую сотрудник получит на руки.
Если у тебя в колонке «Начислено» суммы идут без НДФЛ (то есть как будто это сумма «на руки» без вычета налога), то это нормальное поведение отчёта — он показывает именно сумму, которая будет выплачена, а не сумму начисленную «грязными».
Если тебе нужна именно сумма начисленная до удержания НДФЛ, то в стандартном отчёте «Задолженность по зарплате» её нет, нужно либо использовать другой отчёт, либо доработать текущий, чтобы выводить сумму начислений без вычета налогов.
В общем, в стандартном функционале «Начислено» — это сумма к выплате, без НДФЛ, так что у тебя всё правильно.
Рекомендую посмотреть здесь, если хочешь разобраться с отчётами по зарплате и НДФЛ:
https://infostart.ru/public/2519528/
там подробно про отражение НДФЛ и суммы выплат.Ошибка «Ошибка формата потока» при входе в базу 1С обычно связана с повреждением данных конфигурации или пользовательских настроек. Вот основные причины и способы решения:
1. Повреждение объекта конфигурации
— Часто ошибка возникает из-за повреждённого объекта конфигурации (например, формы, отчёта, обработчика).
— Решение:
— Запустите конфигуратор и попробуйте выполнить проверку конфигурации. Ошибка должна указать проблемный объект.
— Если объект найден, снимите с него поддержку и удалите.
— Замените повреждённый объект из резервной копии или типовой конфигурации.
— Сохраните и обновите конфигурацию базы.2. Повреждение пользовательских настроек (например, сохранённых настроек отчётов)
— Ошибка может возникать из-за некорректных данных в справочнике «Сохранённые настройки».
— Решение:
— В режиме 1С зайдите в справочник «Сохранённые настройки» (Операции — Справочники — Сохранённые настройки).
— Найдите настройки, связанные с ошибочным отчётом или формой, и удалите их.
— Проверьте работу базы.3. Проблемы с кешем и временными файлами
— Иногда помогает очистка кеша клиента 1С: удалить содержимое папки:
— Windows 7/10: %AppData%1C1Cv8
— Также можно удалить базу из списка и добавить заново.4. Повреждение базы данных или файлов платформы
— Если база файловая, запустите утилиту chdbfl.exe для проверки и исправления целостности.
— Если клиент-серверная, проверьте свободное место на сервере, особенно в разделе /tmp (для Linux) или временных папках.
— Попробуйте переустановить платформу 1С полностью (удалить старую, установить новую).5. Наличие в строковых реквизитах запрещённых символов (0x1F, 0xFFFF и т.п.)
— Если через COMConnector или внешние обработки передаются строки с такими символами, это может вызвать ошибку.
— Проверьте и очистите такие данные.Если есть возможность, попробуйте:
— Запустить 1С в режиме конфигуратора и выгрузить конфигурацию в файл cf, затем загрузить в новую базу.
— Использовать SQL Profiler (для клиент-серверных баз) для поиска проблемного объекта (см. пример из источников).Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1258594/
https://helpf.pro/faq/view/616.html
https://interface31.ru/tech_it/2013/01/1spredpriyatie-8-oshibka-formata-potoka-pri-obnovlenii.htmlЕсли ошибка появилась после обновления, скорее всего повреждён объект конфигурации — ищите его и заменяйте. Если после вызова отчёта — ищите и удаляйте повреждённые сохранённые настройки.
Привет!
Чтобы учесть возврат (сумму, которую сотрудник должен вернуть) и чтобы она уменьшала сумму к выплате, нужно оформить удержание, а не начисление. Вот как это сделать правильно в 1С ЗУП:
1. Создайте вид удержания
— В справочнике «Виды расчетов» создайте новый вид расчета с типом «Удержание».
— Укажите, что удержание отражается в зарплате и в расчетах с сотрудником.
— Настройте способ отражения в бухгалтерском учете, если нужно.2. Оформите документ удержания
— В разделе «Начисление зарплаты» или «Удержания» создайте документ «Удержание из зарплаты» или «Начисление зарплаты» с видом расчета — вашим удержанием.
— Введите сумму возврата с минусом (если система требует) или просто сумму, которую нужно удержать.
— Укажите сотрудника и период.3. Проверьте расчет зарплаты
— При расчете зарплаты удержание автоматически уменьшит сумму к выплате.
— В расчетном листке удержание будет отдельной строкой, не попадающей в начисления.4. Если удержание связано с продажами или другими данными
— Можно сделать отдельный регистр или документ, который будет фиксировать сумму возврата.
— В обработке расчета зарплаты (например, в обработчике документа «Начисление зарплаты») добавить логику, которая будет брать сумму возврата и создавать удержание по сотруднику.—
По вашему скриншоту с конструктором запроса:
Вы, видимо, пытаетесь получить сумму продаж для расчета процента или бонуса. Чтобы учесть возврат, нужно отдельно получить сумму возвратов (например, по документам возврата или отрицательным суммам) и вычесть её из суммы продаж. Но это касается именно начислений.Для удержания возврата лучше сделать отдельный вид расчета-удержания и оформить документ удержания.
—
Если нужна помощь с конкретным кодом или настройкой, могу подсказать, как написать обработчик или запрос для получения суммы возврата и создания удержания.
-
АвторСообщения