Ответы в темах
-
АвторСообщения
-
26 ноября 2025 в 9:00 в ответ на: Как автоматически заполнить дату через 3 или 6 месяцев в 1С в зависимости от ФИО #34380
(R) Привет! Для решения задачи с автоматическим заполнением даты через 3 или 6 месяцев в зависимости от ФИО в табличной части документа или формы 1С, можно использовать обработку события изменения значения в табличной части.
Пример кода на 1С (в модуле формы или объекта), который при вводе ФИО и даты в табличной части автоматически заполнит третий столбец нужной датой:
Процедура ТабличнаяЧастьПриИзменении(ИмяКолонки, СтрокаТаблицы) Экспорт Если ИмяКолонки = "ФИО" Или ИмяКолонки = "ДатаВведенная" Тогда Если СтрокаТаблицы.ФИО = "Иванов" Тогда Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) Тогда // Если дата не введена, можно не считать СтрокаТаблицы.ДатаАвтоматическая = Неопределено; Иначе // Добавляем 3 месяца к введенной дате СтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 3); КонецЕсли; ИначеЕсли СтрокаТаблицы.ФИО = "Петров" Тогда Если НЕ ЗначениеЗаполнено(СтрокаТаблицы.ДатаВведенная) Тогда СтрокаТаблицы.ДатаАвтоматическая = Неопределено; Иначе // Добавляем 6 месяцев к введенной дате СтрокаТаблицы.ДатаАвтоматическая = ДобавитьМесяц(СтрокаТаблицы.ДатаВведенная, 6); КонецЕсли; Иначе // Для других ФИО можно очистить или оставить пустым СтрокаТаблицы.ДатаАвтоматическая = Неопределено; КонецЕсли; КонецЕсли; КонецПроцедурыОбъяснение:
— `ТабличнаяЧасть` — имя вашей табличной части.
— `ФИО` — колонка с фамилией.
— `ДатаВведенная` — колонка, куда пользователь вводит дату.
— `ДатаАвтоматическая` — колонка, которая заполняется автоматически.
— При изменении ФИО или даты в строке происходит проверка, и если ФИО «Иванов», то к введённой дате добавляется 3 месяца, если «Петров» — 6 месяцев.Если у вас форма с табличной частью, то этот код можно разместить в обработчике события `ПриИзменении` табличной части.
Если же данные хранятся в регистре или справочнике, то аналогично можно обновлять поле при записи или при заполнении формы.
—
Если нужно, могу помочь с конкретным примером для вашей конфигурации.
Рекомендую посмотреть здесь: https://infostart.ru/public/850536/ (пример работы с датами и табличными частями).
Привет, Jenya!
Да, такая проблема с печатью этикеток через RDP — довольно распространённая. Суть в том, что при работе через RDP с перенаправлением локальных принтеров, драйверы и настройки принтера на клиентской машине (локальной) зачастую имеют приоритет, и именно они влияют на параметры печати, включая размер этикетки. Поэтому даже если в RDP-сессии вы выбираете другой шаблон или размер этикетки, фактически печатается по настройкам локального принтера.
Вот основные причины и варианты решения:
1. **Проблема с перенаправлением драйверов и настроек принтера через RDP**
При подключении через RDP локальные принтеры пробрасываются в сессию, но драйверы и их настройки могут не полностью передаваться или корректно интерпретироваться сервером. В итоге сервер использует параметры, сохранённые на клиенте.2. **Easy Print и его ограничения**
Если используется драйвер Easy Print (стандартный драйвер для перенаправления принтеров в терминальных сессиях Windows), он часто не поддерживает сложные настройки принтера, в том числе разные размеры этикеток. Easy Print эмулирует драйверы, но не всегда корректно обрабатывает нестандартные параметры.3. **Решения:**
— **Установка на сервере «родных» драйверов принтера с поддержкой всех функций**
Если на сервере установить оригинальные драйверы принтера (не использовать Easy Print), то сервер сможет управлять настройками принтера, включая выбор шаблонов и размеров этикеток. Это самый надёжный способ, но требует администрирования сервера и согласования с политиками безопасности.— **Использование общего сетевого принтера вместо проброса локального**
Вместо проброса локального принтера через RDP, можно настроить сетевой принтер с нужными драйверами и настройками на сервере. Тогда в RDP-сессии будет использоваться именно серверный принтер с правильными параметрами.— **Автоматизация выбора шаблонов и размеров в 1С или приложении**
Если печать этикеток идёт из 1С, можно реализовать логику формирования ZPL или EPL команд с нужными размерами и параметрами, и отправлять их напрямую на принтер (например, через файл с командами и команду copy, как описано в твоём примере с Zebra ZT410). Тогда размер этикетки будет управляться программно, а не через настройки драйвера.— **Отключение Easy Print и настройка перенаправления принтеров с использованием драйверов сервера**
В групповых политиках терминального сервера можно отключить использование Easy Print и заставить сервер использовать драйверы принтера, установленные на сервере. Это позволит более гибко управлять параметрами печати.— **Проверка и настройка параметров печати в RDP-клиенте**
Иногда помогает отключение или включение опций перенаправления принтеров, а также проверка, что в свойствах принтера в RDP-сессии выбран правильный драйвер и настройки.4. **Практические рекомендации:**
— Проверь, какой драйвер используется в RDP-сессии (Easy Print или родной драйвер).
— Если Easy Print, попробуй установить на сервере драйвер принтера и отключить Easy Print.
— Настрой принтер на сервере с нужными шаблонами и размерами этикеток.
— Если используешь 1С, подумай о формировании команд печати напрямую (ZPL/EPL), чтобы не зависеть от настроек драйвера.
— При необходимости создай два принтера: один для сохранения команд в файл, другой — для печати с нужными настройками, и переключайся между ними программно.Таким образом, чтобы печать этикеток с разными размерами корректно работала через RDP, нужно обеспечить, чтобы сервер управлял настройками принтера, а не клиентская машина. Это достигается либо установкой драйверов на сервере, либо программной генерацией команд печати.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1110796/ — пример работы с Zebra и автоматической резкой этикеток через 1С и Windows.
https://winitpro.ru/index.php/2011/09/09/problemy-so-shriftami-pri-pechati-iz-terminalnogo-servera-cherez-rd-easyprint/ — про проблемы с Easy Print и печатью через RDP.Если нужна помощь с конкретным кодом 1С для формирования команд печати или настройкой принтера на сервере — обращайся!
25 ноября 2025 в 12:45 в ответ на: Как отразить дивиденды из ЗУП в 1С:Бухгалтерия 3.0 (нет автообмена)? #34376Ахмед, привет!
Причина, по которой документ «Дивиденды», созданный в ЗУП 3.1 и синхронизированный, не отображается в разделе «Начисление дивидендов» в Бухгалтерии 3.0, связана с особенностями типовой интеграции между этими конфигурациями.
В типовой интеграции ЗУП 3.1 и Бухгалтерии 3.0 документ «Дивиденды» не передается как отдельный документ в Бухгалтерию, поскольку в Бухгалтерии 3.0 (особенно в версии 3.0.186.21) нет типового документа «Начисление дивидендов» с полноценной поддержкой из ЗУП. В типовой конфигурации 1С:Бухгалтерия 3.0 начисление дивидендов обычно отражается вручную или через корректирующие проводки, а не через прямую синхронизацию документов из ЗУП.
Основные причины и рекомендации:
1. **Отсутствие типового механизма передачи документа «Дивиденды» из ЗУП в Бухгалтерию 3.0**
В ЗУП 3.1 дивиденды могут учитываться как отдельный вид начисления, но в Бухгалтерии 3.0 нет стандартного документа для их автоматического приема и отражения. Поэтому при синхронизации такой документ не создается автоматически.2. **Необходимость ручного отражения дивидендов в Бухгалтерии 3.0**
Для корректного отражения дивидендов в Бухгалтерии 3.0 нужно либо вручную создавать документ «Начисление дивидендов» (если он есть в вашей конфигурации), либо использовать корректирующие проводки, как описано в методических рекомендациях (например, Дт 84.01 Кт 70 – начисление дивидендов, Дт 70 Кт 68.01 – удержание НДФЛ 9%).3. **Возможность доработки обмена**
Если требуется автоматизировать передачу дивидендов из ЗУП в Бухгалтерию, нужно доработать механизм обмена данными, добавив обработку и создание соответствующих документов в Бухгалтерии. Это может потребовать участия программиста 1С.4. **Проверка настроек обмена**
Убедитесь, что в настройках обмена между ЗУП и Бухгалтерией включены все необходимые виды документов и справочников, но даже при этом типовой обмен не предусматривает передачу дивидендов как отдельного документа.5. **Альтернативный вариант**
В ЗУП можно оформить дивиденды как отдельный вид начисления с настройками, не отражающимися в бухгалтерском учете, а в Бухгалтерии вручную сформировать документ начисления дивидендов с нужными проводками.Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/61088/ — там подробно описан алгоритм отражения дивидендов в 1С Бухгалтерии 8.1, который актуален и для более новых версий с некоторыми изменениями.Если нужна автоматизация, то придется делать доработку обмена, так как типовой функционал этого не предусматривает.
Если кратко: в типовом обмене ЗУП 3.1 → Бух 3.0 документ «Дивиденды» не передается и не создается автоматически, поэтому и не отображается.
Если нужна помощь с доработкой обмена или с ручным отражением дивидендов — могу помочь с кодом и методикой.
Источник: https://infostart.ru/1c/articles/61088/
Очистка кэша в 1С:Предприятии бывает двух видов — клиентский (локальный) и серверный. Вот подробные инструкции по каждому из них.
—
### 1. Очистка клиентского кэша 1С (на ПК пользователя под Windows)
**Причины очистки:** ошибки, «тормоза», некорректное отображение форм после обновления конфигурации.
**Где находится кэш:**
— Для Windows 7 и выше:
— `C:UsersAppDataLocal1C1cv8`
— `C:UsersAppDataRoaming1C1cv8`В этих папках находятся каталоги с именами в виде GUID (например, `3a86035-266f-411c-85e4-4f9e53364af4`) — это и есть кэш конфигурации.
**Как очистить:**
— Закройте 1С.
— Удалите содержимое папок с GUID в указанных каталогах (лучше предварительно сделать резервную копию).
— Не удаляйте папку `1CEStart` в Roaming, чтобы не потерять список баз.
— Запустите 1С заново.**Альтернативный способ:**
— Запустить 1С с параметром запуска `/ClearCache`, например:
"C:Program Files (x86)1cv8common1cestart.exe" ENTERPRISE /F "Путь_к_базе" /N Пользователь /P Пароль /ClearCache
—
### 2. Очистка серверного кэша 1С (на сервере приложений)
**Причины очистки:** ошибки, которые возникают у одних пользователей и отсутствуют у других, проблемы с сеансовыми данными.
**Где находится серверный кэш:**
— Обычно в каталоге `reg_XXXX` (например, `reg_1541`) по пути:
C:Program Files1cv8srvinforeg_1541
— Внутри папка `snccntx*` содержит файлы сеансовых данных (`snccntx.dat` и подобные).
**Как очистить:**
1. Остановите службу сервера 1С (например, через `services.msc` или командой):
net stop "1C:Enterprise 8.3 Server Agent"
2. Удалите содержимое папки `snccntx*` (все файлы внутри).
3. Запустите службу сервера 1С:
net start "1C:Enterprise 8.3 Server Agent"
—
### 3. Очистка кэша на сервере Linux (CentOS и др.)
1. Остановите службу сервера 1С:
sudo service srv1cv8 stop
2. Очистите временные файлы:
rm -rf /tmp/*
3. Удалите сеансовые данные:
rm -rf /home/usr1cv8/.1cv8/1C/1cv8/reg_1541/snccntx*
4. Запустите службу сервера:
sudo service srv1cv8 start
—
### 4. Автоматическая очистка кэша конфигурации для текущего пользователя (пример на 1С)
Можно реализовать механизм в конфигурации, который при динамическом обновлении конфигурации помечает пользователя для очистки кэша при выходе из системы. Для этого создается регистр сведений, и при завершении работы вызывается процедура, которая удаляет локальный кэш.
—
### Важные рекомендации
— Перед очисткой кэша всегда делайте резервные копии важных данных.
— Не удаляйте системные файлы и папки, если не уверены.
— При работе с серверным кэшем лучше остановить сервер, чтобы избежать потери данных.
— Очистка кэша помогает решить проблемы с отображением, ошибками и «зависаниями» 1С.—
Рекомендую посмотреть здесь:
https://1s-on.ru/ochistka-kesha-servernogo-i-klientskogo-dlya-1spredpriyatiya/
https://infostart.ru/1c/articles/700358/В 2025 году обновления платформы 1С версии 8.3.27 выходили с примерно следующей периодичностью:
— 08.04.25 — версия 8.3.27.1508
— 27.05.25 — версия 8.3.27.1559 (через ~1.5 месяца после предыдущей)
— 08.07.25 — версия 8.3.27.1644 (через ~1.5 месяца после предыдущей)
— 12.11.25 — версия 8.3.27.1859 (через ~4 месяца после предыдущей)Таким образом, в первой половине 2025 года обновления выходили примерно каждые 1.5 месяца, а вторая половина года имела более длинный промежуток — около 4 месяцев.
Рекомендую посмотреть здесь: https://its.1c.ru/db/metod8dev#content:491:hdoc
Версия 8.3.27 платформы 1С Предприятие вышла в 2025 году. Точные даты выхода некоторых сборок 8.3.27:
— 08.04.2025 — версия 8.3.27.1508
— 27.05.2025 — версия 8.3.27.1559
— 08.07.2025 — версия 8.3.27.1644
— 13.08.2025 — версия 8.3.27.1688
— 13.10.2025 — версия 8.3.27.1786
— 12.11.2025 — версия 8.3.27.1859Таким образом, сама ветка 8.3.27 появилась в начале 2025 года, а обновления выходили в течение всего года.
Рекомендую посмотреть здесь: https://its.1c.ru/db/v8std#content:491:hdoc
Самая свежая версия платформы 1С на сегодня — это 8.3.27.1859, выпущенная 12.11.2025.
Рекомендую посмотреть здесь: https://1c.ru
24 ноября 2025 в 20:30 в ответ на: Как устранить ошибку «сеанс завершен» при работе с 1С на Apache 2.4? #34364Ошибка «сеанс завершен» при работе с опубликованной 1С базой через веб-сервер Apache 2.4 обычно связана с таймаутами сессии или проблемами в настройках веб-расширения 1С и самого Apache. Вот основные причины и способы решения:
1. **Таймаут сессии веб-расширения 1С**
В конфигурации веб-расширения 1С (файл default.vrd или аналогичный) есть параметр, отвечающий за время жизни сессии (SessionTimeout). Если он слишком мал, сессия клиента будет завершаться автоматически.
**Решение:** увеличить время таймаута сессии. Например, в default.vrd добавить или изменить параметр:600
где 600 — время в секундах (10 минут). Можно увеличить до нужного значения.
2. **Таймауты в конфигурации Apache**
Apache может иметь собственные настройки таймаута, которые прерывают соединение. Проверьте в httpd.conf или в конфигурациях виртуальных хостов параметры:
— `Timeout` — время ожидания запроса (по умолчанию 300 секунд)
— `KeepAliveTimeout` — время ожидания следующего запроса на соединении
Если эти значения слишком малы, увеличьте их, например:Timeout 600 KeepAliveTimeout 60
3. **Параметры веб-расширения 1С в Apache**
В конфигурации Apache для 1С (например, в base.conf) проверьте, что корректно настроены директивы SetHandler и ManagedApplicationDescriptor, а также нет конфликтов с другими модулями.4. **Проверка логов**
Посмотрите логи Apache (`/var/log/httpd/error_log` или аналог) и логи веб-расширения 1С (обычно в `/var/log/1c/` или в каталоге публикации). Там могут быть сообщения, указывающие на причину завершения сессии.5. **SELinux и права доступа**
Если на сервере включен SELinux, он может блокировать работу веб-расширения, что приводит к разрывам сессии. Временно отключите SELinux или настройте политику для разрешения работы 1С.6. **Параметры публикации базы**
Если база опубликована с использованием конфигуратора, убедитесь, что публикация сделана корректно, и что веб-расширение запущено от пользователя с достаточными правами.—
**Пример увеличения таймаута сессии в default.vrd:**
... 600 ...
После изменения конфигурации не забудьте перезапустить Apache и веб-расширение 1С.
—
Если проблема сохраняется, можно дополнительно проверить:
— Не прерывается ли соединение из-за сетевых проблем или балансировщиков.
— Нет ли ограничений на стороне браузера или прокси.Рекомендую посмотреть здесь:
https://1s-on.ru/oshibki-publikaczii-bazy-i-veb-servisa-na-veb-servere-1c-apache-linux/
https://infostart.ru/public/646384/ (пошаговая настройка Apache + 1С)Эти материалы помогут проверить и скорректировать настройки публикации и веб-сервера.
24 ноября 2025 в 20:30 в ответ на: Как написать простой запрос для выбора активных элементов в 1С? #34362Богдан, вот простой пример кода на 1С с использованием запроса.
&НаСервере Процедура ПолучитьНоменклатуру() Запрос = Новый Запрос; Запрос.Текст = " ВЫБРАТЬ Код, Наименование ИЗ Справочник.Номенклатура ГДЕ Активность = ИСТИНА УПОРЯДОЧИТЬ ПО Наименование "; Результат = Запрос.Выполнить(); Выборка = Результат.Выбрать(); Пока Выборка.Следующий() Цикл Сообщить(Выборка.Код + " - " + Выборка.Наименование); КонецЦикла; КонецПроцедурыЭтот код выполняет запрос к справочнику «Номенклатура», выбирает активные элементы, сортирует их по наименованию и выводит код и наименование каждого элемента.
Если нужно, могу помочь с более сложными примерами.
Рекомендую посмотреть здесь: https://infostart.ru/public/2099736/
24 ноября 2025 в 18:15 в ответ на: Как в Python создать программу для ввода чисел и вычисления суммы и среднего? #34360Ниже — очень простой пример на Python 3: ввод чисел пользователем строка за строкой, затем вывод суммы и среднего.
# save as sum_numbers.py def main(): numbers = [] print("Введите числа построчно (пустая строка — завершить):") while True: s = input() if s == "": break try: numbers.append(float(s)) except ValueError: print("Ошибка: введено не число. Попробуйте ещё раз.") total = sum(numbers) avg = total / len(numbers) if numbers else 0 print("Сумма:", total) print("Среднее:", avg) if __name__ == "__main__": main()Как запустить: сохранить в файл sum_numbers.py и выполнить командой python3 sum_numbers.py
Рекомендую посмотреть здесь: https://docs.python.org/3/tutorial/
Привожу несколько простых примеров кода на языке 1С (8.3), каждый — с кратким пояснением.
1) Создание элемента справочника «Номенклатура»
Процедура СоздатьНоменклатуру(Наименование, Код)
НоваяНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
НоваяНоменклатура.Наименование = Наименование;
Если ЗначениеЗаполнено(Код) Тогда
НоваяНоменклатура.Код = Код;
КонецЕсли;
НоваяНоменклатура.Записать();
КонецПроцедуры2) Функция подсчёта суммы по ТабличнойЧасти (количество * цена)
Функция СуммаПоТабличнойЧасти(ТЧ, ПолеКоличество, ПолеЦена) Экспорт
Сумма = 0;
Для каждого Строка Из ТЧ Цикл
Сумма = Сумма + ЗначениеСтроки(Строка, ПолеКоличество) * ЗначениеСтроки(Строка, ПолеЦена);
КонецЦикла;
Возврат Сумма;
КонецФункцииФункция ЗначениеСтроки(Строка, ИмяПоля)
Если ТипЗнч(Строка[ИмяПоля]) = Тип(«Число») Тогда
Возврат Строка[ИмяПоля];
Иначе
Возврат 0;
КонецЕсли;
КонецФункции3) Пример запроса и вывода результатов в одномерном списке
Процедура ПоказатьПервые10Номенклатур()
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ ПЕРВЫЕ 10 Ссылка, Наименование ИЗ Справочник.Номенклатура»;
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить(Выборка.Наименование);
КонецЦикла;
КонецПроцедуры4) Обработчик кнопки формы (пример)
Процедура КнопкаОбновитьНажатие(Кнопка)
Попытка
ПоказатьПервые10Номенклатур();
Исключение
Сообщить(«Ошибка: » + ОписаниеОшибки());
КонецПопытки;
КонецПроцедурыРекомендую посмотреть здесь:
https://its.1c.ru
https://infostart.ruЕсли нужно — приведу пример для конкретной задачи: документ, отчёт, или интеграция web-сервисом.
I приветствую!
Для очистки кэша сервера 1С 8.2 необходимо выполнить следующие шаги:
1. **Остановить службу сервера 1С**
— На сервере, где установлен сервер 1С, остановите службу «1C:Enterprise 8.2 Server Agent» или аналогичную, отвечающую за работу сервера 1С.
— В Windows это можно сделать через «Службы» (services.msc) или командой в командной строке:net stop "1C:Enterprise 8.2 Server Agent"2. **Найти папку с серверным кэшем**
— Обычно серверный кэш хранится в каталоге:C:Program Files1cv8srvinforeg_1541(номер кластера может отличаться, например reg_1541, reg_1542 и т.д.)
— Внутри этой папки найдите каталог, начинающийся с `snccntx` и уникальным идентификатором, например:snccntxf9a8323e-fb9d-481d-834f-3d4663dec7f83. **Удалить содержимое каталога с серверным кэшем**
— Удалите все файлы и папки внутри каталога `snccntx*`. Это и есть серверный кэш (сеансовые данные).
— Также можно удалить содержимое папки `reg_1541`, но **обязательно** предварительно сделайте резервную копию файла `1CV8Clst.LST` — это настройки кластера серверов 1С.4. **Запустить службу сервера 1С**
— После удаления кэша запустите службу обратно:net start "1C:Enterprise 8.2 Server Agent"—
### Пример батника для очистки кэша сервера 1С 8.2 (Windows):
@echo off net stop "1C:Enterprise 8.2 Server Agent" copy /y "D:Server1Csrvinforeg_15411CV8Clst.LST" C: rmdir /s /q "D:Server1Csrvinforeg_1541" md "D:Server1Csrvinforeg_1541" copy C:1CV8Clst.LST "D:Server1Csrvinforeg_1541" net start "1C:Enterprise 8.2 Server Agent"
> В этом примере `D:Server1Csrvinforeg_1541` — путь к папке с серверным кэшем, замените на свой.
—
### Важные рекомендации:
— Перед очисткой кэша обязательно сделайте резервную копию папки `reg_1541` и файла `1CV8Clst.LST`.
— Очистка кэша может привести к разрыву текущих сеансов пользователей, предупредите их заранее.
— После очистки кэша сервер может некоторое время заново создавать необходимые данные.—
Если сервер 1С работает на Linux, то очистка кэша и сеансовых данных происходит аналогично — удалением содержимого папок с сеансовыми данными и временными файлами, после остановки службы сервера.
—
Рекомендую посмотреть здесь:
https://helpf.pro/faq8/view/1804.htmlЕсли нужно, могу помочь с написанием скрипта или более детальной инструкцией под вашу конкретную систему.
Один.
24 ноября 2025 в 15:30 в ответ на: Как проверить, что тип значения реквизита — документ в 1С? #34354Если тип значения реквизита составной (например, может быть и ДокументСсылка, и Строка), и нужно проверить, что именно в данный момент в реквизите хранится значение типа «ДокументСсылка», то в 1С используется функция ТипЗнч() и сравнение с Тип(«ДокументСсылка.»).
Пример кода:
Если ТипЗнч(Реквизит) = Тип("ДокументСсылка.РеализацияТоваров") Тогда // Значение реквизита - ссылка на документ РеализацияТоваров КонецЕсли;Если нужно проверить, что значение — ссылка на любой документ (не конкретно на «РеализацияТоваров», а на любой документ), то можно проверить, что тип значения — это ссылка на объект типа «ДокументСсылка», например, так:
Если ТипЗнч(Реквизит) Неопределено Тогда ТипЗначения = ТипЗнч(Реквизит); Если СтрНачинаетсяС(ТипЗначения, "ДокументСсылка.") Тогда // Значение реквизита — ссылка на документ КонецЕсли; КонецЕсли;Или более универсально, если нужно проверить, что значение — ссылка на объект типа «Документ», можно использовать метод ТипЗнч() и сравнивать с Тип(«ДокументСсылка.») для конкретного документа, либо проверять префикс строки типа.
Если реквизит может содержать и строку, и ссылку на документ, то именно так — через ТипЗнч() можно определить, что сейчас лежит.
—
**Итог:**
— Используйте `ТипЗнч(Реквизит)` для получения типа значения.
— Сравнивайте с `Тип(«ДокументСсылка.ИмяДокумента»)` для конкретного документа.
— Для проверки на любой документ — проверяйте, что строка типа начинается с `»ДокументСсылка.»`.—
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/10.html
https://helpf.pro/faq/view/798.htmlEv, привет!
В 1С:Бухгалтерия предприятия 3.0 стандартная табличная часть документа «Поступление товаров и услуг» предназначена для учета товаров и услуг, а не основных средств. Основные средства, в том числе транспортные средства, учитываются в отдельном документе «Поступление основных средств».
Однако, если есть задача учитывать транспортные средства именно в документе «Поступление товаров и услуг», то стандартными средствами это не предусмотрено, и потребуется доработка конфигурации.
Вот как можно решить задачу:
1. **Стандартный подход (рекомендуется):**
— Для учета транспортных средств используйте документ **«Поступление основных средств»** (меню ОС и НМА).
— В справочнике «Основные средства» создайте карточку транспортного средства с нужными реквизитами.
— В документе «Поступление основных средств» укажите приобретенное транспортное средство, его стоимость, реквизиты и проведите документ.2. **Если нужно добавить транспортные средства в табличную часть «Поступления товаров и услуг»:**
— Необходимо доработать конфигурацию через Конфигуратор:
— Добавить в справочник «Номенклатура» или создать отдельный справочник для транспортных средств.
— В табличную часть документа «Поступление товаров и услуг» добавить возможность выбора номенклатуры с типом «Основное средство» или «Транспортное средство».
— Добавить обработку и логику учета таких позиций, чтобы они корректно отражались в бухгалтерском и налоговом учете.
— Такая доработка требует навыков программирования на языке 1С и понимания учета основных средств.3. **Альтернативный вариант:**
— Использовать документ «Поступление товаров и услуг» для обычных товаров и услуг.
— Для транспортных средств — отдельный документ «Поступление основных средств».
— В отчетах и аналитике объединять данные по поступлениям.—
### Пример кода для проверки типа номенклатуры в табличной части (1С):
Для Каждого Строка Из Документ.Товары Цикл Если Строка.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.ОсновноеСредство Тогда // Обработка основных средств КонецЕсли; КонецЦикла;—
### Рекомендации:
— Используйте стандартные документы для основных средств.
— Если нужна интеграция, настройте обмен данными между документами.
— Для доработок обратитесь к специалисту по 1С с опытом конфигурирования.Рекомендую посмотреть здесь: https://infostart.ru/public/104345/
Если нужна помощь с конкретным кодом или доработкой — обращайся!
Оценка ответа: 9/10
24 ноября 2025 в 13:45 в ответ на: Как выгрузить конфигурацию без данных в 1С и загрузить в другую базу? #34350Димон, чтобы скачать только конфигурацию без данных в 1С и затем применить её к другой базе с другими данными, нужно использовать выгрузку конфигурации в файл конфигурации (.cf) или выгрузку в файл расширения (.cfe), если это расширение.
Вот подробный алгоритм:
1. **Открыть базу в режиме Конфигуратора**
Запустите 1С в режиме Конфигуратора и откройте нужную информационную базу.2. **Выгрузить конфигурацию в файл**
В меню выберите:
`Конфигурация` → `Выгрузить конфигурацию…`
Укажите имя файла и путь для сохранения файла с расширением `.cf`.— Этот файл содержит только структуру конфигурации (метаданные), без пользовательских данных.
3. **Подготовить целевую базу**
Откройте целевую базу в режиме Конфигуратора, в которую нужно загрузить новую конфигурацию.4. **Загрузить конфигурацию из файла**
В меню выберите:
`Конфигурация` → `Загрузить конфигурацию…`
Укажите ранее сохранённый `.cf` файл.5. **Обновить конфигурацию базы данных**
После загрузки конфигурации нужно выполнить обновление структуры базы данных:
`Конфигурация` → `Обновить конфигурацию базы данных`
Это применит новую структуру к базе, при этом данные, которые есть в базе, останутся, если они соответствуют новой структуре.6. **Проверить и протестировать**
После обновления проверьте корректность работы базы и целостность данных.—
**Важно:**
— При загрузке конфигурации в другую базу данные не удаляются, но если структура конфигурации сильно отличается, возможны ошибки или потеря данных. Рекомендуется делать резервную копию базы перед такими операциями.
— Если нужно перенести только изменения конфигурации, можно использовать механизм расширений или сравнения конфигураций.—
Если база работает на платформе 8.3 и выше, можно также использовать механизм **Хранилища конфигурации** для управления версиями и переносом конфигураций.
—
Рекомендую посмотреть здесь:
https://infostart.ru/public/155432/ — подробное руководство по выгрузке и загрузке конфигурации.—
Если нужна помощь с конкретным кодом или автоматизацией, могу помочь написать обработку на 1С для выгрузки/загрузки конфигурации.
-
АвторСообщения