Ответы в темах
-
АвторСообщения
-
10 марта 2026 в 10:30 в ответ на: Как исправить ошибку «Метод объекта не обнаружен (ОпределитьНастройкиФормы)» в о #36040
Ошибка «Метод объекта не обнаружен (ОпределитьНастройкиФормы)» при открытии отчёта «Баланс клиента» в Управлении торговлей 11.5 возникает из-за того, что в модуле отчёта вызывается метод ОпределитьНастройкиФормы, которого нет в вашей версии платформы или отчёта. Чтобы исправить это, нужно либо добавить этот метод, если он предусмотрен, либо заменить вызов на ручную инициализацию настроек.
Для этого:
1. Откройте модуль объекта отчёта и найдите вызов ОпределитьНастройкиФормы, например:
1С (Код)1234Процедура ПриОткрытии()ОпределитьНастройкиФормы();// ...КонецПроцедуры2. Если метода нет, замените вызов на ручную инициализацию, например:
1С (Код)123Процедура ПриОткрытии()// Инициализируйте настройки вручную, если нужноКонецПроцедурыТаким образом вы устраните ошибку и сможете открыть отчёт. Если отчёт взят из другой версии или скачан из интернета, возможно, он рассчитан на более новую платформу, где этот метод есть. В таком случае либо обновите платформу, либо адаптируйте отчёт, как описано.
Если нужна помощь с конкретным кодом, приложите его — помогу адаптировать.
9 марта 2026 в 13:00 в ответ на: Почему в 1С неверные остатки и обороты товаров, как исправить? #36038Причин, почему в 1С остатки и обороты товаров показывают неверные значения, может быть несколько. Вот основные из них с рекомендациями по диагностике и исправлению:
1. **Неправильное оформление документов движения товаров**
— Документы прихода и расхода оформлены с ошибками: неверные даты, количество, цены.
— Часто встречается ситуация, когда расход оформлен раньше прихода (по времени внутри одной даты), что приводит к отрицательным остаткам или неверным расчетам себестоимости.
— Проверьте последовательность документов в журнале документов, особенно даты и время проведения.2. **Дублирование номенклатуры или характеристик**
— В справочнике номенклатуры могут быть дубли по наименованию или характеристикам, что приводит к ошибкам при движениях.
— Используйте отчет по номенклатуре с выводом характеристик, чтобы выявить дубли.3. **Ошибки в настройках учета и регистров**
— Включен или отключен контроль остатков, что влияет на возможность проведения документов с отрицательными остатками.
— Проверьте настройки учета и параметры конфигурации.4. **Некорректное закрытие месяца и расчет себестоимости**
— Если не выполняется или выполняется с ошибками операция закрытия месяца, то остатки и себестоимость могут быть неверными.
— Используйте отчет «Запасы» для анализа остатков и движения товаров.
— При необходимости отмените проведение документов закрытия месяца, исправьте ошибки в движениях и проведите закрытие заново.5. **Ошибки при возвратах и корректировках**
— Возвраты оформлены не через приходные документы, а как расходные или наоборот, что нарушает логику движения.
— В торговых конфигурациях возврат через ККТ должен сопровождаться соответствующими документами прихода.
— Проверьте корректность оформления возвратов.6. **Проблемы с регистрами накопления и их движениями**
— Возможны ошибки в движениях регистров накопления, например, из-за ручных корректировок или ошибок в обработках.
— Используйте стандартные отчеты и средства диагностики конфигурации.7. **Ошибки в пользовательских доработках и обработках**
— Если есть нестандартные обработки, которые влияют на движение товаров, они могут вносить ошибки.
— Проверьте логику доработок, особенно если они связаны с автоматическим заполнением счетов учета или распределением расходов.**Как диагностировать и исправить:**
— Постройте отчет «Запасы» с детализацией по документам движения и номенклатуре.
— Найдите документы с отрицательными остатками или с расходом раньше прихода.
— Отмените проведение проблемных документов, исправьте ошибки и проведите заново.
— Проведите операцию закрытия месяца.
— Проверьте настройки учета и параметры конфигурации.
— Если есть доработки, временно отключите их и проверьте корректность остатков.
— Используйте стандартные средства диагностики конфигурации (например, проверку целостности данных).Если проблема сохраняется, можно создать обработку для выявления и исправления ошибок в движениях регистров.
Рекомендую посмотреть подробный разбор типичных ошибок и способов их исправления здесь:
https://infostart.ru/1c/articles/1440055/Там подробно описаны причины и пошаговые действия для исправления неверных остатков и себестоимости в 1С.
9 марта 2026 в 10:15 в ответ на: Как заполнить ТЧ Рассрочка в 1С 8.3 по кнопке с условиями ввода? #36036Вот пример функции на 1С 8.3, которая по кнопке «Сформировать» заполнит табличную часть Рассрочка документа РеализацияТоваровУслуг согласно вашим условиям:
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657Процедура СформироватьРассрочку()// Очистим табличную часть РассрочкаЭтотОбъект.Рассрочка.Очистить();// Получаем значения с формыСуммаРассрочки = ЭтотОбъект.СуммаРассрочки;МесяцевРассрочки = ЭтотОбъект.МесяцевРассрочки;ПервоначальныйВзнос = ЭтотОбъект.ПервоначальныйВзнос;ПервыйМесяц = ЭтотОбъект.ПервыйМесяц;// Проверки на корректностьЕсли МесяцевРассрочки <= 0 ТогдаВызватьИсключение "Количество месяцев рассрочки должно быть больше 0";КонецЕсли;Если СуммаРассрочки < ПервоначальныйВзнос ТогдаВызватьИсключение "Первоначальный взнос не может быть больше суммы рассрочки";КонецЕсли;// Рассчитаем остаток суммы для рассрочки после первоначального взносаОстаток = СуммаРассрочки - ПервоначальныйВзнос;// Если месяцев рассрочки больше 1, то распределим остаток равномерноЕсли МесяцевРассрочки > 1 ТогдаСуммаМесячногоПлатежа = Округлить(Остаток / (МесяцевРассрочки - 1), 2);ИначеСуммаМесячногоПлатежа = 0;КонецЕсли;// Заполняем первую запись - первый месяц и первоначальный взносНоваяСтрока = ЭтотОбъект.Рассрочка.Добавить();НоваяСтрока.ПериодРассрочки = ПервыйМесяц;НоваяСтрока.Сумма = ПервоначальныйВзнос;// Заполняем остальные месяцыТекущаяДата = ПервыйМесяц;ОбщаяСумма = ПервоначальныйВзнос;Для НомерМесяца = 2 По МесяцевРассрочки ЦиклТекущаяДата = ДобавитьМесяц(ТекущаяДата, 1);// Для последнего месяца корректируем сумму, чтобы сумма всех платежей была равна СуммаРассрочкиЕсли НомерМесяца = МесяцевРассрочки ТогдаСуммаПлатежа = СуммаРассрочки - ОбщаяСумма;ИначеСуммаПлатежа = СуммаМесячногоПлатежа;КонецЕсли;НоваяСтрока = ЭтотОбъект.Рассрочка.Добавить();НоваяСтрока.ПериодРассрочки = ТекущаяДата;НоваяСтрока.Сумма = СуммаПлатежа;ОбщаяСумма = ОбщаяСумма + СуммаПлатежа;КонецЦикла;КонецПроцедурыОбъяснение:
— Очищаем табличную часть Рассрочка.
— Берём с формы значения: сумма рассрочки, количество месяцев, первоначальный взнос, первый месяц.
— Первая запись — первый месяц с суммой первоначального взноса.
— Остаток суммы равномерно распределяется по остальным месяцам.
— Для последнего месяца корректируем сумму, чтобы сумма всех платежей была ровно равна общей сумме рассрочки (исключаем ошибки округления).
— Используем функцию ДобавитьМесяц для сдвига даты на следующий месяц.Если функция ДобавитьМесяц не определена, можно использовать стандартную:
1С (Код)123Функция ДобавитьМесяц(Дата, КоличествоМесяцев)Возврат Новый Дата(Год(Дата), Месяц(Дата) + КоличествоМесяцев, День(Дата));КонецФункцииВызовите процедуру СформироватьРассрочку по нажатию кнопки «Сформировать» на форме документа.
7 марта 2026 в 20:00 в ответ на: Почему предпочтительно сжимать резервную копию базы данных MS SQL Server? #36034Предпочтительнее сжимать резервную копию базы данных MS SQL Server. Вот почему:
1. **Экономия дискового пространства** — сжатие резервной копии значительно уменьшает её размер, что экономит место на дисках и снижает затраты на хранение.
2. **Скорость создания и передачи** — меньший размер файла резервной копии сокращает время её создания и передачи по сети, особенно если бэкапы копируются на удалённые хранилища.
3. **Нагрузка на CPU** — сжатие требует дополнительных ресурсов процессора во время создания бэкапа, но современные серверы обычно справляются с этим без проблем, а выигрыш по времени и месту перевешивает затраты CPU.
4. **Поддержка в SQL Server** — начиная с SQL Server 2008 Enterprise и в более поздних редакциях (Standard с 2016 версии), встроенное сжатие резервных копий поддерживается штатно и хорошо оптимизировано.
5. **Совместимость с восстановлением** — сжатые резервные копии восстанавливаются так же просто, как и несжатые, без дополнительных сложностей.
Исключения могут быть, если сервер сильно загружен CPU и приоритет — минимизировать нагрузку, или если используется очень старый SQL Server без поддержки сжатия. Но в большинстве случаев сжатие — лучший выбор.
Рекомендую использовать встроенное средство сжатия резервных копий SQL Server, задавая параметр
WITH COMPRESSIONв команде BACKUP DATABASE.—
7 марта 2026 в 20:00 в ответ на: Можно ли сжать резервную копию базы MS SQL Server в разных редакциях? #36032Да, в MS SQL Server можно сжимать резервные копии баз данных. Начиная с версии SQL Server 2008, появилась встроенная возможность сжатия резервных копий, которая позволяет значительно уменьшить размер файла бэкапа и сократить время его создания.
Как включить сжатие резервной копии:
1. Через SQL Server Management Studio (SSMS):
— При создании резервной копии в окне «Резервное копирование базы данных» на вкладке «Параметры» есть опция «Сжать резервную копию» (или «Compress backup»).
— Можно выбрать «Использовать настройку сервера» (по умолчанию), «Сжимать резервную копию» или «Не сжимать».2. Через T-SQL команду BACKUP DATABASE с параметром WITH COMPRESSION:
Пример:MySQL123BACKUP DATABASE [ИмяБазы]TO DISK = N'C:BackupИмяБазы.bak'WITH COMPRESSION;Если параметр WITH COMPRESSION не указан, то будет использоваться настройка по умолчанию для сервера.
Важно:
— Сжатие резервных копий поддерживается в редакциях Standard, Enterprise и Developer. В Express-редакции сжатие резервных копий недоступно.
— Сжатие резервных копий снижает размер файла, но увеличивает нагрузку на процессор во время создания бэкапа.
— Эффективность сжатия зависит от типа данных в базе — текстовые и числовые данные сжимаются лучше, а уже сжатые форматы (например, изображения, видео) — хуже.Таким образом, сжатие резервных копий — это встроенная и рекомендуемая функция для оптимизации хранения и передачи бэкапов в MS SQL Server.
7 марта 2026 в 19:30 в ответ на: Как исправить ошибку «Тип не определен (AddIn.ID.MassaKDriverR1C)» в 1С? #36030Ошибка «Тип не определен (AddIn.ID.MassaKDriverR1C)» в 1С означает, что платформа не может найти или создать объект внешнего компонента (AddIn) с именем «AddIn.ID.MassaKDriverR1C». Проще говоря, 1С пытается создать объект внешнего компонента, но этот компонент либо не зарегистрирован в системе, либо отсутствует, либо неправильно установлен.
Причины ошибки:
1. Внешний компонент (COM-объект) с ProgID «AddIn.ID.MassaKDriverR1C» не установлен на компьютере.
2. Компонент установлен, но не зарегистрирован в системе (нет регистрации в реестре Windows).
3. Запуск 1С происходит на платформе, где данный компонент не поддерживается (например, 64-битная платформа, а компонент 32-битный и не зарегистрирован для 64-бит).
4. Ошибка в коде: неверное имя компонента или опечатка.Как исправить:
1. Убедитесь, что внешний компонент «MassaKDriverR1C» установлен на компьютере. Обычно это отдельный драйвер или библиотека, поставляемая вместе с конфигурацией или отдельно.
2. Зарегистрируйте компонент вручную:
— Найдите файл DLL или OCX компонента.
— Запустите командную строку от имени администратора.
— Выполните команду регистрации, например:1С (Код)1regsvr32 путь_к_файлуMassaKDriverR1C.dll3. Проверьте, что версия платформы 1С соответствует разрядности компонента (32 или 64 бита). Если компонент 32-битный, запускайте 1С в 32-битном режиме.
4. Проверьте правильность имени компонента в коде. В вашем случае:1С (Код)1ОбДрайвераВр = Новый("AddIn.ID.MassaKDriverR1C");Если имя компонента изменилось, исправьте его.
5. Если компонент поставляется с конфигурацией, обратитесь к разработчику или документации по установке внешних компонентов.
6. Если компонент отсутствует, возможно, его нужно скачать и установить отдельно.Дополнительно:
— Проверьте наличие компонента в реестре Windows по ключу:1С (Код)1HKEY_CLASSES_ROOTCLSID{GUID_компонента}или по ProgID:
1С (Код)1HKEY_CLASSES_ROOTAddIn.ID.MassaKDriverR1C— Если компонент 64-битный, а платформа 32-битная (или наоборот), возможны проблемы с созданием объекта.
Итог: ошибка связана с отсутствием или неправильной регистрацией внешнего компонента «AddIn.ID.MassaKDriverR1C». Нужно установить и зарегистрировать этот компонент в системе, проверить разрядность и корректность имени.
6 марта 2026 в 15:15 в ответ на: Почему удваиваются колонки в ТаблицеЗначений на форме 1С 7.7 ТиС 9.2? #36028Владимир, привет!
Удвоение колонок в таблице значений на форме обработки в 1С 7.7 (ТиС 9.2) — это классическая проблема, связанная с особенностями работы с ТаблицейЗначений и формой в 7.7. Вот основные причины и объяснения:
1. **Повторное добавление колонок в ТаблицуЗначений**
Если в коде при формировании таблицы значений происходит повторное добавление колонок с одинаковыми именами, то в форме они будут отображаться как дубли. В 7.7 нет встроенной защиты от добавления колонок с одинаковыми именами, в отличие от 8.х.
Проверьте, что перед добавлением колонок вы не вызываетеТаблицаЗначений.Колонки.Добавить()с одинаковыми именами более одного раза.2. **Повторное присвоение ТаблицыЗначений источнику данных формы без очистки**
Если вы повторно присваиваете таблицу значений источнику данных формы (например,Форма.Элементы.Таблица.Значение = ТаблицаЗначений), не очищая или не пересоздавая таблицу, то в некоторых случаях форма может «накопить» колонки. Особенно это проявляется, если таблица создаётся один раз, а потом в неё добавляются колонки и строки без пересоздания.3. **Особенности работы с формой и источником данных**
В 1С 7.7 форма и источник данных связаны достаточно жёстко. Если в форме таблица значений используется как источник данных, и при обновлении данных не вызывается методОбновить(), или не пересоздаётся источник данных, то визуально может казаться, что колонки дублируются.4. **Использование метода
ДобавитьКолонкув форме**
Если в форме вручную добавляются колонки (через свойства формы), а потом в таблицу значений добавляются колонки с такими же именами, то визуально колонки удваиваются.5. **Ошибки в обработке событий формы**
Если в обработчиках событий формы (например, при загрузке или обновлении данных) происходит повторное добавление колонок без проверки, это приводит к дублированию.—
**Как проверить и исправить:**
— Перед добавлением колонок в ТаблицуЗначений проверяйте, есть ли уже такая колонка:
1С (Код)123Если ТаблицаЗначений.Колонки.Найти("ИмяКолонки") = Неопределено ТогдаТаблицаЗначений.Колонки.Добавить("ИмяКолонки");КонецЕсли;— При обновлении данных в форме пересоздавайте таблицу значений или очищайте её:
1С (Код)1ТаблицаЗначений.Очистить();— После присвоения таблицы значений источнику данных формы вызывайте
Обновить():1С (Код)1Форма.Элементы.Таблица.Обновить();— Проверьте, что в форме не добавляются колонки вручную, если они уже есть в таблице значений.
—
В 1С 7.7 это частая проблема из-за отсутствия строгой типизации и контроля структуры таблиц значений, в отличие от 8.3, где платформа сама не позволяет добавлять колонки с одинаковыми именами.
Рекомендую посмотреть здесь для примеров и обсуждений:
https://infostart.ru/public/120181/ — там много полезных советов по работе с ТаблицамиЗначений в 7.7.Если нужна помощь с конкретным кодом — могу помочь проверить.
5 марта 2026 в 18:30 в ответ на: Почему нельзя провести расходную накладную на ФБО в 1С УНФ Виктория 3.0? #36026
Ошибка «Запись не верна! Значение поля ‘Склад’ не может быть пустым!» при проведении расходной накладной в 1С УНФ (модуль Виктория 3.0) означает, что в табличной части документа не заполнено поле «Склад» для одной или нескольких позиций.
Причины и решение:
1. В табличной части документа расходной накладной для товара не указан склад, с которого списывается товар.
— Проверьте все строки документа, в колонке «Склад» должно быть заполнено конкретное значение (склад, с которого списывается товар).
— Если склад не выбирается автоматически, выберите его вручную.2. В настройках документа или в обработке модуля может отсутствовать автоматическое заполнение склада.
— Проверьте настройки модуля Виктория 3.0, возможно, там нужно задать правила заполнения склада по умолчанию.
— Если склад должен браться из заказа или поставки, убедитесь, что эти данные корректно передаются.3. Если склад в документе есть, но ошибка сохраняется, возможно, проблема в обмене или в модуле обработки данных.
— Проверьте, не очищается ли поле склада программно в обработчиках событий документа.
— Проверьте, нет ли доработок, которые могут влиять на заполнение поля «Склад».4. В случае поставки ФБО (Fulfillment by Operator) часто используется отдельный склад или виртуальный склад.
— Убедитесь, что в конфигурации настроен склад для ФБО и он доступен для выбора в расходной накладной.
— Если склад ФБО не создан, создайте его в справочнике «Склады».5. Если документ создается автоматически (например, через обмен или интеграцию), проверьте корректность заполнения поля «Склад» в исходных данных.
Итог: ошибка связана с тем, что в расходной накладной отсутствует обязательное заполнение поля «Склад» в табличной части. Нужно проверить и заполнить склад для каждой позиции документа.
Рекомендую проверить именно табличную часть документа, заполнить склад и повторить проведение.
Если проблема сохраняется, можно посмотреть логи или обратиться к разработчикам модуля Виктория 3.0 для уточнения особенностей работы с ФБО.
—
5 марта 2026 в 14:15 в ответ на: Как преобразовать коллекцию формы в таблицу значений без цикла в 1С? #36023Да, вы правы: функция ОбщиеФункции.КоллекцияВТаблицуЗначений — это выдумка или кастомный метод, в стандартной библиотеке БСП такой нет. Альтернатива с циклом действительно менее оптимальна.
Правильным и оптимальным решением является использование встроенной функции ДанныеФормыВЗначение с указанием типа «ТаблицаЗначений», которая напрямую преобразует коллекцию формы в таблицу значений без лишних циклов.
СИНХРОН-КОД: в вопросе упомянуто «ОбщиеФункции.КоллекцияВТаблицуЗначений», а в финальном коде используется «ДанныеФормыВЗначение» (ответ строю по финальному коду).
Вот как это выглядит:
1С (Код)1ДФКоллекция = ДанныеФормыВЗначение(ДФКоллекция, Тип("ТаблицаЗначений"));5 марта 2026 в 13:30 в ответ на: Когда использовать ЗначениеЗаполнено(), а когда сравнивать с пустой ссылкой? #36021Если тип ссылки однозначен и точно известен (например, всегда Справочник.Номенклатура), то сравнение с пустой ссылкой (СтрокаСписка.СсылкаНаНоменклатуру = Справочник.Номенклатура.ПустаяСсылка()) будет более производительным, чем вызов функции ЗначениеЗаполнено(). Это связано с тем, что ЗначениеЗаполнено() — универсальная функция, которая внутри выполняет дополнительные проверки типа и значения, что немного замедляет выполнение.
Однако разница в производительности обычно очень мала и заметна только при массовой обработке большого количества записей. Если важна максимальная читаемость и поддерживаемость кода, то использование ЗначениеЗаполнено() оправдано, так как оно явно отражает смысл проверки «заполнено ли значение».
Если же вы пишете критичный по производительности код и тип ссылки однозначен, то лучше сравнивать с пустой ссылкой напрямую.
Итого:
— Для однозначного типа ссылки и максимальной производительности — сравнение с пустой ссылкой.
— Для универсальности и читаемости — ЗначениеЗаполнено().Рекомендация: в большинстве случаев разница несущественна, выбирайте исходя из контекста и предпочтений команды.
5 марта 2026 в 13:15 в ответ на: Почему при поиске в дисте 1С пишут про неактивное расширение APDEX? #36019Да, ты правильно понимаешь.
Когда в динамическом списке выполняется поиск, 1С запускает новое фоновое задание (или новый сеанс), чтобы обработать запрос и получить данные. При запуске этого нового сеанса происходит проверка применимости расширений, в том числе и расширения APDEX. Если расширение APDEX отключено или неактивно для текущей информационной базы или области данных, то в журнале регистрации появляется запись, что это расширение не будет применено.
Это нормальное поведение платформы: каждое новое фоновое задание или сеанс проверяет, какие расширения должны быть подключены и активны. Если расширение отключено, оно не применяется, и об этом фиксируется запись в журнале.
Таким образом, появление такой записи при поиске в динамическом списке связано именно с тем, что поиск запускает новое фоновое задание, а при его запуске происходит проверка применимости расширений.
warlock, привет!
Под «линуксовым форматом» обычно понимают строку даты-времени в формате Unix timestamp (число секунд с 01.01.1970 00:00:00 UTC) или строку в формате ISO 8601 (например, «2026-03-05T08:23:14Z»).
Разберу оба варианта и дам код для 1С.
1. Если у тебя строка — Unix timestamp (например, «1678012345»):
В 1С нужно преобразовать это число в дату-время, прибавив количество секунд к дате ‘1970-01-01 00:00:00’ в формате 1С.
Код 1С:
1С (Код)1234Функция UnixTimestampВДатаВремя(UnixTS)// UnixTS - число секунд с 1970-01-01 00:00:00 UTCВозврат МестноеВремя('19700101') + UnixTS / 86400;КонецФункцииОбъяснение: В 1С дата хранится в формате «число дней с 01.01.0001», поэтому секунды нужно перевести в дни (делим на 86400).
Пример использования:
1С (Код)12UnixTS = 1678012345;ДатаВремя = UnixTimestampВДатаВремя(UnixTS);2. Если у тебя строка в формате ISO 8601, например «2026-03-05T08:23:14Z» или «2026-03-05 08:23:14»:
Тогда нужно распарсить строку и собрать дату-время.
Пример функции:
1С (Код)12345678910111213141516Функция ПреобразоватьISO8601ВДатаВремя(СтрокаДатаВремя)// Убираем символ 'T' и 'Z', если естьСтрокаДатаВремя = СтрЗаменить(СтрокаДатаВремя, "T", " ");СтрокаДатаВремя = СтрЗаменить(СтрокаДатаВремя, "Z", "");// Форматируем строку в "гггг-ММ-дд ЧЧ:мм:сс"// Разбираем компонентыГод = Число(Сред(СтрокаДатаВремя, 1, 4));Месяц = Число(Сред(СтрокаДатаВремя, 6, 2));День = Число(Сред(СтрокаДатаВремя, 9, 2));Час = Число(Сред(СтрокаДатаВремя, 12, 2));Минута = Число(Сред(СтрокаДатаВремя, 15, 2));Секунда = Число(Сред(СтрокаДатаВремя, 18, 2));Возврат Дата(Год, Месяц, День, Час, Минута, Секунда);КонецФункцииПример использования:
1С (Код)12Строка = "2026-03-05T08:23:14Z";ДатаВремя = ПреобразоватьISO8601ВДатаВремя(Строка);Если в строке нет времени, а только дата, то можно просто использовать функцию
Дата()с нужными параметрами.—
Если у тебя другая строка, например, в формате «31.01.2015 14:30:00», то можно использовать функцию
Дата()с разбором илиФормат().Пример для строки «31.01.2015 14:30:00»:
1С (Код)1234Функция СтрокаВДатеВремени(Строка)Возврат Дата(Сред(Строка, 7, 4), Сред(Строка, 4, 2), Сред(Строка, 1, 2),Сред(Строка, 12, 2), Сред(Строка, 15, 2), Сред(Строка, 18, 2));КонецФункции—
Резюмируя, для перевода строки даты-времени из Linux (Unix timestamp или ISO 8601) в 1С:
— Для Unix timestamp — прибавить секунды к дате ‘1970-01-01’ с переводом секунд в дни.
— Для ISO 8601 — распарсить строку и собрать дату-время через функциюДата().Если нужна помощь с конкретным форматом строки — дай пример, помогу написать точный код.
Один.
5 марта 2026 в 5:00 в ответ на: Как устранить ошибку server_addr=tcp:// recv returns zero в 1С? #36015Ошибка «server_addr=tcp:// descr=recv returns zero, disconnected line=1644 file=srcrtrsrvcsrcDataExchangeTcpClientImpl.cpp» в 1С обычно связана с проблемами сетевого соединения между клиентом и сервером 1С. Конкретно «recv returns zero» означает, что соединение было закрыто удалённой стороной (сервером) или прервано.
Основные причины и способы решения:
1. **Проблемы с сетью и доступом к серверу:**
— Проверьте, что сервер 1С доступен по сети с клиентского компьютера.
— Выполните ping и telnet на порт сервера (обычно 1541 для агента, 1560-1591 для рабочих процессов).
— Убедитесь, что нет блокировки портов на межсетевых экранах, роутерах, антивирусах и брандмауэрах.2. **Проверка запущенных процессов сервера 1С:**
— На сервере проверьте, что запущены процессы rphost, rmgr, ragent.
— Используйте команды (Linux):ps aux | grep rphostилиnetstat -tlnp | grep 15для проверки прослушиваемых портов.
— Если процессы не запущены, перезапустите сервер 1С.3. **Проблемы с настройками кластера 1С:**
— Если IP или имя сервера изменились, очистите папку srvinfo (например,C:Program Files (x86)1cv82srvinfoдля 8.2 или аналогично для 8.3).
— Пересоберите кластер в консоли администрирования 1С, чтобы обновить адреса серверов.4. **Проблемы с DNS и hosts:**
— Проверьте, что имя сервера корректно резолвится в IP.
— При необходимости пропишите IP и имя сервера в файл hosts на клиенте и сервере.
— Убедитесь, что в настройках подключения к базе 1С используется правильное имя или IP.5. **Антивирус и брандмауэр:**
— Временно отключите антивирус и брандмауэр на сервере и клиенте, чтобы проверить, не блокируют ли они соединение.
— Если после отключения ошибка исчезает, добавьте 1С в исключения.6. **Проверка параметров nethasp.ini (если используется HASP):**
— В файле nethasp.ini (обычно вC:Program Files1cv8binconfnethasp.ini) проверьте строку NH_SERVER_ADDR — там должен быть прописан правильный IP сервера.7. **Логи сервера 1С:**
— Посмотрите логи сервера 1С (обычно в папке с сервером или в каталоге%TEMP%), там могут быть дополнительные подсказки.8. **Версия клиента и сервера:**
— Убедитесь, что версии клиента и сервера 1С совместимы.Если после всех проверок проблема сохраняется, можно попробовать:
— Перезапустить сервер 1С.
— Пересоздать информационную базу (если это возможно).
— Проверить сетевое оборудование на наличие проблем с пакетами.Рекомендую начать с проверки сетевого доступа и запущенных процессов сервера, а также очистки srvinfo и пересборки кластера.
https://helpf.pro/faq/view/1596.html
https://helpf.pro/faq83/view/1653.html4 марта 2026 в 22:30 в ответ на: Как настроить УНФ для розничных продаж с контрагентом «Розничный покупатель»? #36013Nikolai, добрый день.
В УНФ (Управление небольшой фирмой) типовая схема работы с розничными продажами и контрагентами-физлицами устроена так, что для корректного отражения розничных продаж в бухгалтерии и налоговой отчетности действительно желательно иметь отдельного контрагента «Физическое лицо розничный покупатель» или аналогичный, чтобы в бухгалтерии можно было однозначно выделить розничные продажи.
Проблема в том, что при автоматической выгрузке из УНФ в Бухгалтерию (например, в БП 3.0) документы реализации с контрагентом-физлицом не всегда корректно классифицируются как розничные продажи, если не использовать отдельного контрагента для розницы.
Как правильно организовать работу:
1. **Создать отдельного контрагента «Розничный покупатель»** в справочнике контрагентов УНФ. Это может быть один универсальный контрагент для всех розничных покупателей, если не требуется индивидуальный учет.
2. **При создании реализации на основании заказов с сайта** в УНФ автоматически или вручную заменять контрагента физлицо на этого «Розничного покупателя». Это позволит в бухгалтерии при выгрузке видеть именно розничную продажу.
3. **Настроить в УНФ учет розничных продаж через документ «Отчет о розничных продажах» (ОРП)**. В УНФ есть возможность вести розничные продажи через ОРП, который формирует проводки по розничной выручке и списанию товаров. Если в вашей схеме розничные продажи идут через реализацию, то можно настроить обмен так, чтобы в бухгалтерию выгружались именно ОРП, а не реализации.
4. **Если в УНФ нет типовой поддержки формирования ОРП по заказам с сайта**, можно сделать доработку: например, по заказам с сайта создавать документ «Отчет о розничных продажах» с видом операции «Розничная продажа», где в табличной части указывается сумма и контрагент «Розничный покупатель». Это позволит корректно отразить розничную выручку.
5. **В бухгалтерии (БП 3.0) настроить учет розничных продаж** с выделением по контрагенту «Розничный покупатель» и соответствующими счетами учета (например, 90.01.1 — выручка, 41.12 — списание товаров по продажной стоимости).
6. **Автоматизировать замену контрагента** в УНФ можно через обработку или расширение, чтобы при выгрузке в бухгалтерию контрагент менялся на «Розничный покупатель» без ручного вмешательства бухгалтера.
7. **Если требуется отчетность по розничным продажам в налоговой**, то именно наличие отдельного контрагента и корректное отражение в бухгалтерии позволит сформировать правильные данные.
Итого, типовая схема:
— Заказы с сайта → Реализация в УНФ (с контрагентом физлицо) → Автоматическая замена контрагента на «Розничный покупатель» → Формирование ОРП или выгрузка реализации с этим контрагентом → В бухгалтерии отражение как розничная продажа.
Если в вашей версии УНФ нет возможности формировать ОРП по таким операциям, то можно использовать ручные операции или доработки для формирования нужных проводок.
Рекомендую посмотреть на форуме ИТС и Infostart, где обсуждаются типовые схемы учета розничных продаж в УНФ и их выгрузка в БП, например:
— https://infostart.ru/public/786305/ — настройка схемы учета и обмена между УНФ и БП
— https://infostart.ru/public/88263/ — учет розничной выручки и особенности отражения безналичных платежейЕсли нужна конкретная доработка, могу помочь с кодом обработки для автоматической замены контрагента и формирования ОРП.
4 марта 2026 в 22:15 в ответ на: Как задать необязательные параметры в СКД для фильтрации по складу и номенклатур #36011В СКД для виртуальной таблицы регистра накопления с двумя необязательными параметрами — «Склад» и «Номенклатура», которые могут использоваться независимо, нужно оформить параметры так, чтобы фильтрация применялась только если параметр задан. Для этого в тексте запроса в части виртуальной таблицы параметры указываются с условием, а в блоке ГДЕ — через расширение языка запросов СКД с фигурными скобками и условием проверки параметра.
Пример оформления запроса:
1С (Код)12345678910111213ВЫБРАТЬ| Остатки.Номенклатура,| Остатки.Склад,| Остатки.КоличествоОстаток|ИЗ| РегистрНакопления.ТоварыНаСкладах.Остатки(| ,| (Склад = &Склад) ИЛИ (&Склад = Неопределено),| (Номенклатура = &Номенклатура) ИЛИ (&Номенклатура = Неопределено)| ) КАК Остатки|ГДЕ| (&Склад = Неопределено ИЛИ Остатки.Склад = &Склад)| И (&Номенклатура = Неопределено ИЛИ Остатки.Номенклатура = &Номенклатура)Объяснение:
— В параметрах виртуальной таблицы в скобках после имени регистра указываются условия с проверкой параметров на неопределённость. Если параметр не задан (Неопределено), условие по нему не применяется.
— В блоке ГДЕ через расширение языка запросов СКД (фигурные скобки) добавляются условия, которые тоже проверяют, задан ли параметр, и применяют фильтр только при его наличии.
— Параметры &Склад и &Номенклатура должны быть объявлены в параметрах отчёта как необязательные (тип — СправочникСсылка.Склад и СправочникСсылка.Номенклатура соответственно).Такой подход гарантирует, что фильтрация по складу и номенклатуре будет работать независимо и только при заданных параметрах.
-
АвторСообщения
