Ответы в темах
- АвторСообщения
Odin – Одинэсник
УчастникНа данный момент самый актуальный релиз платформы 1С:Предприятие — это версия 8.3.26.1540, выпущенная 18.02.25. Эта версия считается стабильной и актуальной. Однако для получения информации о наименьшем количестве ошибок рекомендуется ознакомиться с отчетами о релизах и отзывами пользователей, так как стабильность может варьироваться в зависимости от конкретных условий эксплуатации и конфигураций.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/190375/
16 апреля 2025 в 14:15 в ответ на: Какая версия платформы 1С наиболее актуальна и с наименьшими ошибками? #32355Odin – Одинэсник
УчастникНа данный момент самой актуальной платформой 1С является версия 8.3. Она включает в себя множество улучшений и исправлений по сравнению с предыдущими версиями. В частности, в этой версии были доработаны механизмы работы с внешними компонентами, улучшено юзабилити, а также оптимизирована работа веб-клиента.
Однако, как и в любой другой системе, полностью избежать ошибок невозможно. Тем не менее, версия 8.3 считается наиболее стабильной и надежной на сегодняшний день. Рекомендуется следить за обновлениями и патчами, которые выпускает компания 1С, чтобы минимизировать количество ошибок и улучшить производительность системы.
Для получения более детальной информации о текущих обновлениях и исправлениях, рекомендую ознакомиться с официальными источниками и документацией 1С.
16 апреля 2025 в 13:45 в ответ на: Почему остатки не совпадают при переходе с Розницы 2.3 на 3.0? #32353Odin – Одинэсник
УчастникПри переходе с 1С:Розница 2.3 на 1С:Розница 3.0, если выгружаются остатки, которые не соответствуют остаткам в 1С:Розница 2.3, следует проверить несколько ключевых моментов:
1. **Проверка данных перед выгрузкой**:
– Убедитесь, что все документы, влияющие на остатки (приходы, продажи, возвраты и т.д.), проведены и закрыты. Непроведенные документы могут искажать данные.2. **Анализ остатков**:
– Проверьте остатки на складах в 1С:Розница 2.3 с помощью отчетов. Сравните их с данными, которые выгружаются в 3.0. Это поможет выявить расхождения.3. **Настройки обмена**:
– Убедитесь, что настройки обмена данными между версиями корректны. Проверьте, какие именно данные выгружаются и как они обрабатываются.4. **Конфликты в номенклатуре**:
– Проверьте, нет ли конфликтов в номенклатуре (например, дублирующиеся товары, разные единицы измерения и т.д.). Это может привести к неправильному сопоставлению остатков.5. **Логи и отчеты**:
– Изучите логи выгрузки и отчеты о процессе перехода. В них могут содержаться подсказки о том, какие данные не были выгружены или были изменены.6. **Тестирование в тестовой среде**:
– Если возможно, проведите тестовый переход в отдельной тестовой базе. Это поможет выявить проблемы без риска для рабочей базы.7. **Обновление конфигурации**:
– Убедитесь, что обе версии (2.3 и 3.0) обновлены до последних релизов. Иногда проблемы могут быть связаны с ошибками в старых версиях.Если после проверки всех этих пунктов проблема не решается, рекомендуется обратиться к технической поддержке 1С или к специалистам, которые могут помочь в диагностике и решении проблемы.
16 апреля 2025 в 11:15 в ответ на: Как формируются остатки при переходе с 1С:Розница 2.3 на 3.0? #32351Odin – Одинэсник
УчастникПри переходе с 1С:Розница 2.3 на 1С:Розница 3.0 остатки формируются и выгружаются по регистру накопления “ТоварыНаСкладах”. Этот регистр используется для хранения остатков товаров на складах и позволяет отслеживать количество товаров в разрезе номенклатуры, характеристик и других параметров.
Важно также отметить, что при переходе необходимо учитывать изменения в структуре данных и возможные преобразования, которые могут потребоваться для корректного переноса остатков. Рекомендуется заранее протестировать процесс перехода в тестовой среде, чтобы избежать потерь данных и ошибок.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1869432/
16 апреля 2025 в 10:15 в ответ на: Как проверить программно пустоту отчета в 1С при использовании компоновщика? #32349Odin – Одинэсник
УчастникДля проверки, пустой ли отчет при программном формировании через компоновщик макета, можно использовать следующий подход. В процессе компоновки данных необходимо отслеживать, были ли выведены какие-либо элементы в отчет. Это можно сделать, проверяя количество элементов, которые были сгенерированы в процессе компоновки.
Вот пример кода, который демонстрирует, как это можно реализовать:
1С (Код)1234567891011121314151617181920212223242526272829303132333435361CПроцедура СформироватьОтчет()// Инициализация компоновщика и процессоровМакетКомпоновки = КомпоновщикМакета.Выполнить(ДанныеОтчета.СхемаКомпоновкиДанных, ДанныеОтчета.КомпоновщикНастроек.Настройки, ДанныеРасшифровки, , Тип("ГенераторМакетаКомпоновкиДанных"));ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки);// Создание процессора выводаПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;ТаблицаРезультат = Новый ТабличныйДокумент;ПроцессорВывода.УстановитьДокумент(ТаблицаРезультат);// Переменная для отслеживания наличия данныхПустойОтчет = Истина;// Вывод данныхПроцессорКомпоновкиДанных.Запустить();ЭлементРезультатКомпоновки = ПроцессорКомпоновкиДанных.Следующий();Пока ЭлементРезультатКомпоновки Неопределено Цикл// Если есть хотя бы один элемент, отчет не пустойПустойОтчет = Ложь;ПроцессорВывода.Вывести(ЭлементРезультатКомпоновки);ЭлементРезультатКомпоновки = ПроцессорКомпоновкиДанных.Следующий();КонецЦикла;// Завершение выводаПроцессорВывода.ЗакончитьВывод();// Проверка результатаЕсли ПустойОтчет ТогдаСообщить("Отчет пустой.");ИначеСообщить("Отчет содержит данные.");КонецЕсли;КонецПроцедурыВ этом коде мы используем переменную
ПустойОтчет
, чтобы отслеживать, были ли выведены какие-либо элементы. Если хотя бы один элемент был выведен, мы устанавливаемПустойОтчет
вЛожь
. После завершения цикла мы можем проверить значение этой переменной и вывести соответствующее сообщение.Таким образом, вы сможете определить, пустой ли отчет или нет, при его программном формировании.
16 апреля 2025 в 10:15 в ответ на: Как определить, пустой ли отчет при программном формировании в 1С? #32347Odin – Одинэсник
УчастникЧтобы определить, пустой ли отчет при его программном формировании в 1С:Предприятии, можно использовать метод
Количество()
для набора данных, который используется в отчете. Если количество записей в наборе данных равно нулю, то отчет считается пустым.Вот пример кода, который демонстрирует, как это можно сделать:
1С (Код)1234567891011121314151617181C&НаСервереПроцедура ПечатьДокумента()// Создаем набор данныхНаборДанных = Новый НаборДанных;// Заполняем набор данных (пример)НаборДанных.Заполнить(Запрос);// Проверяем, пустой ли набор данныхЕсли НаборДанных.Количество() = 0 ТогдаСообщить("Отчет пустой.");Возврат; // Выход из процедуры, если отчет пустойКонецЕсли;// Продолжаем формирование отчета// ...КонецПроцедурыВ этом примере, если набор данных не содержит записей, выводится сообщение о том, что отчет пустой, и выполнение процедуры прекращается. Если набор данных содержит записи, можно продолжить формирование отчета.
Рекомендую посмотреть здесь: [Документация 1С](https://its.1c.ru/db/v8std/content/).
15 апреля 2025 в 17:30 в ответ на: Как исключить “ПометкаУдаления” и “Проведен” из отбора в коде 1С? #32345Odin – Одинэсник
УчастникПривет, art!
Чтобы пометка удаления и проведен не использовались в отборе в вашем коде, вы можете просто исключить их из массива отбора, который вы создаете. Для этого добавьте условие, которое будет проверять, не являются ли имя элемента “ПометкаУдаления” или “Проведен”. Вот как можно изменить ваш код:
1С (Код)12345678910111213141516171819202122232425262728291CМассивОтбора = Новый Массив;Для Каждого ЭлементОтбора Из ДокументСписок.Отбор ЦиклЕсли ЭлементОтбора.Использование И(ЭлементОтбора.Имя "ПометкаУдаления") И(ЭлементОтбора.Имя "Проведен") Тогда // < Сохраняем только активные отборы, исключая ПометкаУдаления и Проведен!МассивОтбора.Добавить(Новый Структура("Имя, Значение, Использование",ЭлементОтбора.Имя,ЭлементОтбора.Значение,Истина));КонецЕсли;КонецЦикла;Если НеОбработанныеДокументы ТогдаДокументСписок.Отбор.ПометкаУдаления.Установить(Ложь);ДокументСписок.Отбор.Проведен.Установить(Ложь);ИначеДокументСписок.Отбор.Сбросить();Для Каждого ЭлементСохранённогоОтбора Из МассивОтбора ЦиклПопыткаЕсли ЭлементСохранённогоОтбора.Использование Тогда // < Проверяем флаг!ДокументСписок.Отбор[ЭлементСохранённогоОтбора.Имя].Установить(ЭлементСохранённогоОтбора.Значение);КонецЕсли;ИсключениеСообщить("Ошибка восстановления отбора: " + ЭлементСохранённогоОтбора.Имя);КонецПопытки;КонецЦикла;В этом измененном коде добавлены условия, которые проверяют, что имя элемента не равно “ПометкаУдаления” и “Проведен”, прежде чем добавлять его в массив отбора. Таким образом, эти два поля не будут использоваться в отборе.
15 апреля 2025 в 12:30 в ответ на: Ошибка java.lang.NoClassDefFoundError: javafx/collections/ObservableList в Eclip #32343Odin – Одинэсник
УчастникПривет, Даниил!
Ошибка
NoClassDefFoundError: javafx/collections/ObservableList
указывает на то, что JavaFX не доступен в вашем проекте или не включен в путь к классам при запуске Eclipse EDT. Вот несколько шагов, которые помогут вам исправить эту проблему:1. **Убедитесь, что JavaFX установлен**:
– JavaFX не входит в стандартную поставку JDK начиная с JDK 11. Вам нужно скачать JavaFX отдельно. Вы можете скачать его с [официального сайта OpenJFX](https://openjfx.io/).2. **Добавьте JavaFX в путь к классам**:
– После установки JavaFX, вам нужно добавить его библиотеки в путь к классам вашего проекта в Eclipse:
– Щелкните правой кнопкой мыши на проекте в Eclipse и выберитеProperties
.
– Перейдите в разделJava Build Path
.
– На вкладкеLibraries
нажмитеAdd External JARs…
и выберите JAR-файлы JavaFX, которые вы скачали.3. **Настройте параметры запуска**:
– Вам также нужно указать параметры запуска для JavaFX. Для этого:
– Щелкните правой кнопкой мыши на проекте и выберитеRun As
->Run Configurations…
.
– В разделеArguments
добавьте следующие параметры в полеVM arguments
:1С (Код)1--module-path "путь_к_JavaFX_lib" --add-modules javafx.controls,javafx.fxml– Замените
путь_к_JavaFX_lib
на фактический путь к папке, где находятся JAR-файлы JavaFX.4. **Проверьте версию JDK**:
– Убедитесь, что вы используете совместимую версию JDK с JavaFX. Например, если вы используете JDK 21, убедитесь, что у вас установлена соответствующая версия JavaFX.5. **Перезапустите Eclipse**:
– После внесения всех изменений, перезапустите Eclipse и попробуйте снова запустить проект.Если после выполнения всех шагов ошибка все еще возникает, проверьте, правильно ли указаны пути и версии библиотек.
Надеюсь, это поможет вам решить проблему!
15 апреля 2025 в 9:00 в ответ на: Как создать и вызывать процедуру из общего модуля в 1С, если он для чтения? #32341Odin – Одинэсник
УчастникВ 1С:Предприятие, если общий модуль доступен только для чтения, вы не можете напрямую изменять его код. Однако вы можете создать свою процедуру или функцию в своем модуле и вызывать ее из общего модуля, если это предусмотрено.
Вот пример, как это можно сделать:
1. **Создайте свой общий модуль** (например,
МойОбщийМодуль
), в котором будет ваша процедура:1С (Код)123451C// Модуль: МойОбщийМодульПроцедура МояПроцедура()Сообщить("Это моя процедура!");КонецПроцедуры2. **Вызовите свою процедуру из общего модуля**. Предположим, у вас есть общий модуль
ОбщийМодуль
, который вы не можете редактировать, но он имеет экспортируемую функцию:1С (Код)1234561C// Модуль: ОбщийМодульФункция ЭкспортируемаяФункция()// Здесь код общего модуляСообщить("Это функция из общего модуля.");КонецФункции3. **В вашем коде, где вы хотите использовать эту функцию, добавьте вызов вашей процедуры**:
1С (Код)1234561C// Пример использованияПроцедура ИспользоватьОбщийМодуль()ОбщийМодуль.ЭкспортируемаяФункция(); // Вызов функции из общего модуляМойОбщийМодуль.МояПроцедура(); // Вызов вашей процедурыКонецПроцедурыТаким образом, вы можете использовать свою процедуру в контексте работы с функциями общего модуля, не изменяя его код.
Если вам нужно расширить функциональность общего модуля, вы можете также рассмотреть возможность создания расширения, если это возможно в вашей конфигурации.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1839554/
Odin – Одинэсник
УчастникЕсли общий модуль доступен только для чтения, то вы не можете напрямую изменять его код. Однако есть несколько подходов, которые могут помочь вам обойти это ограничение:
1. **Создание нового общего модуля**: Вы можете создать новый общий модуль, в котором реализуете свою процедуру или функцию. Затем в этом новом модуле вы можете вызывать функции из общего модуля, доступного только для чтения.
2. **Использование расширений**: Если ваша конфигурация поддерживает механизм расширений, вы можете создать расширение, которое добавляет необходимую функциональность. В расширении вы можете переопределить или дополнить существующие процедуры и функции.
3. **Создание внешней обработки**: Вы можете создать внешнюю обработку, в которой реализуете свою логику. Затем вы можете вызывать эту обработку из других модулей, включая общий модуль, доступный только для чтения.
4. **Использование механизмов событий**: Если общий модуль поддерживает события, вы можете подписаться на эти события и добавить свою логику в обработчики событий.
5. **Обращение к разработчикам**: Если у вас есть возможность, вы можете обратиться к разработчикам конфигурации с просьбой внести необходимые изменения в общий модуль.
Каждый из этих подходов имеет свои плюсы и минусы, и выбор зависит от конкретной ситуации и требований вашего проекта.
Odin – Одинэсник
УчастникПричины, по которым 1С может зависать на заставке при запуске, могут быть различными. Вот основные из них:
1. **Проблемы с кэшем**: Иногда кэш 1С может быть поврежден или переполнен, что приводит к зависаниям. Попробуйте очистить кэш, используя параметр запуска
/ClearCache
.2. **Конфликт с антивирусом**: Некоторые антивирусные программы могут блокировать или замедлять запуск 1С. Рекомендуется добавить исключения для файлов 1С в настройки антивируса.
3. **Проблемы с правами доступа**: Убедитесь, что у пользователя есть необходимые права доступа к папкам и файлам 1С.
4. **Ошибки в конфигурации**: Если конфигурация была изменена или повреждена, это может вызвать зависания. Попробуйте запустить 1С в режиме конфигуратора и проверить наличие ошибок.
5. **Проблемы с сетевым подключением**: Если 1С подключается к удаленной базе данных, проверьте стабильность сетевого соединения.
6. **Обновления платформы**: Убедитесь, что используемая версия платформы 1С актуальна и совместима с конфигурацией.
7. **Проблемы с драйверами**: Устаревшие или несовместимые драйвера видеокарты могут вызывать проблемы с отображением интерфейса 1С.
Если ни одно из этих решений не помогло, рекомендуется обратиться к системному администратору или технической поддержке 1С для более глубокого анализа проблемы.
14 апреля 2025 в 16:30 в ответ на: Как установить сервер 1С на базе PostgreSQL на Windows Server 2024? #32333Odin – Одинэсник
Участник1. **Подготовка к установке**:
– Убедитесь, что Windows Server 2024 обновлен до последней версии.
– Установите Microsoft Visual C++ Redistributable, если он не установлен (необходим для работы 1С).
– Отключите IPv6, если он не нужен, для избежания проблем с подключением.2. **Скачивание необходимых дистрибутивов**:
– Скачайте дистрибутив PostgreSQL с официального сайта или с сайта 1С (пропатченная версия).
– Скачайте дистрибутив 1С:Предприятия (серверная версия) с официального сайта 1С.3. **Установка PostgreSQL**:
– Запустите установщик PostgreSQL.
– Выберите путь установки и путь для хранения баз данных (рекомендуется не на системном диске).
– Установите пароль для пользователяpostgres
.
– После завершения установки откройте pgAdmin и проверьте, что сервер работает.4. **Настройка PostgreSQL**:
– Откройте файлpg_hba.conf
(обычно находится вC:Program FilesPostgreSQLdata
).
– Измените строкуlocal all postgres peer
наlocal all postgres md5
для использования пароля.
– Убедитесь, чтоlisten_addresses
вpostgresql.conf
установлен на’*’
для доступа с других машин.
– Перезапустите службу PostgreSQL черезservices.msc
.5. **Установка сервера 1С**:
– Запустите установщик 1С:Предприятия.
– Выберите необходимые компоненты для установки (Сервер 1С, Администрирование и т.д.).
– При установке выберите опцию “Установить сервер 1С как службу Windows” и создайте пользователя для службы (например,USR1CV8
).
– Убедитесь, что служба установлена и запущена.6. **Создание базы данных в PostgreSQL**:
– Запустите “Администрирование серверов 1С:Предприятия”.
– Создайте новую информационную базу, указав параметры подключения к PostgreSQL (имя сервера, имя базы данных, пользователь и пароль).7. **Настройка прав доступа**:
– Убедитесь, что созданный пользователь PostgreSQL имеет необходимые права на базу данных.
– Проверьте настройки брандмауэра Windows, чтобы разрешить доступ к портам PostgreSQL и 1С.8. **Тестирование**:
– Подключитесь к базе данных через клиент 1С и проверьте, что все работает корректно.
– Проверьте логи на наличие ошибок.9. **Автозапуск служб**:
– Убедитесь, что службы PostgreSQL и 1С настроены на автоматический запуск при загрузке системы.На этом установка завершена. Теперь вы можете использовать сервер 1С на базе PostgreSQL на Windows Server 2024.
Odin – Одинэсник
УчастникПривет, Jenya! Вот пошаговая инструкция по установке серверной 1С на базе PostgreSQL на Linux:
### Шаг 1: Подготовка системы
1. **Обновите систему:**1С (Код)12bashsudo apt update && sudo apt upgrade -y2. **Установите необходимые пакеты:**
1С (Код)12bashsudo apt install -y wget curl vim### Шаг 2: Установка PostgreSQL
1. **Добавьте репозиторий PostgreSQL:**1С (Код)1234bashsudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -sudo apt update2. **Установите PostgreSQL:**
1С (Код)12bashsudo apt install -y postgresql postgresql-contrib3. **Запустите и настройте PostgreSQL:**
1С (Код)123bashsudo systemctl start postgresqlsudo systemctl enable postgresql4. **Настройте пользователя PostgreSQL:**
1С (Код)1234bashsudo -u postgres psqlALTER USER postgres PASSWORD 'your_password';q5. **Настройте файл
pg_hba.conf
:**
Откройте файл:1С (Код)12bashsudo vim /etc/postgresql/12/main/pg_hba.confИзмените строку:
1С (Код)1local all postgres peerна:
1С (Код)1local all postgres md56. **Перезапустите PostgreSQL:**
1С (Код)12bashsudo systemctl restart postgresql### Шаг 3: Установка сервера 1С
1. **Скачайте дистрибутив 1С:**
Скачайте необходимые пакеты с официального сайта 1С.2. **Установите необходимые зависимости:**
1С (Код)12bashsudo apt install -y imagemagick unixodbc ttf-mscorefonts-installer3. **Установите сервер 1С:**
Перейдите в директорию с дистрибутивами и выполните:1С (Код)123bashsudo dpkg -i 1c-enterprise83-common_*.debsudo dpkg -i 1c-enterprise83-server_*.deb4. **Запустите сервер 1С:**
1С (Код)12bashsudo service srv1cv83 start5. **Проверьте статус сервера 1С:**
1С (Код)12bashsudo service srv1cv83 status### Шаг 4: Создание базы данных
1. **Запустите администрирование серверов 1С:**
Используйте утилиту администрирования для создания новой базы данных.2. **Заполните необходимые поля:**
– Имя базы данных
– Сервер базы данных:localhost
– Тип СУБД: PostgreSQL
– Пользователь и пароль:postgres
и ваш пароль3. **Создайте базу данных:**
Убедитесь, что опция “Создавать базу данных в случае ее отсутствия” включена.### Шаг 5: Настройка и оптимизация
1. **Настройте параметры PostgreSQL:**
Откройте файлpostgresql.conf
и настройте параметры, такие какshared_buffers
,work_mem
, и другие в зависимости от объема оперативной памяти.2. **Перезапустите PostgreSQL для применения изменений:**
1С (Код)12bashsudo systemctl restart postgresql### Заключение
Теперь сервер 1С должен быть установлен и готов к работе с PostgreSQL. Вы можете подключаться к базе данных и начинать работу.Рекомендую посмотреть здесь: [Инструкция по установке 1С на Linux](https://infostart.ru/1c/articles/19246/)
14 апреля 2025 в 12:15 в ответ на: Как автоматизировать заполнение операций по счетам 3387 и 1210 в 1С? #32328Odin – Одинэсник
УчастникПривет, Aza!
Для автоматизации заполнения операции по остаткам на счетах 3387 и 1210 в 1С:Бухгалтерия, можно использовать механизм обработки, который будет выполнять следующие шаги:
1. **Определение даты операции**: Установите дату, на которую будет производиться списание. Это может быть последняя дата месяца.
2. **Получение остатков по счетам**: Используйте запрос к регистрам бухгалтерии для получения остатков по счетам 3387 и 1210 на указанную дату. Это можно сделать с помощью запроса к регистру “Остатки по счетам”.
3. **Формирование проводок**:
– Для каждой записи, полученной по счету 3387, создайте проводку с дебетом на 3387 и кредитом на соответствующий счет (3387 или 1210) с указанием контрагента.
– Убедитесь, что контрагент для дебета всегда будет “Продамус ООО”.4. **Заполнение табличной части документа**: Создайте табличную часть документа, где будут указаны все сформированные проводки. Каждая проводка должна содержать:
– Дебет: 3387 (всегда)
– Кредит: 3387 или 1210 (в зависимости от остатка)
– Контрагент: “Продамус ООО”
– Сумма: остаток по соответствующему счету5. **Автоматизация через обработку**: Создайте обработку, которая будет запускаться в конце месяца и автоматически заполнять документ на основании остатков. В обработке можно использовать алгоритмы для автоматического формирования проводок.
Пример кода для запроса остатков и формирования проводок может выглядеть следующим образом:
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940411CПроцедура ЗаполнитьОперацию()ДатаОперации = КонецМесяца(ТекущаяДата());// Получаем остатки по счетамЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬСчет,СУММА(Сумма) КАК ОстатокИЗРегистрыБухгалтерии.ОстаткиПоСчетамГДЕСчет В (&Счета)И Дата <= &ДатаGROUP BYСчет";Запрос.УстановитьПараметр("Счета", Новый Массив(3387, 1210));Запрос.УстановитьПараметр("Дата", ДатаОперации);Результат = Запрос.Выполнить();// Создаем документДокумент = Документы.ЗаписьОперации.СоздатьДокумент();Пока Результат.Выбрать().Следующий() ЦиклСчет = Результат.Получить("Счет");Остаток = Результат.Получить("Остаток");// Заполняем табличную частьНоваяСтрока = Документ.ТабличнаяЧасть.Добавить();НоваяСтрока.Дебет = 3387;НоваяСтрока.Кредит = Счет;НоваяСтрока.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Продамус ООО");НоваяСтрока.Сумма = Остаток;КонецЦикла;// Сохраняем документДокумент.Записать();КонецПроцедурыЭтот код является примером и может потребовать доработки в зависимости от вашей конфигурации и структуры данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/183489/
Odin – Одинэсник
УчастникДля создания справочника, который будет использоваться для хранения файлов, необходимо выполнить следующие шаги в конфигураторе 1С. В этом примере мы создадим справочник “ПрисоединенныеФайлы”, который будет связан с документом “НовыйДокумент”.
### Шаги по созданию справочника:
1. **Создание справочника**:
– Откройте конфигуратор 1С.
– Перейдите в раздел “Справочники”.
– Создайте новый справочник и назовите его “ПрисоединенныеФайлы”.
– Установите необходимые свойства, такие как длина кода и наименования.2. **Добавление реквизитов**:
– В справочнике добавьте следующие реквизиты:
– **Файл** (Тип: Двоичные данные) — для хранения файла.
– **Документ** (Тип: Ссылка на “НовыйДокумент”) — для связи с документом, к которому будет прикреплен файл.
– **Комментарий** (Тип: Строка) — для хранения дополнительной информации о файле.3. **Настройка прав доступа**:
– Убедитесь, что у справочника установлены права доступа, аналогичные правам документа “НовыйДокумент”.4. **Создание формы**:
– Создайте форму для справочника “ПрисоединенныеФайлы”.
– Добавьте элементы управления для загрузки файла и ввода комментария.5. **Связь с документом**:
– В документе “НовыйДокумент” добавьте обработку для создания и сохранения записей в справочнике “ПрисоединенныеФайлы”.
– Пример кода для добавления файла в справочник:1С (Код)1234567891C&НаСервереПроцедура ДобавитьФайл(Файл, Комментарий)ПрисоединенныйФайл = Справочники.ПрисоединенныеФайлы.СоздатьЭлемент();ПрисоединенныйФайл.Файл = Файл;ПрисоединенныйФайл.Документ = ЭтотОбъект.Ссылка;ПрисоединенныйФайл.Комментарий = Комментарий;ПрисоединенныйФайл.Записать();КонецПроцедуры6. **Отображение прикрепленных файлов**:
– В форме документа “НовыйДокумент” добавьте элемент управления для отображения списка прикрепленных файлов, используя запрос к справочнику “ПрисоединенныеФайлы”.### Пример запроса для отображения файлов:
1С (Код)123456789101112131CЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬПрисоединенныеФайлы.Ссылка,ПрисоединенныеФайлы.КомментарийИЗСправочник.ПрисоединенныеФайлы КАК ПрисоединенныеФайлыГДЕПрисоединенныеФайлы.Документ = &Документ";Запрос.УстановитьПараметр("Документ", ЭтотОбъект.Ссылка);Результат = Запрос.Выполнить().Выбрать();### Заключение
Теперь у вас есть справочник “ПрисоединенныеФайлы”, который связан с документом “НовыйДокумент” и позволяет хранить файлы. Вы можете расширять функциональность, добавляя дополнительные реквизиты или методы по мере необходимости.- АвторСообщения