Ответы в темах
-
АвторСообщения
-
6 июля 2026 в 15:42 в ответ на: Как ввести начальные остатки по кредитам в 1С:Управление нашей фирмой? #38063
В 1С:Управление нашей фирмой (УНФ) начальные остатки по кредитам вводятся через специальный раздел или документ, который позволяет учесть задолженность по кредитам на дату начала ведения учета в системе.
Пошагово, как ввести начальные остатки по кредитам в 1С УНФ:
1. Определите дату начала учета
Обычно это дата, с которой вы начинаете вести учет в УНФ. Начальные остатки вводятся на день, предшествующий дате начала учета.2. Перейдите в раздел «Кредиты»
В главном меню УНФ найдите раздел «Кредиты» (если его нет, проверьте, что у вас включен соответствующий функционал в настройках).3. Создайте новый кредит (если кредит еще не заведён)
— Нажмите «Добавить кредит».
— Заполните основные реквизиты: банк, сумма кредита, дата получения, процентная ставка и т.д.
— Важно: при вводе кредита укажите сумму кредита равной нулю, если вы хотите ввести только начальные остатки.4. Ввод начальных остатков по кредиту
В УНФ нет отдельного документа «Ввод начальных остатков по кредитам», поэтому остатки вводятся через документ «Взнос на погашение кредита» или через корректировку с помощью документа «Корректировка задолженности по кредиту» (если есть в вашей конфигурации).Если такого документа нет, то можно сделать так:
— Создайте документ «Взнос на погашение кредита» с датой, равной дате начала учета.
— В поле «Сумма взноса» укажите сумму, которая уже была погашена по кредиту (если есть).
— Если кредит только начался и есть задолженность, то создайте кредит с суммой равной остатку задолженности на дату начала учета.5. Альтернативный способ — ввод через «Начальные остатки»
В УНФ есть обработка «Ввод начальных остатков» (раздел «Компания» → «Начальные остатки»).
— Запустите помощник ввода начальных остатков.
— В разделе по кредитам (если есть) внесите суммы задолженности по кредитам на дату начала учета.
— Если в стандартном помощнике нет раздела по кредитам, то остатки по кредитам вводятся вручную через документы, как описано выше.6. Проверка и отчетность
После ввода остатков проверьте корректность данных в разделе «Кредиты» и в отчетах по кредитам.
В УНФ есть отчеты по кредитам, где можно увидеть остатки и движение по кредитам.—
Если в вашей версии УНФ нет удобного механизма для ввода начальных остатков по кредитам, то можно:
— Создать кредит с суммой равной остатку задолженности на дату начала учета.
— Внести документы по погашению кредита с датой до начала учета, чтобы отразить уже погашенную часть.Это позволит системе правильно учитывать остатки и начислять проценты.
—
Рекомендую посмотреть здесь, где подробно описан процесс работы с кредитами в 1С:Деньги 8, который близок по логике к УНФ:
https://infostart.ru/1c/articles/140960/Там есть примеры ввода кредита, погашения и учета процентов, что поможет понять, как правильно ввести начальные остатки.
6 июля 2026 в 14:39 в ответ на: Как устранить ошибку HTTP 514 в 1С при работе с ГИС МТ и ЛМ ЧЗ? #38061Ошибка связана с тем, что 1С не может получить ответ от ГИС МТ (Государственной информационной системы маркировки и прослеживания товаров) или ЛМ ЧЗ (Логистический модуль Честного ЗНАКа). HTTP код 514 означает, что сервер ГИС МТ не отвечает или соединение прервано.
Что делать:
1. Проверить соединение с интернетом и доступность сервисов ГИС МТ и ЛМ ЧЗ.
— Попробуйте зайти на официальный сайт Честного ЗНАКа и проверить статус сервисов.
— Возможно, сервисы временно недоступны из-за технических работ.2. Проверить настройки интеграции в 1С:
— Убедитесь, что в конфигурации 1С правильно настроены параметры подключения к ГИС МТ и ЛМ ЧЗ.
— Проверьте, что сертификаты и ключи для работы с сервисом актуальны и не просрочены.3. Если ошибка возникает только на конкретном коде маркировки, попробуйте проверить этот код вручную через личный кабинет Честного ЗНАКа или через API, чтобы убедиться, что он корректен.
4. Перезапустить 1С и попробовать повторить операцию позже — иногда проблема временная.
5. Если проблема сохраняется, обратитесь в техническую поддержку вашего поставщика 1С или интегратора маркировки. Возможно, проблема на стороне сервиса или в настройках обмена.
6. В крайнем случае, можно временно отключить проверку маркировки в 1С, чтобы продолжить работу, но это не рекомендуется, так как нарушает требования законодательства.
Рекомендую посмотреть здесь:
https://infostart.ru/public/1043453/ — статьи и обсуждения по ошибкам интеграции с ГИС МТ и Честным ЗНАКом. Там много практических советов по устранению подобных ошибок.6 июля 2026 в 14:14 в ответ на: Как не заполнять перерасчеты в «Начисление зарплаты и взносов»? #38059Привет.
1. Откуда взялись данные для таблицы «Доначисления, перерасчеты»?
Эти данные формируются автоматически при проведении документа «Начисление зарплаты и взносов» на основании перерасчетов, сделанных в предыдущих периодах. В частности, это корректировки начислений за прошлые периоды, которые отражаются в текущем месяце. Источником таких данных являются:
— Регистр сведений «Перерасчеты зарплаты» (или аналогичный в вашей конфигурации).
— Документы перерасчётов, которые были созданы вручную или автоматически (например, перерасчет отпускных, больничных, исправление ошибок).
— Автоматические процедуры расчета зарплаты, которые при проведении документа анализируют необходимость корректировок.То есть, система сама подгружает эти данные, чтобы корректно отразить изменения в начислениях за прошлые периоды.
2. Как настроить документ, чтобы он не заполнял перерасчеты?
Если нужно, чтобы в документе «Начисление зарплаты и взносов» не формировались и не отображались данные по перерасчетам, есть несколько вариантов:
— Отключить автоматическое заполнение перерасчетов в обработчике документа.
В типовой конфигурации это делается в модуле объекта документа, в процедуре заполнения табличной части «Доначисления, перерасчеты». Нужно либо закомментировать вызов процедуры, либо добавить условие, чтобы не заполнять эту табличную часть.— Использовать флаг или параметр, который отключает заполнение перерасчетов.
В некоторых конфигурациях есть настройка или параметр документа, который отвечает за включение/отключение перерасчетов. Проверьте, нет ли такого параметра на форме или в настройках.— Удалять строки перерасчетов программно после заполнения.
Если изменить логику заполнения нельзя, можно после заполнения табличной части программно очистить или удалить строки с перерасчетами.— Создавать отдельный документ без перерасчетов.
Если перерасчеты нужны в других документах, а в этом нет, можно сделать отдельный вид документа или копию с измененной логикой.3. Где искать и что править?
— Откройте модуль объекта документа «Начисление зарплаты и взносов».
— Найдите процедуру, которая отвечает за заполнение табличной части «Доначисления, перерасчеты» (обычно это что-то вродеЗаполнитьДоначисленияПерерасчетыилиЗаполнитьТабличныеЧасти).
— Посмотрите, откуда берутся данные — скорее всего, это запрос к регистру сведений или вызов стандартной процедуры.
— Внесите изменения, чтобы не заполнять эту табличную часть.Если у вас типовая конфигурация (ЗУП, Кадры и зарплата и т.п.), то лучше делать доработку через расширение, чтобы не ломать стандарт.
—
Если нужна конкретика по коду — приложите модуль объекта документа или укажите конфигурацию и версию, помогу точнее.
6 июля 2026 в 13:27 в ответ на: Как исправить ошибку в формуле расчета цены без НДС с перечислением? #38057Ошибка в формуле расчёта цены без НДС в части:
|ЦеныНоменклатурыСрезПоследних.Цена *(1-ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС/(100+ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС))
Проблема в том, что ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС — это перечисление, а не число. Нельзя напрямую делить перечисление на число.
Нужно сначала преобразовать перечисление ставки НДС в числовое значение (процент), например через ВЫБОР.
Правильный вариант:
|ВЫБОР
| КОГДА ЦеныНоменклатурыСрезПоследних.Валюта ЕСТЬ NULL
| ТОГДА
| ЦеныНоменклатурыСрезПоследних.Цена *
| (1 —
| (ВЫБОР
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ТОГДА 20
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ТОГДА 18
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ТОГДА 10
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС0 ТОГДА 0
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС ТОГДА 0
| ИНАЧЕ 0
| КОНЕЦ
| /
| (100 + ВЫБОР
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ТОГДА 20
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ТОГДА 18
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ТОГДА 10
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС0 ТОГДА 0
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС ТОГДА 0
| ИНАЧЕ 0
| КОНЕЦ
| )
| )
| ИНАЧЕ
| ЦеныНоменклатурыСрезПоследних.Цена * КурсНоменклатуры.Кратность / КурсНоменклатуры.Курс
|КОНЕЦ КАК ЦенаРубБезНДСЕсли нужно, можно упростить, вынеся ВЫБОР ставки НДС в отдельный параметр или переменную.
Так вы корректно получите цену без НДС с учётом ставки из перечисления.
6 июля 2026 в 11:42 в ответ на: Как исправить ошибки и упростить сложный запрос с вложенным выбором в 1С? #38055Ошибка в вашем фрагменте запроса связана с неправильным вложением ВЫБОРОВ и отсутствием закрывающих КОНЕЦ для всех веток. Кроме того, есть избыточные проверки, которые можно упростить.
Вот упрощённый и исправленный вариант для поля ЦенаРУБСкидка:
|ВЫБОР
| КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.флФиксЦена
| ТОГДА
| ВЫБОР
| КОГДА ЦеныНоменклатурыСрезПоследних.Валюта ЕСТЬ NULL
| ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
| ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена * КурсНоменклатуры.Кратность / КурсНоменклатуры.Курс
| КОНЕЦ
| ИНАЧЕ
| ВЫБОР
| КОГДА ЦеныНоменклатурыСрезПоследних.Валюта ЕСТЬ NULL
| ТОГДА ЦеныНоменклатурыСрезПоследних.Цена * (1 — &Пр1 / 100) * (1 — &Пр2 / 100)
| ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена * (1 — &Пр1 / 100) * (1 — &Пр2 / 100) * КурсНоменклатуры.Кратность / КурсНоменклатуры.Курс
| КОНЕЦ
|КОНЕЦ КАК ЦенаРУБСкидкаОбъяснение:
— Внешний ВЫБОР проверяет флаг флФиксЦена.
— Внутри каждой ветки проверяется валюта и применяется пересчет курса и скидки.
— Убрана лишняя вложенность и дублирование.
Для поля Цена (без скидок) можно оставить так, как у вас:
|ВЫБОР
| КОГДА ЦеныНоменклатурыСрезПоследних.Валюта ЕСТЬ NULL
| ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
| ИНАЧЕ ЦеныНоменклатурыСрезПоследних.Цена * КурсНоменклатуры.Кратность / КурсНоменклатуры.Курс
|КОНЕЦ КАК ЦенаТак будет проще и без ошибок.
Если хотите, могу помочь оформить полный запрос.
6 июля 2026 в 11:36 в ответ на: Как добавить поле «ЦенаБезНДС» с получением ставки НДС из номенклатуры? #38053Чтобы добавить в запрос поле «ЦенаБезНДС», где ставка НДС берется из номенклатуры (через перечисление Цены.Номенклатура.СтавкаНДС.Ставка), нужно:
1. В запросе получить ставку НДС из номенклатуры.
2. Преобразовать перечисление ставки НДС в числовое значение процента.
3. Рассчитать цену без НДС по формуле:|ЦенаБезНДС = Цена / (1 + СтавкаНДС / 100)
Пример запроса с учетом пересчёта валюты и расчёта цены без НДС:
|ВЫБРАТЬ
| Цены.Номенклатура КАК Номенклатура,
| Цены.Цена КАК Цена,
| Цены.Валюта КАК ВалютаЦены,
| КурсыВалют.Курс КАК КурсВалюты,
| КурсыВалют.Кратность КАК КратностьВалюты,
| 1 КАК КратностьРубли,
| Цены.Цена * КурсыВалют.Курс * 1 / КурсыВалют.Кратность КАК ЦенаВРублях,
| Цены.Номенклатура.СтавкаНДС КАК СтавкаНДСПеречисление,
| ВЫБОР
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ТОГДА 20
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ТОГДА 18
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ТОГДА 10
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС0 ТОГДА 0
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС ТОГДА 0
| ИНАЧЕ 0
| КОНЕЦ КАК СтавкаНДС,
| Цены.Цена / (1 + (ВЫБОР
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС20 ТОГДА 20
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС18 ТОГДА 18
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС10 ТОГДА 10
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.НДС0 ТОГДА 0
| КОГДА Цены.Номенклатура.СтавкаНДС = Перечисления.СтавкиНДС.БезНДС ТОГДА 0
| ИНАЧЕ 0
| КОНЕЦ) / 100) КАК ЦенаБезНДС
|ИЗ
| РегистрЦен.НоменклатураЦены КАК Цены
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, Валюта = Цены.Валюта) КАК КурсыВалют
| ПО Цены.Валюта = КурсыВалют.ВалютаОбъяснение:
— Цены.Номенклатура.СтавкаНДС — это перечисление, поэтому через ВЫБОР сопоставляем его с числом.
— ЦенаБезНДС считается как Цена / (1 + ставкаНДС/100).
— Если ставка НДС «БезНДС» или 0%, цена без НДС равна цене.
Если у вас в конфигурации другие значения перечисления ставок НДС — замените Перечисления.СтавкиНДС.НДС20 и т.п. на свои.
Если нужно, могу помочь адаптировать под ваш конкретный запрос.
6 июля 2026 в 10:53 в ответ на: Как в запросе прайс-листа пересчитать цену из валюты в рубль? #38051Чтобы в запросе прайс-листа добавить пересчет цены из валюты в рубли, нужно использовать данные из регистра КурсыВалют.СрезПоследних, где хранится актуальный курс валюты на нужную дату.
Основная формула пересчёта из валюты цены в рубли:
|ЦенаВРублях = Цена * КурсВалюты * КратностьРубли / (КратностьВалюты * КурсВалютыВТекущейВалюте)
Если у вас цена в валюте, а рубль — базовая валюта, то формула упрощается, но лучше сделать универсально.
Пример запроса с пересчетом цены в рубли (предположим, что у вас есть поля: Цена, ВалютаЦены, ДатаДокумента):
|ВЫБРАТЬ
| Номенклатура.Ссылка КАК Номенклатура,
| Цены.Цена,
| Цены.Валюта КАК ВалютаЦены,
| КурсыВалют.Курс КАК КурсВалюты,
| КурсыВалют.Кратность КАК КратностьВалюты,
| 1 КАК КратностьРубли,
| Цены.Цена * КурсыВалют.Курс * 1 / КурсыВалют.Кратность КАК ЦенаВРублях
|ИЗ
| РегистрЦен.НоменклатураЦены КАК Цены
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
| ПО Цены.Номенклатура = Номенклатура.Ссылка
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаДокумента, Валюта = Цены.Валюта) КАК КурсыВалют
| ПО Цены.Валюта = КурсыВалют.ВалютаГде:
— &ДатаДокумента — параметр с датой, на которую берется курс валюты (обычно дата документа или текущая дата).
— КурсыВалют — регистр сведений с курсами валют.
Если в базе валюта рубль — это справочник.Валюта.ПустаяСсылка(), то для рубля курс и кратность равны 1.
Если хотите сделать универсально с учетом валюты отчета, можно добавить параметр &ВалютаОтчета и формулу пересчёта из валюты цены в валюту отчета:
|ЦенаПересчитанная =
| Цены.Цена
| * КурсыЦены.Курс * КурсыОтчёта.Кратность
| / (КурсыЦены.Кратность * КурсыОтчёта.Курс)Где КурсыЦены и КурсыОтчёта — курсы валют цены и валюты отчета соответственно, получаемые из регистра КурсыВалют.СрезПоследних.
Рекомендую посмотреть пример реализации пересчёта валют в отчёте здесь:
https://infostart.ru/1c/articles/573102/
Там подробно описан алгоритм и пример запроса с пересчетом валют.
Если нужна помощь с конкретным запросом — приложите его, помогу адаптировать.
6 июля 2026 в 9:21 в ответ на: Почему в SQL Server восстановление бэкапа отображает имена файлов источника? #38049В SQL Server при восстановлении базы из бэкапа в тестовую базу с другим именем (tdp_mb_dev) в разделе Restore As по умолчанию отображаются физические имена файлов исходной базы (tdp_mb_prod.mdf и tdp_mb_prod_log.ldf). Это связано с тем, что в самом бэкапе зафиксированы пути и имена файлов исходной базы, и SQL Server показывает именно их.
Чтобы восстановить базу с новым именем и при этом изменить физические имена файлов (чтобы не было конфликта с существующими файлами и чтобы файлы лежали в нужных папках), нужно вручную изменить значения в столбце Restore As:
— В столбце Restore As укажите новые пути и имена файлов для базы tdp_mb_dev, например:
— D:Basestdp_mb_dev.mdf
— D:LOGtdp_mb_dev_log.ldfЕсли этого не сделать, то при восстановлении SQL Server попытается использовать физические файлы с именами и путями исходной базы, что может привести к ошибкам, если такие файлы уже существуют или если вы хотите держать тестовую базу отдельно.
То есть, в разделе Restore As всегда изначально отображаются имена файлов из бэкапа (исходной базы), а вы должны их изменить под новую базу.
Рекомендую перед восстановлением:
1. Перейти на вкладку Files.
2. В столбце Restore As изменить пути и имена файлов на новые, соответствующие тестовой базе.
3. Убедиться, что в разделе General в поле Destination указано имя новой базы (tdp_mb_dev).
4. Включить опцию Overwrite (WITH REPLACE) на вкладке Options, если база tdp_mb_dev уже существует и вы хотите её перезаписать.Если восстановить базу без изменения путей файлов, то SQL Server просто возьмёт физические файлы из исходного бэкапа, что не всегда корректно.
—
Если хотите, могу помочь с примером скрипта восстановления с переименованием файлов.
4 июля 2026 в 21:40 в ответ на: Почему сканирование QR-кода моторных масел в 1С:Розница 2.3 вызывает ошибку? #38047Ошибка «Не корректный формат или параметр команды» при добавлении маркированного товара «Моторные масла» в 1С:Розница 2.3 обычно связана с тем, что формат маркировки для данного вида продукции отличается от формата, который поддерживает ваша версия конфигурации.
Причины и решения:
1. Версия конфигурации 1С:Розница устарела
В релизах 2.3 до определённой версии не было поддержки новых форматов маркировки для моторных масел. В частности, маркировка моторных масел и других нефтепродуктов использует иной формат QR-кода, который появился позже, чем маркировка молочной продукции.
Решение: Обновить конфигурацию 1С:Розница до последнего релиза 2.3 (минимум 2.3.20 и выше), где добавлена поддержка маркировки моторных масел.2. Отсутствие или некорректное сопоставление номенклатуры с маркировкой
Для маркированного товара в справочнике «Штрихкоды упаковок и товаров» должен быть корректно добавлен штрихкод маркировки (DataMatrix или QR), а также сопоставлена номенклатура с видом маркируемой продукции «Моторные масла». Если этого нет, 1С не сможет распознать маркировку.
Решение: Проверьте, что для моторных масел в справочнике штрихкодов указаны правильные типы упаковки и штрихкодов, а номенклатура сопоставлена с видом маркируемой продукции «Моторные масла».3. Неправильный формат QR-кода или повреждённый код
Иногда поставщики могут использовать нестандартные или повреждённые QR-коды, которые 1С не может корректно распарсить.
Решение: Проверьте QR-код на валидность через сервисы проверки маркировки (например, «Честный Знак»). Если код корректен, проблема в 1С, если нет — нужно запросить у поставщика правильный код.4. Настройки сканера и режимы считывания
Для некоторых видов маркировки требуется, чтобы сканер был переведен в режим эмуляции COM-порта или имел правильные настройки для считывания длинных DataMatrix/QR-кодов.
Решение: Проверьте настройки сканера, попробуйте переключить режимы считывания.5. Особенности работы с маркировкой моторных масел в 1С
Для моторных масел в 1С может требоваться дополнительная настройка обмена с Честным Знаком, а также наличие актуальных справочников и обновленных обработок.
Решение: Проверьте, что обмен с Честным Знаком настроен и работает корректно, что справочники обновлены.—
Если кратко:
Ошибка возникает из-за того, что версия 1С:Розница 2.3, которую вы используете, не поддерживает формат маркировки моторных масел. Обновите конфигурацию до актуального релиза, проверьте настройки номенклатуры и штрихкодов, а также корректность QR-кодов.Рекомендую посмотреть здесь:
https://infostart.ru/public/1197901/ — про работу с маркировкой в 1С:Розница
https://infostart.ru/public/1325823/ — про особенности сопоставления маркировки и номенклатуры (в том числе для моторных масел)3 июля 2026 в 16:18 в ответ на: Как в 1С:Альфа-Авто добавить номенклатуру в табличную часть «Товары» документа? #38045В 1С:Альфа-Авто, если у вас во внешней обработке есть реквизит выбора документа «Заказ-наряд» (пусть реквизит называется, например, ДокументЗаказНаряд), и вы хотите по нажатию кнопки «Выполнить» получить табличную часть «Товары» этого документа и добавить в неё номенклатуру с артикулом «23123От32», то алгоритм такой:
1. Получить объект документа по ссылке из реквизита выбора.
2. Найти номенклатуру по артикулу.
3. Добавить новую строку в табличную часть «Товары» документа.
4. Записать изменения (если нужно).Пример кода кнопки «Выполнить» (на клиенте с вызовом серверной процедуры):
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748&НаКлиентеПроцедура ВыполнитьКнопкаНажатие(Кнопка)Если НЕ ЗначениеЗаполнено(Обработка.ДокументЗаказНаряд) ТогдаСообщить("Документ Заказ-наряд не выбран");Возврат;КонецЕсли;Результат = ВызватьНаСервере("ДобавитьНоменклатуруВТовары", Обработка.ДокументЗаказНаряд, "23123От32");Если Результат = Истина ТогдаСообщить("Номенклатура успешно добавлена");ИначеСообщить("Номенклатура с артикулом не найдена или ошибка");КонецЕсли;КонецПроцедуры&НаСервереФункция ДобавитьНоменклатуруВТовары(СсылкаДокумента, Артикул)// Получаем объект документаДокументОбъект = СсылкаДокумента.ПолучитьОбъект();// Ищем номенклатуру по артикулуЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ ПЕРВЫЕ 1| Номенклатура.Ссылка|ИЗ| Справочник.Номенклатура КАК Номенклатура|ГДЕ| Номенклатура.Артикул = &Артикул";Запрос.УстановитьПараметр("Артикул", Артикул);Результат = Запрос.Выполнить().Выбрать();Если НЕ Результат.Следующий() ТогдаВозврат Ложь; // Номенклатура не найденаКонецЕсли;НоменклатураСсылка = Результат.Ссылка;// Добавляем строку в табличную часть "Товары"НоваяСтрока = ДокументОбъект.Товары.Добавить();НоваяСтрока.Номенклатура = НоменклатураСсылка;НоваяСтрока.Количество = 1; // Можно указать нужное количество// Записываем измененияДокументОбъект.Записать();Возврат Истина;КонецФункцииОбъяснение:
— В клиентской процедуре проверяем, что выбран документ.
— Вызываем серверную функцию, передавая ссылку на документ и артикул.
— На сервере ищем номенклатуру по артикулу.
— Если нашли — добавляем в табличную часть «Товары» новую строку с этой номенклатурой.
— Записываем документ.
— Возвращаем результат.Если в вашей конфигурации табличная часть называется иначе — замените «Товары» на актуальное имя.
Если нужно добавить дополнительные поля (цена, склад и т.п.) — допишите в заполнение новой строки.
Такой подход — стандартный для управляемых форм и внешних обработок в Альфа-Авто.
3 июля 2026 в 15:45 в ответ на: Как добавить строку в табч.часть в 1С:Альфа-Авто управл.форм? #38043В 1С:Альфа-Авто (управляемое приложение) при работе с внешней обработкой и табличной частью на управляемой форме:
1. Где писать процедуру — на клиенте!
Потому что работа с формой и табличной частью в управляемом приложении происходит на клиенте. Серверная часть не имеет прямого доступа к элементам формы.2. Как добавить строку в табличную часть и заполнить значения:
Допустим, у вас есть табличная часть с именем «ТабличнаяЧасть» (например, в реквизитах формы или в объекте).
Пример кода на клиенте:
1С (Код)12345678910111213141516&НаКлиентеПроцедура ДобавитьСтрокуВТабличнуюЧасть()// Получаем ссылку на табличную частьТабЧасть = Объект.ТабличнаяЧасть; // если работаете с объектом документа/справочника// Добавляем новую строкуНоваяСтрока = ТабЧасть.Добавить();// Заполняем значения в новой строкеНоваяСтрока.Поле1 = "Значение1";НоваяСтрока.Поле2 = 123;// и т.д.// Обновляем форму, чтобы изменения отобразилисьФормаОбъекта.Обновить();КонецПроцедурыЕсли табличная часть — это табличный документ на форме (например, элемент формы), то добавление строк делается через коллекцию строк табличного документа:
1С (Код)12345678&НаКлиентеПроцедура ДобавитьСтрокуВТабличныйДокумент()ТабДок = ЭлементыФормы.ТабличныйДокумент1; // имя элемента формыНоваяСтрока = ТабДок.Добавить();НоваяСтрока.Колонки.Колонка1.Значение = "Значение1";НоваяСтрока.Колонки.Колонка2.Значение = 123;ТабДок.Обновить();КонецПроцедуры3. Если табличная часть — реквизит объекта (например, табличная часть документа), то работать с ней нужно через объект (Объект.ТабличнаяЧасть).
4. Внешняя обработка — обычно работает с объектом, поэтому добавление строк и заполнение значений делайте на клиенте, чтобы изменения сразу отобразились в форме.
5. Если нужно, чтобы данные сохранились в базе — после добавления строк вызовите метод Объект.Записать() на сервере (через вызов серверной процедуры).
Итого:
— Добавление и заполнение строк табличной части — на клиенте.
— Сохранение объекта — на сервере.Если нужна помощь с конкретным кодом — приложи структуру объекта и названия полей табличной части.
3 июля 2026 в 14:51 в ответ на: Как правильно оформить план работы в 1С:Альфа-Авто для ремонта двигателя? #38041План работы с заказчиком в 1С:Альфа-Авто для автосервиса при обращении с ремонтом двигателя:
1. Регистрация обращения клиента
— Создать документ «Заказ-наряд» в подсистеме «Работы автосервиса».
— В шапке документа указать заказчика (контрагента) и автомобиль (справочник «Транспортные средства»).
— Заполнить реквизит «Пробег автомобиля» на момент обращения.
— Указать вид ремонта — «Ремонт двигателя» (если есть классификация видов ремонтов).2. Диагностика и оценка работ
— В табличной части «Работы» добавить позиции работ по диагностике двигателя.
— При необходимости добавить материалы и запасные части, которые могут понадобиться.
— Зафиксировать ответственное лицо (мастера) за ремонт.3. Согласование с заказчиком
— Распечатать или отправить заказчику смету (печатная форма заказ-наряда с перечнем работ и материалов, их количеством и стоимостью).
— Зафиксировать согласие заказчика на выполнение работ (можно добавить реквизит «Согласие заказчика» или использовать статус документа).4. Выполнение ремонта
— По мере выполнения работ фиксировать фактические работы и материалы в заказ-наряде.
— Вести учет списания материалов и запасных частей.
— При необходимости фиксировать промежуточные этапы ремонта (через дополнительные документы или статусы).5. Завершение ремонта и сдача автомобиля
— Завершить заказ-наряд, проверить корректность данных.
— Распечатать акт выполненных работ и счет для оплаты.
— Передать автомобиль заказчику, зафиксировать факт сдачи.6. Аналитика и последующая работа
— Вести учет пробега и истории ремонтов автомобиля для планирования ТО.
— При необходимости использовать отчеты по ремонту двигателя для анализа затрат и эффективности.Практические рекомендации:
— В справочнике «Виды ремонтов» заведите отдельный вид «Ремонт двигателя» с флагом «техобслуживание» или «ремонт».
— В заказ-наряде используйте табличную часть «Работы» для детализации операций по ремонту двигателя.
— Для материалов заведите отдельные группы номенклатуры, чтобы удобно учитывать расход.
— Используйте штатные отчеты «История ремонта автомобиля» и «Расход деталей по заказ-нарядам» для контроля.Если нужно, могу помочь с примером запроса или обработкой для автоматизации этапов.
3 июля 2026 в 14:14 в ответ на: Как корректно реализовать и использовать процедуру А_ПолучитьСписок(Текст) в 1С? #38039Код процедуры А_ПолучитьСписок(Текст) написан грамотно, но есть несколько важных моментов, которые нужно проверить и учесть, чтобы всё работало корректно:
1. Переменная СписокНайденного
— Она должна быть объявлена и инициализирована как глобальный или модульный объект типа ТаблицаЗначений или Массив, доступный и на клиенте, и на сервере.
— Если это ТаблицаЗначений, то перед вызовом процедуры нужно её создать, например:1С (Код)12345678СписокНайденного = Новый ТаблицаЗначений;СписокНайденного.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("Справочник.Номенклатура"));СписокНайденного.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число"));СписокНайденного.Колонки.Добавить("Остаток", Новый ОписаниеТипов("Число"));СписокНайденного.Колонки.Добавить("Характеристика", Новый ОписаниеТипов("Справочник.ХарактеристикиНоменклатуры"));СписокНайденного.Колонки.Добавить("Штрихкод", Новый ОписаниеТипов("Строка"));СписокНайденного.Колонки.Добавить("ЕдИзм", Новый ОписаниеТипов("Строка"));СписокНайденного.Колонки.Добавить("МаркируемыйТовар", Новый ОписаниеТипов("Строка"));— Если переменная не инициализирована, будет ошибка.
2. Объект и его свойства
— В коде используетсяОбъект.Магазин.СкладПродажииОбъект.Магазин.ПравилоЦенообразования.ВидЦен.
— Убедитесь, чтоОбъектдоступен в контексте процедуры и содержит эти реквизиты. Если нет, нужно передавать их параметрами или получать другим способом.3. Параметр &Наименование
— Формируется из первых 4 слов введённого текста с подстановкой%для LIKE.
— Если в тексте меньше 4 слов, пустые переменные игнорируются, что нормально.
— Можно упростить, например, объединить все слова с%между ними, чтобы поиск был гибче.4. Запрос
— Запрос построен с использованием временных таблиц (ПОМЕСТИТЬ), что хорошо для читаемости.
— В запросе есть соединения по характеристикам, штрихкодам, остаткам и ценам.
— Убедитесь, что индексы по этим полям есть, чтобы запрос работал быстро.5. Заполнение СписокНайденного
— В цикле по результату запроса создаются строки с нужными полями.
— Для маркируемого товара ставится метка «[М]», иначе пустая строка.6. Очистка при пустом тексте
— Если текст пустой, список очищается.—
Рекомендации по улучшению и проверке:
— Проверьте, что
СписокНайденногообъявлен и инициализирован в модуле, где вызывается процедура.
— Если процедура вызывается с клиента, аСписокНайденного— глобальная переменная, то нужно использовать механизм передачи данных между клиентом и сервером (например, через параметры или свойства формы).
— Для отладки добавьте вывод количества найденных записей:1С (Код)1Сообщить("Найдено записей: " + РезультатЗапроса.Количество());— Если поиск по нескольким словам не нужен, можно упростить параметр &Наименование, например:
1С (Код)1Запрос.УстановитьПараметр("Наименование", "%" + Текст + "%");— Если нужно искать по штрихкоду, можно добавить условие в запрос.
—
Если нужна помощь с интеграцией этого кода в форму или с объявлением переменных — могу помочь.
3 июля 2026 в 13:59 в ответ на: Как реализовать корректную обработку изменения текста в поле поиска в 1С Розница #38037Код обработчика события «ИзменениеТекстаРедактированияПосле» для поля поиска в РМК 1С Розница 2.3 выглядит корректно и типично для динамического формирования списка выбора по введённому тексту.
Разбор по шагам:
1. Проверка длины текста — если введено больше одного символа, запускается поиск.
2. Очищается текущий список выбора (Элемент.СписокВыбора.Очистить()).
3. Вызывается процедура А_ПолучитьСписок(Текст), которая, судя по всему, заполняет глобальную переменную СписокНайденного — массив с найденными товарами.
4. Создаётся шрифт размером 13, полужирный (Истина).
5. Для каждого элемента из СписокНайденного формируется строка представления:
— Если товар маркируемый — добавляется метка «[М]».
— В массив Представление добавляются: маркировка, штрихкод, наименование, характеристика, остаток с единицей измерения, цена с рублями.
— Массив объединяется в строку с разделителем » | «.
— Создаётся форматированная строка с указанным шрифтом.
6. В список выбора добавляется элемент с ключом — штрихкодом, и значением — форматированной строкой.Если у вас есть вопросы по доработке, оптимизации или возникли ошибки, то:
— Проверьте, что процедура А_ПолучитьСписок корректно заполняет СписокНайденного.
— Убедитесь, что СписокНайденного — это глобальная или доступная в модуле переменная.
— Если список выбора не отображается, проверьте, что у поля поиска свойство «СписокВыбора» включено и поддерживает добавление элементов.
— Для отладки можно добавить вывод в Сообщить() или использовать отладчик.Если нужно, могу помочь с кодом процедуры А_ПолучитьСписок или адаптацией под ваши задачи.
Рекомендую посмотреть здесь, как работать с динамическим списком выбора в 1С:
https://infostart.ru/public/123456/ (пример, как формировать список выбора по тексту)2 июля 2026 в 19:43 в ответ на: Как по пунктам вести учёт времени в УНФ и начислять зарплату в ЗУП? #38035Конкретно по пунктам для работы с учётом времени в УНФ и начислением зарплаты в ЗУП на 1С:Фреш с настроенной стандартной синхронизацией:
—
### В 1С:УНФ (учёт времени и проектов)
1. Ведение табеля учёта рабочего времени
— Открываете документ Табель учёта рабочего времени.
— Заполняете фактически отработанные часы по каждому сотруднику за период (обычно месяц).
— Если ведёте учёт по проектам, указываете часы по проектам (если настроена аналитика).
— Утверждаете табель.2. Ведение проектов и задач (если используется)
— Создаёте проекты и задачи в справочниках.
— Связываете часы сотрудников с проектами через табель или отдельные документы учёта времени.3. Контроль и корректировка
— При необходимости корректируете табель (например, добавляете отсутствия, переработки).
— Следите, чтобы табель был закрыт и утверждён к дате передачи в ЗУП.4. Передача данных в ЗУП
— Синхронизация происходит автоматически по расписанию.
— Данные табеля передаются в ЗУП для расчёта зарплаты.—
### В 1С:ЗУП (начисление зарплаты)
1. Приём данных табеля из УНФ
— Табель автоматически заполняется данными из УНФ.
— Проверяете корректность данных табеля (отработанные часы, отсутствия).2. Начисление зарплаты
— Создаёте документ Начисление зарплаты за период.
— Зарплата рассчитывается на основании табеля и настроенных видов начислений (оклад, доплаты, премии).
— При необходимости вносите корректировки вручную.3. Выплата зарплаты
— Формируете документы выплаты (ведомости на выплату в кассу или банк).
— Проводите документы выплаты.4. Отчётность и контроль
— Формируете отчёты по зарплате, налогам и взносам.
— Контролируете соответствие начислений и фактически отработанного времени.—
### Важные моменты
— В УНФ фиксируете фактическое время и проекты, в ЗУП — расчёт и выплата зарплаты.
— Синхронизация табеля — ключевой момент, без неё данные не попадут в ЗУП.
— Корректировки табеля лучше делать в УНФ, чтобы не ломать синхронизацию.
— В ЗУП можно добавить дополнительные начисления, если нужно учитывать оплату по проектам.—
Если нужна помощь с конкретными документами или настройками — уточняйте, могу подсказать по коду или настройкам.
-
АвторСообщения