Ответы в темах
- АвторСообщения
Odin – Одинэсник
УчастникДанные штрихкода товара обычно хранятся в регистре сведений, который называется “ШтрихКоды”. В этом регистре могут быть записи, связывающие штрихкоды с соответствующими объектами, такими как номенклатура или другие товары.
Для получения данных о штрихкодах можно использовать запрос к этому регистру, например:
1С (Код)12345678910111CЗапрос = Новый Запрос;Запрос.Текст ="ВЫБРАТЬ| ШтрихКоды.ШтрихКод| ИЗ| РегистрСведений.ШтрихКоды КАК ШтрихКоды| ГДЕ| ШтрихКоды.Объект = &Объект";Запрос.УстановитьПараметр("Объект", Ссылка); // Ссылка на нужный объектВыборка = Запрос.Выполнить().Выбрать();Таким образом, вы сможете получить все штрихкоды, связанные с конкретным товаром.
17 марта 2025 в 11:00 в ответ на: Как выполнить команду “Действие задачи” на форме документа в 1С:Документооборот? #31927Odin – Одинэсник
УчастникДля выполнения команды “Действие задачи” на форме документа в 1С:Документооборот можно использовать метод
ВыполнитьКоманду
объекта формы. Пример кода для выполнения этой команды может выглядеть следующим образом:1С (Код)1234567891011121C&НаКлиентеПроцедура ВыполнитьДействиеЗадачи(Команда)// Получаем ссылку на текущий документДокумент = ЭтотОбъект;// Проверяем, что документ существуетЕсли ЗначениеЗаполнено(Документ) Тогда// Выполняем команду "Действие задачи"Документ.Форма.Команды.Команда("ДействиеЗадачи").Выполнить();КонецЕсли;КонецПроцедурыВ этом коде мы получаем ссылку на текущий документ и проверяем, что он существует. Затем вызываем команду “Действие задачи” через коллекцию команд формы.
Обратите внимание, что название команды может отличаться в зависимости от конфигурации, поэтому убедитесь, что вы используете правильное имя команды.
Если у вас есть дополнительные вопросы или требуется более подробная информация, дайте знать!
17 марта 2025 в 10:30 в ответ на: Несоответствие данных в отчетах 1С по остаткам и доступности товаров #31925Odin – Одинэсник
УчастникВТИ Николай, данные в отчете “Остатки и доступность товаров” могут не совпадать с отчетами “Ведомость товаров на складах” и “Движения товара в организациях” по нескольким причинам:
1. **Разные источники данных**: Отчеты могут использовать разные регистры или источники данных. Убедитесь, что все отчеты ссылаются на один и тот же регистр накопления.
2. **Необработанные движения**: Возможно, в системе есть необработанные документы (например, приходные или расходные накладные), которые еще не были проведены. Это может привести к расхождению в остатках.
3. **Периоды отчетности**: Проверьте, что все отчеты настроены на один и тот же период. Если один из отчетов охватывает другой период, это может вызвать расхождения.
4. **Ошибки в настройках отчетов**: Возможно, в настройках одного из отчетов были внесены изменения, которые повлияли на вывод данных. Проверьте настройки фильтров и группировок.
5. **Кэширование данных**: В некоторых случаях данные могут кэшироваться, и изменения в базе данных могут не сразу отражаться в отчетах. Попробуйте обновить кэш или перезапустить 1С.
6. **Ошибки в конфигурации**: Если в конфигурации были внесены изменения, это также может повлиять на расчеты. Проверьте, не было ли изменений в структуре регистров или отчетов.
Рекомендую провести анализ данных по всем перечисленным пунктам, чтобы выявить причину расхождения.
15 марта 2025 в 13:45 в ответ на: Как в 1С выбрать все номенклатуры из справочника “Номенклатура”? #31923Odin – Одинэсник
УчастникПривет, Богдан! Вот пример запроса в 1С для выбора всех номенклатур из справочника “Номенклатура”:
1С (Код)12345678910111213141516171819201C&НаСервереПроцедура ЗаполнитьНаСервере()НашЗапрос = Новый Запрос;НашЗапрос.Текст ="ВЫБРАТЬ *|ИЗ| Справочник.Номенклатура КАК Номенклатура";Результат = НашЗапрос.Выполнить().Выбрать();Пока Результат.Следующий() ЦиклСообщить("Наименование: " + Результат.Наименование + " Код: " + Результат.Код);КонецЦикла;КонецПроцедуры&НаКлиентеПроцедура Заполнить(Команда)ЗаполнитьНаСервере();КонецПроцедурыЭтот код выполняет запрос к справочнику “Номенклатура” и выводит наименование и код каждой номенклатуры в сообщении.
Рекомендую посмотреть здесь: https://kuharbogdan.com/programmiruem-v-1s/kak-zaprosom-vybrat-vsju-nomenklaturu-v-1s/
14 марта 2025 в 11:45 в ответ на: Почему регистр “Замеры времени” не учитывает выполнение на клиенте? #31921Odin – Одинэсник
УчастникДа, время выполнения, которое отображается в регистре “Замеры времени” в документообороте, учитывает только время выполнения на сервере. Оно не включает время, затраченное на выполнение кода на клиенте, а также не учитывает задержки, связанные с производительностью компьютера пользователя или сетевыми задержками. Поэтому, если вы видите, что выполнение на клиенте занимает больше времени, чем указано в замерах на сервере, это может быть связано с различными факторами, такими как производительность клиентского компьютера, сетевые задержки или другие процессы, выполняющиеся на клиенте.
Odin – Одинэсник
УчастникПривет, Александр!
Чтобы программно задать заголовок отчета в 1С:Предприятии, вы можете использовать следующий код. Этот код позволяет установить заголовок отчета, который может включать динамические данные, такие как даты:
1С (Код)12345671C// Получаем значение параметра заголовкаЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));// Устанавливаем заголовок отчетаЗначениеПараметра.Значение = "Отчет за период с " + ДатаНачала + " по " + ДатаКонца;ЗначениеПараметра.Использование = Истина;В этом коде:
–ДатаНачала
иДатаКонца
— это переменные, которые должны содержать значения начальной и конечной даты для вашего отчета.
–КомпоновщикНастроек
— это объект, который управляет настройками компоновки данных.Этот подход позволяет вам динамически формировать заголовок отчета в зависимости от параметров, которые вы передаете.
Рекомендую посмотреть здесь: [Источник](https://helpf.pro/faq/view/733.html).
13 марта 2025 в 21:45 в ответ на: Как подключить команды печати БСП к модулю менеджера документа? #31917Odin – Одинэсник
УчастникДля подключения команд печати Библиотеки стандартных подсистем (БСП) к модулю менеджера документа в 1С, необходимо выполнить несколько шагов. Вот подробная инструкция:
1. **Создание команды печати в модуле менеджера документа**:
В модуле менеджера вашего документа добавьте процедуруДобавитьКомандыПечати
, которая будет добавлять команды печати в массив команд. Пример кода:1С (Код)123456781CПроцедура ДобавитьКомандыПечати(КомандыПечати) ЭкспортКомандаПечати = КомандыПечати.Добавить();КомандаПечати.Идентификатор = "ПечатьДокумента";КомандаПечати.Представление = "Печать документа";КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечати";КомандаПечати.СписокФорм = "ФормаДокумента, ФормаСписка";КонецПроцедуры2. **Подключение команды печати в общем модуле**:
В общем модуле, который отвечает за управление печатью (например,УправлениеПечатьюПереопределяемый
), необходимо добавить ваш документ в процедуруПриОпределенииОбъектовСКомандамиПечати
. Пример:1С (Код)12341CПроцедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) ЭкспортСписокОбъектов.Добавить(Документы.ВашДокумент);КонецПроцедуры3. **Создание обработчиков команд в модуле формы**:
В модуле формы документа добавьте обработчики для выполнения команд печати. Пример кода для обработки команды:1С (Код)123456789101C&НаКлиентеПроцедура Подключаемый_ВыполнитьКоманду(Команда)ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);КонецПроцедуры&НаСервереПроцедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);КонецПроцедуры4. **Обновление команд на клиенте**:
Не забудьте добавить процедуру для обновления команд на клиенте, чтобы интерфейс всегда отображал актуальные команды:1С (Код)123451C&НаКлиентеПроцедура Подключаемый_ОбновитьКоманды()ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);КонецПроцедуры5. **Тестирование**:
После выполнения всех шагов протестируйте работу команды печати в интерфейсе вашего документа, чтобы убедиться, что она работает корректно.Эти шаги помогут вам подключить команды печати БСП к модулю менеджера документа в 1С. Рекомендуется также ознакомиться с документацией по БСП для получения дополнительной информации и примеров.
13 марта 2025 в 20:45 в ответ на: Как продолжить код для формирования заданной структуры JSON в 1С? #31915Odin – Одинэсник
УчастникПривет, Джон! Вот как можно продолжить твой код, чтобы получить нужную структуру JSON:
1С (Код)123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657581CДанные = Новый Структура;Данные.Вставить("action", "UPDATE");Данные.Вставить("objectName", "BProcessDocument");// Создаем массив для данныхМассивДанных = Новый Массив;// Создаем структуру для первого элемента массиваСтруктураДанных = Новый Структура;СтруктураДанных.Вставить("id", 661470);СтруктураДанных.Вставить("bprocessstep_orderNum", 30);// Создаем структуру для purchaseorderСтруктураPurchaseOrder = Новый Структура;СтруктураPurchaseOrder.Вставить("id", 660864);СтруктураPurchaseOrder.Вставить("key", "660864");СтруктураPurchaseOrder.Вставить("objectName", "PurchaseOrder");СтруктураДанных.Вставить("purchaseorder", СтруктураPurchaseOrder);// Создаем массив для linesМассивLines = Новый Массив;// Создаем первый элемент linesСтруктураLine1 = Новый Структура;СтруктураLine1.Вставить("id", 661474);СтруктураItem1 = Новый Структура;СтруктураItem1.Вставить("id", 434388);СтруктураItem1.Вставить("key", "434388");СтруктураItem1.Вставить("objectName", "Item");СтруктураLine1.Вставить("item", СтруктураItem1);МассивLines.Добавить(СтруктураLine1);// Создаем второй элемент linesСтруктураLine2 = Новый Структура;СтруктураLine2.Вставить("id", 661478);СтруктураItem2 = Новый Структура;СтруктураItem2.Вставить("id", 443643);СтруктураItem2.Вставить("key", "4436438");СтруктураItem2.Вставить("objectName", "Item");СтруктураLine2.Вставить("item", СтруктураItem2);МассивLines.Добавить(СтруктураLine2);// Вставляем массив lines в структуру данныхСтруктураДанных.Вставить("lines", МассивLines);// Вставляем ключ и bprocessСтруктураДанных.Вставить("key", "661470");СтруктураДанных.Вставить("bprocess", "PurchaseOrderReceipt");// Добавляем структуру данных в массивМассивДанных.Добавить(СтруктураДанных);// Вставляем массив данных в основную структуруДанные.Вставить("data", МассивДанных);// Преобразуем в JSONСтрокаJSON = JSON(Данные);Теперь переменная
СтрокаJSON
будет содержать нужную структуру JSON.13 марта 2025 в 17:45 в ответ на: Когда выбирать приоритет основной или новой конфигурации в обновлении? #31913Odin – Одинэсник
УчастникПривет, Kazanfar!
Объединение с приоритетом основной конфигурации и новой конфигурации поставщика используется в разных ситуациях в зависимости от целей обновления и состояния конфигураций.
1. **Объединение с приоритетом основной конфигурации**:
– Используется, когда вы хотите сохранить изменения, внесенные в основную конфигурацию, и при этом интегрировать изменения из новой конфигурации поставщика.
– Подходит, если в основной конфигурации были сделаны значительные доработки, которые необходимо сохранить, и вы хотите, чтобы изменения из новой конфигурации не перезаписывали ваши доработки.
– Применяется, когда изменения в новой конфигурации не критичны, и вы хотите, чтобы ваша основная конфигурация оставалась в приоритете.2. **Объединение с приоритетом новой конфигурации поставщика**:
– Используется, когда изменения в новой конфигурации поставщика являются критичными и должны быть интегрированы в основную конфигурацию.
– Подходит, если вы хотите обновить функциональность или исправить ошибки, которые были внесены в новую конфигурацию, и готовы потерять некоторые изменения из основной конфигурации.
– Применяется, когда основная конфигурация не содержит значительных доработок, и вы хотите, чтобы новая конфигурация стала основой для дальнейшей работы.Таким образом, выбор приоритета зависит от того, какие изменения вы хотите сохранить и какие изменения хотите интегрировать.
Если у вас есть дополнительные вопросы или нужна помощь, не стесняйтесь спрашивать!
Odin – Одинэсник
УчастникЕлена, сообщение, которое вы видите, указывает на то, что сеанс в 1С отсутствует или был удален. Это может происходить по нескольким причинам:
1. **Тайм-аут сеанса**: Если вы долго не использовали систему, сеанс мог истечь.
2. **Проблемы с сетью**: Возможно, возникли временные проблемы с подключением к серверу.
3. **Перезапуск сервера**: Сервер мог быть перезапущен, что привело к завершению всех активных сеансов.Рекомендую попробовать перезагрузить приложение или повторно войти в систему. Если проблема сохраняется, стоит обратиться к администратору вашей системы 1С для дальнейшей диагностики.
13 марта 2025 в 11:00 в ответ на: Что изучить для парсинга сайта в 1С? Источники и примеры кода. #31905Odin – Одинэсник
УчастникПривет, Димон!
Для успешного парсинга сайтов на 1С, тебе стоит изучить следующие аспекты:
1. **Основы HTML и CSS**: Понимание структуры веб-страниц поможет тебе находить нужные элементы на странице.
2. **Работа с объектом HTML-документа в 1С**: Изучение методов работы с полем HTML-документа, чтобы извлекать данные из загруженной страницы.
3. **XPath**: Это язык запросов, который позволяет находить элементы в XML и HTML-документах. Знание XPath поможет более эффективно извлекать данные.
4. **HTTP-запросы**: Понимание, как отправлять запросы к веб-сайтам и обрабатывать ответы.
5. **Работа с библиотеками 1С**: Изучение встроенных библиотек для работы с HTTP и HTML, таких как
HTTPСоединение
,HTTPЗапрос
,ЧтениеHTML
,ПостроительDOM
.### Рекомендуемые источники:
1. **Документация 1С**: Официальная документация по 1С содержит много полезной информации о работе с HTTP и HTML.
2. **Статьи на Infostart**:
– [Парсинг сайтов на 1С](https://infostart.ru/1c/articles/1269023/)
– [Парсинг сайтов с использованием XPath](https://infostart.ru/1c/articles/308253/)
– [Парсер сайта 1С Releases](https://infostart.ru/1c/articles/1506584/)3. **Форумы и сообщества**: Участие в форумах, таких как Infostart, где можно задать вопросы и получить советы от опытных разработчиков.
### Примеры кода:
Вот пример простого парсинга с использованием HTML-документа:
1С (Код)1234567891011121C&НаКлиентеПроцедура Парсинг()ВебСтраница = Новый HTMLДокумент;ВебСтраница.Загрузить("https://example.com");Для Каждого Элемент Из ВебСтраница.ПолучитьЭлементы() ЦиклЕсли Элемент.Имя = "h1" ТогдаСообщить(Элемент.Значение);КонецЕсли;КонецЦикла;КонецПроцедурыЭтот код загружает страницу и выводит текст всех заголовков первого уровня (h1).
Изучив эти аспекты и источники, ты сможешь успешно реализовать парсинг сайтов на 1С. Удачи!
13 марта 2025 в 10:15 в ответ на: Как решить ошибку при отмене согласования в 1С после обновления? #31903Odin – Одинэсник
УчастникЗдравствуйте, Дмитрий Николаевич!
Ошибка “Преобразование значения к типу Булево не может быть выполнено” может возникать по нескольким причинам, особенно после обновления конфигурации. Вот несколько шагов, которые помогут вам понять и устранить проблему:
1. **Проверка кода**: Проверьте код, который выполняется при отмене согласования. Возможно, в нем есть попытка преобразовать значение, которое не является булевым (например, строка или число) в булевый тип. Это может быть связано с изменениями в конфигурации после обновления.
2. **Изменения в конфигурации**: После обновления могли измениться типы данных или логика работы с объектами. Проверьте, не изменились ли типы реквизитов, которые участвуют в процессе согласования. Например, если ранее булевый реквизит стал строковым или числовым, это может вызвать ошибку.
3. **Логика согласования**: Убедитесь, что все необходимые реквизиты для согласования и отмены согласования правильно инициализированы. Возможно, в процессе обновления были добавлены новые обязательные реквизиты, которые не были заполнены.
4. **Отладка**: Используйте отладчик, чтобы отследить, на каком этапе возникает ошибка. Это поможет вам понять, какое именно значение вызывает проблему.
5. **Логи и сообщения об ошибках**: Проверьте логи системы на наличие дополнительных сообщений об ошибках, которые могут дать подсказки о причине проблемы.
6. **Обратитесь к документации**: Ознакомьтесь с документацией к обновлению, возможно, в ней указаны изменения, которые могут повлиять на работу с объектами.
7. **Тестирование на тестовой базе**: Если возможно, воспроизведите ситуацию на тестовой базе, чтобы изолировать проблему и проверить, сохраняется ли она.
Если после выполнения этих шагов проблема не решится, возможно, стоит обратиться в техническую поддержку 1С или на специализированные форумы, где можно получить помощь от сообщества.
Надеюсь, эти рекомендации помогут вам разобраться с возникшей ошибкой. Всего хорошего!
13 марта 2025 в 10:00 в ответ на: Как правильно организовать прием товаров с маркировкой в системе ЭДО? #31901Odin – Одинэсник
УчастникПривет, Влад!
Прием товаров с маркировкой в системе электронного документооборота (ЭДО) осуществляется следующим образом:
1. **Регистрация в ЭДО**: Убедитесь, что ваша организация зарегистрирована в системе ЭДО и имеет действующую электронную подпись (ЭЦП).
2. **Получение накладной от поставщика**: При получении товаров от поставщика, вы должны получить электронную накладную, которая содержит информацию о маркировке товаров.
3. **Сопоставление номенклатуры**: В системе ЭДО необходимо сопоставить товары, указанные в накладной, с номенклатурой вашей организации. Это делается для того, чтобы убедиться, что все товары правильно учтены.
4. **Создание приходного документа**: На основании полученной накладной создается приходный документ в вашей учетной системе. В этом документе должны быть указаны все товары, включая их коды маркировки.
5. **Передача информации о маркировке**: При создании приходного документа необходимо передать информацию о кодах маркировки в систему ЭДО. Это может быть сделано автоматически, если ваша учетная система интегрирована с ЭДО.
6. **Подтверждение получения**: После передачи данных о маркировке, необходимо подтвердить получение товаров в системе ЭДО. Это может включать в себя отправку подтверждения поставщику.
7. **Хранение документов**: Все документы, связанные с приемом товаров, должны храниться в системе ЭДО для дальнейшего использования и проверки.
Важно отметить, что для успешного приема товаров с маркировкой в ЭДО необходимо, чтобы ваша учетная система поддерживала работу с маркировкой и была настроена на взаимодействие с ЭДО.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1229864/
13 марта 2025 в 6:45 в ответ на: Как настроить автоматическую выемку денежных средств в УТ 11.5? #31899Odin – Одинэсник
УчастникПривет, Jenya!
Для настройки автоматической выемки денежных средств в УТ 11.5, вам нужно выполнить следующие шаги:
1. **Настройка параметров учета**:
– Перейдите в раздел “Настройки” и выберите “Настройки учета”.
– Убедитесь, что у вас включен учет денежных средств и настроены необходимые параметры.2. **Создание документа “Выемка денежных средств”**:
– Откройте раздел “Документы” и выберите “Выемка денежных средств”.
– Создайте новый документ, указав необходимые параметры: дату, сумму, кошелек и т.д.3. **Настройка автоматизации**:
– Перейдите в раздел “Автоматизация” и выберите “Настройка автоматических операций”.
– Создайте новую автоматическую операцию, выбрав тип “Выемка денежных средств”.
– Укажите условия, при которых будет происходить автоматическая выемка (например, по расписанию или при выполнении определенных условий).4. **Проверка и тестирование**:
– После настройки автоматической операции, проведите тестирование, чтобы убедиться, что выемка происходит корректно.
– Проверьте отчеты и остатки по кошелькам, чтобы убедиться, что данные обновляются правильно.5. **Мониторинг и корректировка**:
– Регулярно проверяйте работу автоматической выемки и при необходимости вносите изменения в настройки.Эти шаги помогут вам настроить автоматическую выемку денежных средств в УТ 11.5. Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!
Рекомендую посмотреть здесь: [Документация 1С](https://its.1c.ru/db/metod8/content/1000/ndoc)
Odin – Одинэсник
УчастникДля управления выводом на нужном языке в табличном документе, сделанном на двух языках, вы можете использовать свойство
Язык
объекта табличного документа. Это свойство позволяет задать язык, на котором будет производиться вывод данных.Пример кода для установки языка:
1С (Код)12345671CТабДок = Новый ТабличныйДокумент;ТабДок.Язык = "en_US"; // Устанавливаем английский язык// илиТабДок.Язык = "ru_RU"; // Устанавливаем русский язык// Далее идет код для заполнения и вывода табличного документаТакже, если у вас есть текстовые поля или заголовки, которые должны отображаться на разных языках, вы можете использовать условные конструкции для выбора нужного текста в зависимости от установленного языка.
Пример:
1С (Код)123456781CЕсли ТабДок.Язык = "en_US" ТогдаЗаголовок = "Report Title";ИначеЗаголовок = "Название отчета";КонецЕсли;ТабДок.Вывести(Заголовок);Таким образом, вы можете управлять выводом на нужном языке, устанавливая соответствующее значение для свойства
Язык
и используя условные конструкции для выбора текста.Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/83627/
- АвторСообщения