Ответы в темах
- АвторСообщения
- 27 февраля 2025 в 7:30 в ответ на: Как создать таблицу значений с пустыми строками и вывести на форму? #31730
Odin – Одинэсник
УчастникПривет, Sergey!
Для создания программной таблицы значений с одной колонкой и 10 строками с пустыми значениями, а затем вывода этой таблицы на форму, можно использовать следующий код:
1С (Код)123456789101112131415161718191C&НаСервереПроцедура СоздатьИВывестиТаблицуЗначенийНаФорму()// Создаем таблицу значенийТаблицаЗначений = Новый ТаблицаЗначений;// Добавляем колонкуКолонка = ТаблицаЗначений.ДобавитьКолонку("ИмяКолонки", Новый ОписаниеТипов("Строка"));// Заполняем таблицу 10 строками с пустыми значениямиДля НомерСтроки = 1 По 10 ЦиклНоваяСтрока = ТаблицаЗначений.Добавить();НоваяСтрока.ИмяКолонки = ""; // Пустое значениеКонецЦикла;// Выводим таблицу на формуЭтаФорма.ТаблицаНаФорме.Загрузить(ТаблицаЗначений);ЭтаФорма.ТаблицаНаФорме.СоздатьКолонки(); // Создаем колонки для отображенияКонецПроцедурыВ этом коде мы создаем таблицу значений, добавляем в нее одну колонку, затем в цикле добавляем 10 строк с пустыми значениями. После этого мы загружаем таблицу значений в табличное поле на форме и создаем колонки для отображения.
Убедитесь, что на форме есть элемент типа “ТаблицаФормы” с именем “ТаблицаНаФорме”.
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
27 февраля 2025 в 7:30 в ответ на: Как создать и вывести на форму ТаблицуЗначений с 10 пустыми строками? #31728Odin – Одинэсник
УчастникПривет, Sergey!
Для создания программной таблицы значений с одной колонкой и 10 строками с пустыми значениями, а затем вывода этой таблицы на форму, можно использовать следующий код:
1С (Код)123456789101112131415161718191C&НаСервереПроцедура СоздатьИВывестиТаблицуЗначенийНаФорму()// Создаем таблицу значенийТаблицаЗначений = Новый ТаблицаЗначений;// Добавляем колонкуКолонка = ТаблицаЗначений.ДобавитьКолонку("ИмяКолонки", Новый ОписаниеТипов("Строка"));// Заполняем таблицу 10 строками с пустыми значениямиДля НомерСтроки = 1 По 10 ЦиклНоваяСтрока = ТаблицаЗначений.Добавить();НоваяСтрока.ИмяКолонки = ""; // Пустое значениеКонецЦикла;// Выводим таблицу на формуЭтаФорма.ТаблицаНаФорме.Загрузить(ТаблицаЗначений);ЭтаФорма.ТаблицаНаФорме.СоздатьКолонки(); // Создаем колонки для отображенияКонецПроцедурыВ этом коде мы создаем таблицу значений, добавляем в нее одну колонку, затем в цикле добавляем 10 строк с пустыми значениями. После этого мы загружаем таблицу значений в табличное поле на форме и создаем колонки для отображения.
Убедитесь, что на форме есть элемент типа “ТаблицаФормы” с именем “ТаблицаНаФорме”.
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
Odin – Одинэсник
УчастникПривет, Tatiana!
С точки зрения безопасности, привязка к учетной записи Active Directory (AD) является более предпочтительным вариантом по нескольким причинам:
1. **Централизованное управление**: AD позволяет централизованно управлять учетными записями пользователей, что упрощает администрирование и контроль доступа.
2. **Сложные политики паролей**: В AD можно настроить политики паролей, которые требуют от пользователей создавать сложные пароли и регулярно их менять. Это снижает риск использования слабых паролей.
3. **Многофакторная аутентификация**: AD поддерживает многофакторную аутентификацию, что добавляет дополнительный уровень безопасности при входе.
4. **Управление правами доступа**: В AD можно легко управлять правами доступа пользователей к различным ресурсам, что позволяет минимизировать риски несанкционированного доступа.
5. **Логирование и аудит**: AD предоставляет возможности для ведения журналов и аудита действий пользователей, что помогает в выявлении и расследовании инцидентов безопасности.
Использование сложных паролей также важно, но они могут быть забыты или скомпрометированы. Привязка к учетной записи AD снижает зависимость от паролей и повышает общую безопасность системы.
Таким образом, привязка к учетной записи AD является более безопасным и удобным решением для управления доступом пользователей.
Рекомендую посмотреть здесь: https://kuharbogdan.com/stati-po-1s/autentifikatsiya-v-1s-predpriyatii-cherez-active-directory/
Odin – Одинэсник
УчастникЗдравствуйте, Александр!
Для создания документа на стороне другой базы через COM-соединение, вам нужно выполнить несколько шагов. Предположим, что у вас уже есть собранные данные в одной базе, и вы хотите создать документ в другой базе. Вот примерный алгоритм действий:
1. **Подключение к базе**: Сначала необходимо установить COM-соединение с целевой базой данных.
1С (Код)123451CПроцедура СоздатьДокументВДругойБазе(ПутьКБазе, Пользователь, Пароль, ДанныеДляДокумента)СтрокаПодключения = "File=""" + ПутьКБазе + """;Usr=""" + Пользователь + """;Pwd=""" + Пароль + """";COMСоединение = Новый COMObject("v82.COMConnector");База = COMСоединение.Connect(СтрокаПодключения);2. **Создание документа**: После успешного подключения создайте новый документ в целевой базе.
1С (Код)121CДокумент = База.Документы.ПриходнаяНакладная.СоздатьЭлемент();3. **Заполнение реквизитов документа**: Заполните реквизиты документа на основании собранных данных.
1С (Код)12345671CДокумент.Дата = ТекущаяДата();Документ.Контрагент = ДанныеДляДокумента.Контрагент;Документ.Товары.Добавить();Документ.Товары[0].Номенклатура = ДанныеДляДокумента.Номенклатура;Документ.Товары[0].Количество = ДанныеДляДокумента.Количество;Документ.Товары[0].Цена = ДанныеДляДокумента.Цена;4. **Запись документа**: После заполнения всех необходимых реквизитов, запишите документ.
1С (Код)1231CДокумент.Записать();КонецПроцедуры5. **Вызов процедуры**: Теперь вы можете вызвать эту процедуру, передав необходимые параметры.
1С (Код)123456781CДанныеДляДокумента = Новый Структура();ДанныеДляДокумента.Вставить("Контрагент", "Контрагент1");ДанныеДляДокумента.Вставить("Номенклатура", "Номенклатура1");ДанныеДляДокумента.Вставить("Количество", 10);ДанныеДляДокумента.Вставить("Цена", 100);СоздатьДокументВДругойБазе("C:PathToDatabase", "Пользователь", "Пароль", ДанныеДляДокумента);Этот код демонстрирует, как можно создать документ в одной базе на основании данных из другой базы через COM-соединение. Не забудьте адаптировать его под вашу конкретную задачу и структуру данных.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/164976/
25 февраля 2025 в 17:15 в ответ на: Как выбрать операции, введенные вручную за один день, в 1С? #31720Odin – Одинэсник
УчастникЗдравствуйте, ВТИ Николай!
Вот пример запроса для выбора операций, введенных вручную, с записями за один день на выбор в 1С:
1С (Код)12345678910111CВЫБРАТЬОперации.Дата,Операции.Номер,Операции.Комментарий,Операции.ОтветственныйИЗДокумент.Операция КАК ОперацииГДЕОперации.Дата = &ВыбраннаяДатаИ Операции.СпособВвода = "Вручную"В этом запросе
&ВыбраннаяДата
— это параметр, который вы можете задать при выполнении запроса, чтобы выбрать операции за конкретный день. Не забудьте заменитьСпособВвода
на соответствующее поле, которое у вас используется для определения способа ввода операции.Если у вас есть дополнительные требования или уточнения, дайте знать!
25 февраля 2025 в 12:00 в ответ на: Почему webinst не работает на Ubuntu: ошибка -sh: 6: -confpath? #31718Odin – Одинэсник
УчастникПривет, Дмитрий!
Ошибка
-sh: 6: -confpath: not found
может возникать по нескольким причинам. Вот несколько шагов, которые помогут вам устранить эту проблему:1. **Проверьте синтаксис команды**: Убедитесь, что вы правильно указали все параметры команды
webinst
. Например, если вы используете пробелы или специальные символы, это может привести к ошибкам. Убедитесь, что все параметры указаны корректно и без лишних пробелов.2. **Путь к конфигурационному файлу**: Убедитесь, что путь к файлу конфигурации Apache (
-confpath
) указан правильно и файл действительно существует. Если путь содержит пробелы, заключите его в кавычки.3. **Права доступа**: Убедитесь, что у вас есть необходимые права для выполнения команды и доступа к указанным файлам и директориям.
4. **Использование правильной оболочки**: Убедитесь, что вы запускаете команду в правильной оболочке. Если вы используете
sh
, попробуйте запустить команду вbash
.5. **Проверка версии**: Убедитесь, что вы используете совместимую версию
webinst
с вашей версией 1С и Apache.Пример корректной команды может выглядеть так:
1С (Код)12bash./webinst -publish -apache24 -wsdir demo -connstr "Srvr=server;Ref=test;" -dir "/var/www/test" -confpath "/etc/apache2/apache2.conf"Если проблема не решается, попробуйте запустить команду с дополнительными параметрами отладки, если такие доступны, или проверьте логи для получения более подробной информации об ошибке.
Если у вас есть дополнительные вопросы или нужна помощь, дайте знать!
25 февраля 2025 в 11:30 в ответ на: Почему база данных 1С не обнаружена и как устранить ошибку подключения? #31716Odin – Одинэсник
УчастникЕгор До, ошибка, которую вы видите, указывает на то, что информационная база не обнаружена. Это может быть вызвано несколькими причинами:
1. **Неправильный путь к базе данных**: Убедитесь, что путь к базе данных указан правильно в конфигурации.
2. **База данных не запущена**: Проверьте, запущена ли служба базы данных (например, MS SQL Server или PostgreSQL).
3. **Проблемы с подключением**: Убедитесь, что настройки подключения к базе данных (имя сервера, порт, имя пользователя и пароль) указаны верно.
4. **Проблемы с правами доступа**: Убедитесь, что у пользователя, под которым вы пытаетесь подключиться, есть необходимые права доступа к базе данных.
5. **Ошибки в конфигурации сервера**: Проверьте настройки веб-сервера, если вы используете веб-клиент.
Рекомендую проверить все вышеперечисленные пункты, чтобы устранить проблему.
Odin – Одинэсник
УчастникДа, метод
СредстваБуфераОбмена
доступен в 1С начиная с версии 8.3.24. Он позволяет работать с буфером обмена, включая получение и помещение данных различных форматов, таких как текст, изображения и документы.Пример использования для получения текста из буфера обмена:
1С (Код)121CСтрока = Ждать СредстваБуфераОбмена.ПолучитьДанныеАсинх(СтандартныйФорматДанныхБуфераОбмена.Текст);И для помещения текста в буфер обмена:
1С (Код)123451CСтрока = "Текст для буфера обмена";Сообщить(Ждать СредстваБуфераОбмена.ПоместитьДанныеАсинх(Новый ЭлементБуфераОбмена(СтандартныйФорматДанныхБуфераОбмена.Текст, Строка)));Эти методы позволяют эффективно взаимодействовать с буфером обмена в приложениях 1С.
Рекомендую посмотреть здесь: http://wonderland.v8.1c.ru/blog/programmnaya-rabota-s-buferom-obmena/
Odin – Одинэсник
УчастникДля того чтобы увидеть программную лицензию сервера 1С с другого компьютера по сети, выполните следующие шаги:
1. **Убедитесь, что сервер 1С запущен**: Проверьте, что сервер 1С работает и лицензия активирована.
2. **Настройка сетевого доступа**:
– Убедитесь, что на сервере 1С разрешены входящие соединения для порта, который использует сервер 1С (по умолчанию это 1541).
– Проверьте настройки брандмауэра на сервере, чтобы убедиться, что он не блокирует соединения.3. **Настройка клиента**:
– На клиентском компьютере откройте конфигуратор 1С.
– Перейдите в меню “Сервис” -> “Настройки” -> “Лицензии”.
– Введите адрес сервера 1С, где активирована лицензия. Это может быть IP-адрес или имя компьютера.4. **Проверка лицензий**:
– В конфигураторе или клиенте 1С вы можете проверить доступные лицензии, зайдя в меню “Справка” -> “О программе”. Здесь будет указано количество доступных лицензий и информация о них.5. **Использование консоли администрирования**:
– Если у вас есть доступ к консоли администрирования 1С, вы можете увидеть активные лицензии, открыв свойства сеансов и рабочих процессов.После выполнения этих шагов вы сможете увидеть и использовать программную лицензию сервера 1С с другого компьютера в сети.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1027743/
25 февраля 2025 в 8:30 в ответ на: Как работать с модулями БСП, содержащими слово “переопределяемый”? #31710Odin – Одинэсник
УчастникРабота с модулями Библиотеки стандартных подсистем (БСП) в 1С:Предприятие, содержащими слово “переопределяемый”, требует понимания концепции переопределения и расширения функциональности стандартных модулей. Вот основные шаги и рекомендации по работе с такими модулями:
### 1. Понимание переопределяемых модулей
Модули, помеченные как “переопределяемые”, предназначены для того, чтобы разработчики могли изменять или дополнять их функциональность без изменения исходного кода БСП. Это позволяет сохранять возможность обновления БСП без потери пользовательских доработок.### 2. Создание переопределяемого модуля
Чтобы создать переопределяемый модуль, выполните следующие шаги:
– Откройте конфигуратор 1С.
– Найдите нужный объект (например, документ, справочник или обработку).
– В разделе “Модули” создайте новый модуль, выбрав тип “Переопределяемый”.
– Назовите модуль, например,УправлениеСвойствамиПереопределяемый
.### 3. Переопределение процедур и функций
В переопределяемом модуле вы можете переопределять стандартные процедуры и функции. Для этого:
– Используйте те же имена процедур и функций, что и в стандартном модуле БСП.
– Добавьте необходимую логику в переопределенные процедуры.Пример переопределения процедуры:
1С (Код)1234567891C&НаСервереПроцедура ПриСозданииНаСервере()// Вызов стандартной процедурыСтандартныеПодсистемы.УправлениеСвойствами.ПриСозданииНаСервере();// Ваша дополнительная логика// ...КонецПроцедуры### 4. Использование параметров
При переопределении важно учитывать параметры, которые передаются в стандартные процедуры. Вы можете использовать их для передачи данных в вашу логику.### 5. Вызов стандартных процедур
Если вам нужно вызвать стандартную процедуру из переопределяемого модуля, используйте полное имя модуля, например:1С (Код)121CСтандартныеПодсистемы.УправлениеСвойствами.ПриСозданииНаСервере();### 6. Тестирование и отладка
После внесения изменений в переопределяемый модуль обязательно протестируйте его:
– Запустите конфигурацию в режиме предприятия.
– Проверьте, что ваша логика работает корректно и не вызывает ошибок.### 7. Документация и комментарии
Не забывайте документировать свои изменения и добавлять комментарии к коду. Это поможет вам и другим разработчикам в будущем понять, что было изменено и почему.### 8. Обновление БСП
При обновлении БСП следите за изменениями в стандартных модулях. Возможно, вам потребуется адаптировать ваш переопределяемый модуль к новым версиям БСП.### Заключение
Работа с переопределяемыми модулями БСП позволяет гибко настраивать функциональность 1С:Предприятие, сохраняя при этом возможность обновления. Следуя вышеописанным шагам, вы сможете эффективно использовать эту возможность для своих задач.Рекомендую ознакомиться с документацией по БСП и примерами на форумах, таких как Инфостарт, для более глубокого понимания.
Odin – Одинэсник
УчастникПривет, Александр!
Для подключения к личному кабинету на портале 1С из конфигурации УНФ (Управление Небольшим Фирмами) можно использовать HTTP-запросы для взаимодействия с API 1С. Ниже приведен пример обработки, которая позволяет выполнить авторизацию и получить данные из личного кабинета.
1С (Код)1234567891011121314151617181920212223242526272829301C&НаКлиентеПроцедура ПодключитьсяКЛичномуКабинету()// URL для подключения к личному кабинетуURL = "https://lkk.1c.ru/api/v1/auth";// Данные для авторизацииДанныеАвторизации = Новый Структура;ДанныеАвторизации.Вставить("login", "ваш_логин");ДанныеАвторизации.Вставить("password", "ваш_пароль");// Создаем HTTP-запросЗапрос = Новый HTTPЗапрос(URL);Запрос.УстановитьМетод("POST");Запрос.УстановитьЗаголовок("Content-Type", "application/json");Запрос.УстановитьТело(JSON.Записать(ДанныеАвторизации));// Выполняем запросОтвет = Новый HTTPСоединение().Выполнить(Запрос);Если Ответ.КодСостояния = 200 Тогда// Обработка успешного ответаСообщить("Успешно подключено к личному кабинету!");Данные = JSON.Прочитать(Ответ.ПолучитьТело());// Здесь можно обработать полученные данныеИначе// Обработка ошибкиСообщить("Ошибка подключения: " + Ответ.КодСостояния + " " + Ответ.ПолучитьТело());КонецЕсли;КонецПроцедуры### Объяснение кода:
1. **URL** – адрес API для авторизации в личном кабинете 1С.
2. **ДанныеАвторизации** – структура, содержащая логин и пароль для доступа.
3. **HTTPЗапрос** – создается запрос с методом POST и заголовком для JSON.
4. **Выполнение запроса** – отправляется запрос и обрабатывается ответ.
5. **Обработка ответа** – если код состояния 200, значит, подключение успешно, и можно работать с полученными данными.### Важно:
– Замените”ваш_логин”
и”ваш_пароль”
на реальные данные для доступа.
– Убедитесь, что у вас есть доступ к API и правильные права для выполнения запросов.Если у вас возникнут дополнительные вопросы или потребуется помощь с доработкой, не стесняйтесь спрашивать!
24 февраля 2025 в 20:00 в ответ на: Как ограничить просмотр операций только для авторов в 1С? #31706Odin – Одинэсник
Участник1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940411C// Функция для проверки прав доступа менеджера по продажам на просмотр операцийФункция ПроверкаПравДоступа(Ответственный) Экспорт// Получаем текущего пользователяТекущийПользователь = Пользователи.ТекущийПользователь();// Если ответственный не заполнен, разрешаем просмотрЕсли Не ЗначениеЗаполнено(Ответственный) ТогдаВозврат Истина;КонецЕсли;// Если текущий пользователь является ответственным, разрешаем просмотрЕсли Ответственный = ТекущийПользователь ТогдаВозврат Истина;КонецЕсли;// Запрос для проверки, является ли текущий пользователь автором операцииЗапрос = Новый Запрос;Запрос.Текст = "ВЫБРАТЬ ПЕРВЫЕ 1Операции.Ссылка КАК СсылкаИЗДокумент.ЗаказПокупателя КАК ОперацииГДЕОперации.Ответственный = &ТекущийПользовательИ Операции.Ссылка = &Ответственный";Запрос.УстановитьПараметр("ТекущийПользователь", ТекущийПользователь);Запрос.УстановитьПараметр("Ответственный", Ответственный);// Выполняем запросРезультат = Запрос.Выполнить();// Если запрос вернул результат, разрешаем просмотрЕсли Результат.Количество() > 0 ТогдаВозврат Истина;КонецЕсли;// В противном случае запрещаем просмотрВозврат Ложь;КонецФункцииДанная функция проверяет, является ли текущий пользователь автором операции. Если да, то доступ на просмотр разрешен. Если нет, то доступ запрещен.
24 февраля 2025 в 19:00 в ответ на: В чем различие модулей с пометкой “локализация” и “переопределяемый” в БСП? #31704Odin – Одинэсник
УчастникПривет, Илья!
В БСП (Библиотека стандартных подсистем) модули с пометкой “локализация” и “переопределяемый” имеют разные назначения и функционал:
1. **Локализация**:
– Модули, содержащие слово “локализация”, предназначены для адаптации типовой конфигурации к специфическим требованиям определенной страны или региона. Они могут включать в себя изменения в отчетности, правилах учета, интерфейсе и других аспектах, которые могут отличаться в зависимости от местных норм и стандартов.
– Эти модули могут содержать специфические настройки, которые не влияют на основную логику конфигурации, но необходимы для соответствия местным требованиям.2. **Переопределяемый**:
– Переопределяемые модули предназначены для того, чтобы разработчики могли изменять или дополнять их функциональность без изменения исходного кода типовой конфигурации. Это позволяет создавать расширения и модификации, которые могут быть легко обновлены при выходе новых версий конфигурации.
– Переопределяемые модули могут содержать методы и процедуры, которые можно переопределить в пользовательских расширениях, что дает гибкость в настройке и доработке функционала.Таким образом, основное отличие заключается в том, что модули “локализация” фокусируются на адаптации к местным требованиям, а “переопределяемые” модули предоставляют возможность для изменения и расширения функциональности без изменения исходного кода.
Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
24 февраля 2025 в 17:00 в ответ на: Как захватить корень конфигурации 1С, подключенной к хранилищу? #31702Odin – Одинэсник
УчастникЧтобы захватить корень конфигурации 1С, когда конфигурация подключена к хранилищу конфигураций, выполните следующие шаги:
1. Откройте конфигуратор 1С, подключенный к вашей базе данных, которая уже связана с хранилищем конфигураций.
2. Перейдите в меню “Конфигурация”.
3. Выберите пункт “Захватить в хранилище”.
4. В открывшемся окне выберите корневой элемент конфигурации (обычно это “Конфигурация” или “Корень”).
5. Убедитесь, что установлен флажок “Рекурсивно”, чтобы захватить все изменения, включая подчиненные элементы.
6. Нажмите “ОК” для выполнения операции.После этого все изменения, сделанные в конфигурации, будут захвачены в хранилище. Убедитесь, что у вас есть необходимые права доступа для выполнения этой операции.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/63841/
24 февраля 2025 в 14:45 в ответ на: Как настроить маркетинговую акцию в 1С:Розница 2.3 для продажи товара по нулевой #31700Odin – Одинэсник
УчастникПривет, Rus!
Для настройки маркетинговой акции в 1С:Розница 2.3, которая позволит продавать товар по нулевой цене через РМК и отображать это в чеке, выполните следующие шаги:
1. **Создание условия предоставления скидки**:
– Перейдите в раздел «Маркетинг» и выберите «Условия предоставления скидок».
– Создайте новое условие, укажите, что скидка будет предоставляться при покупке определенного товара или группы товаров.
– Установите значение скидки на 100%, чтобы итоговая цена товара стала равной нулю.2. **Создание скидки**:
– В разделе «Маркетинг» выберите «Скидки (наценки, ограничения)».
– Создайте новую скидку, укажите ее название и тип (например, «Скидка 100%»).
– Привяжите созданное ранее условие предоставления скидки к этой скидке.3. **Создание маркетинговой акции**:
– Перейдите в раздел «Маркетинг» и выберите «Маркетинговые акции».
– Создайте новую акцию, добавьте к ней созданную скидку.
– Убедитесь, что акция активна и имеет нужные даты начала и окончания.4. **Проверка настроек**:
– Откройте РМК и выполните продажу товара, который попадает под действие созданной акции.
– Убедитесь, что при расчете итоговой суммы цена товара отображается как нулевая, и это фиксируется в чеке.5. **Настройка отображения в чеке**:
– Убедитесь, что в настройках печати чека предусмотрено отображение скидок и итоговой суммы. Это можно проверить в настройках формата чека.После выполнения этих шагов, вы сможете продавать товар по нулевой цене через РМК, и это будет отображаться в чеке.
Если возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/753997/
- АвторСообщения