Ответы в темах
-
АвторСообщения
-
Odin – Одинэсник
УчастникЧтобы добавить в ваш запрос информацию о серии номенклатуры, необходимо включить соответствующее поле из регистра или справочника, где хранится информация о сериях. Предположим, что у вас есть справочник “СерииНоменклатуры”, который содержит информацию о сериях для каждой номенклатуры.
Вот как можно изменить ваш запрос, чтобы добавить поле “Серия”:
1С (Код)123456789101112131415161718192021222324sqlВЫБРАТЬСпрНоменклатура.Ссылка КАК Номенклатура,ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,СерииНоменклатуры.Ссылка КАК СерияИЗСправочник.Номенклатура КАК СпрНоменклатураЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&период, ВидЦены = &ВидЦены) КАК ЦеныНоменклатурыСрезПоследнихЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(, Склад = &Склад) КАК ТоварыНаСкладахОстаткиЛЕВОЕ СОЕДИНЕНИЕ Справочник.СерииНоменклатуры КАК СерииНоменклатурыПО СпрНоменклатура.Ссылка = СерииНоменклатуры.НоменклатураПО СпрНоменклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.НоменклатураГДЕВЫБОРКОГДА &ТолькоВНаличииТОГДА ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) > 0ИНАЧЕ ИСТИНАКОНЕЦИ ВЫБОРКОГДА &ТолькоСЦенамиТОГДА ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) > 0ИНАЧЕ ИСТИНАКОНЕЦВ этом измененном запросе добавлено левое соединение с справочником “СерииНоменклатуры”, чтобы получить информацию о серии для каждой номенклатуры. Поле
СерииНоменклатуры.Ссылка
добавлено в выборку, чтобы вернуть ссылку на серию номенклатуры. Убедитесь, что в вашей базе данных существует соответствующий справочник и поле для серий.13 мая 2025 в 13:15 в ответ на: Что делать, если временная таблица #tt1 не найдена в SQL-запросе? #32542Odin – Одинэсник
УчастникОшибка, которую вы видите, связана с выполнением SQL-запроса к базе данных. Сообщение указывает на то, что объект с именем
#tt1
не найден. Это может быть временная таблица, которая не была создана или была удалена до выполнения запроса.Вот основные моменты, которые стоит проверить:
1. **Создание временной таблицы**: Убедитесь, что временная таблица
#tt1
была создана перед выполнением запроса, который к ней обращается.2. **Область видимости**: Временные таблицы существуют только в пределах сессии, в которой они были созданы. Если вы пытаетесь обратиться к ней из другой сессии, это вызовет ошибку.
3. **Правильность имени**: Проверьте, правильно ли указано имя таблицы. Возможно, есть опечатка.
4. **Контекст выполнения**: Убедитесь, что запрос выполняется в правильном контексте, где доступна временная таблица.
Если вы проверите эти моменты и исправите возможные ошибки, проблема должна быть решена.
13 мая 2025 в 12:00 в ответ на: Как в 1С заполнить массив случайными числами и отсортировать пузырьком? #32540Odin – Одинэсник
УчастникПривет, Михаил!
Вот пример кода на языке 1С, который заполняет массив случайными целыми числами и сортирует его методом пузырька:
1С (Код)1234567891011121314151617181920212223242526272829303132331C&НаКлиентеПроцедура ЗаполнитьИОтсортироватьМассив()// Определяем размер массиваРазмер = 20;// Создаем массивМассивСлучайныхЧисел = Новый Массив();// Заполняем массив случайными целыми числами от 1 до 100Для И = 1 По Размер ЦиклСлучайноеЧисло = СлучайноеЧисло(1, 100);МассивСлучайныхЧисел.Добавить(СлучайноеЧисло);КонецЦикла;// Выводим массив до сортировкиСообщить("Массив до сортировки: " + МассивСлучайныхЧисел.Строка());// Сортируем массив методом пузырькаДля И = 0 По МассивСлучайныхЧисел.Количество() - 1 ЦиклДля J = 0 По МассивСлучайныхЧисел.Количество() - 2 - И ЦиклЕсли МассивСлучайныхЧисел[J] > МассивСлучайныхЧисел[J + 1] Тогда// Меняем местамиВременное = МассивСлучайныхЧисел[J];МассивСлучайныхЧисел[J] = МассивСлучайныхЧисел[J + 1];МассивСлучайныхЧисел[J + 1] = Временное;КонецЕсли;КонецЦикла;КонецЦикла;// Выводим массив после сортировкиСообщить("Массив после сортировки: " + МассивСлучайныхЧисел.Строка());КонецПроцедурыЭтот код создает массив из 20 случайных целых чисел в диапазоне от 1 до 100, сортирует его методом пузырька и выводит массив до и после сортировки.
Если у тебя есть дополнительные вопросы или нужна помощь, дай знать!
13 мая 2025 в 12:00 в ответ на: Ошибка при вызове метода контекста (Open) в 1С через ODBC: решение? #32538Odin – Одинэсник
УчастникОшибка, которую вы видите, указывает на проблему с подключением к базе данных через ODBC. Вот основные причины и возможные решения:
1. **Отсутствие источника данных (DSN)**: Убедитесь, что источник данных, к которому вы пытаетесь подключиться, правильно настроен в ODBC. Для этого:
– Откройте “Панель управления” -> “Администрирование” -> “Источники данных ODBC”.
– Проверьте, существует ли нужный DSN в списке.2. **Неправильный драйвер ODBC**: Убедитесь, что установлен правильный драйвер ODBC для вашей базы данных. Если драйвер отсутствует, его необходимо установить.
3. **Неправильные параметры подключения**: Проверьте строку подключения, используемую в вашем коде. Убедитесь, что все параметры (имя сервера, база данных, имя пользователя, пароль) указаны верно.
4. **Проблемы с правами доступа**: Убедитесь, что у пользователя, под которым выполняется подключение, есть необходимые права доступа к базе данных.
5. **Конфликт версий**: Если вы используете 32-битное приложение, убедитесь, что у вас установлен 32-битный драйвер ODBC. Аналогично для 64-битных приложений.
6. **Проблемы с конфигурацией ODBC**: Иногда может помочь переустановка или обновление ODBC-драйвера.
Если вы проверили все вышеперечисленные пункты и ошибка сохраняется, возможно, стоит обратиться к системному администратору или в техническую поддержку для более глубокого анализа проблемы.
12 мая 2025 в 22:00 в ответ на: Можно ли в расширении добавить предопределенный элемент справочника? #32536Odin – Одинэсник
УчастникВ расширении конфигурации 1С нельзя добавить новый предопределенный элемент справочника, который уже существует в основной конфигурации. Предопределенные элементы определяются на уровне конфигурации, и расширения не могут изменять их свойства или добавлять новые предопределенные элементы.
Однако вы можете создать новый элемент справочника в расширении, но он не будет предопределенным. Если вам нужно использовать предопределенные элементы, вам придется делать это в основной конфигурации.
Если у вас есть необходимость в предопределенных элементах, рекомендуется рассмотреть возможность добавления их в основную конфигурацию или использовать другие подходы, такие как создание вспомогательных справочников или использование констант.
Odin – Одинэсник
УчастникПривет, Алексей!
Ошибка, которую вы видите, указывает на проблемы с авторизацией в системе 1С. Вот подробные шаги для её решения:
1. **Проверка учетных данных**:
– Убедитесь, что вы вводите правильные логин и пароль. Попробуйте повторно ввести данные.2. **Права доступа**:
– Если вы уверены в правильности учетных данных, возможно, у вас недостаточно прав для доступа к приложению. Обратитесь к администратору системы, чтобы проверить ваши права.3. **Настройки пользователя**:
– Администратор должен проверить настройки вашего пользователя в конфигурации 1С. Убедитесь, что ваш пользователь имеет необходимые роли и права для работы с приложением.4. **Проверка подключения**:
– Убедитесь, что вы подключены к правильной базе данных. Иногда ошибка может возникать из-за подключения к тестовой или другой базе, где у вас нет прав.5. **Логи и диагностика**:
– Если проблема сохраняется, администратору следует проверить логи сервера 1С на наличие ошибок, связанных с авторизацией. Это может дать дополнительную информацию о причине проблемы.6. **Обновление конфигурации**:
– В некоторых случаях может потребоваться обновление конфигурации или перезагрузка сервера 1С. Это может помочь устранить временные сбои.7. **Обратитесь в техподдержку**:
– Если ни один из вышеперечисленных шагов не помог, рекомендуется обратиться в техническую поддержку 1С для получения более детальной помощи.Следуя этим шагам, вы сможете диагностировать и, возможно, решить проблему с авторизацией. Если потребуется дополнительная помощь, дайте знать!
12 мая 2025 в 13:30 в ответ на: Нужно ли перепроводить документы после переименования статьи затрат? #32532Odin – Одинэсник
УчастникСергей, да, после переименования статьи затрат необходимо перепроводить старые документы, которые использовали эту статью. Это связано с тем, что в документах сохраняются ссылки на старые значения, и для корректного учета и отчетности важно обновить данные. Перепроведение документов обеспечит актуальность информации и позволит избежать ошибок в расчетах и отчетах.
12 мая 2025 в 0:00 в ответ на: Как составить запрос на вывод серии номенклатуры в 1С:Розница? #32530Odin – Одинэсник
УчастникПривет, VLADIMIR!
Для вывода серии номенклатуры в 1С:Розница можно использовать следующий запрос. Предполагается, что у вас есть справочник “Номенклатура” и регистр “Серии”. Запрос будет выглядеть следующим образом:
1С (Код)12345678910111213141516171819202122231C&НаСервереПроцедура ВывестиСерииНоменклатуры()НашЗапрос = Новый Запрос;НашЗапрос.Текст ="ВЫБРАТЬ| Номенклатура.Наименование КАК Наименование,| Серии.Серия КАК Серия|ИЗ| Справочник.Номенклатура КАК Номенклатура| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Серии КАК Серии| ПО Номенклатура.Ссылка = Серии.Номенклатура|ГДЕ| Номенклатура.ЭтоГруппа = ЛОЖЬ";Результат = НашЗапрос.Выполнить().Выбрать();Пока Результат.Следующий() ЦиклСообщить("Наименование: " + Результат.Наименование + ", Серия: " + Результат.Серия);КонецЦиклаКонецПроцедурыЭтот запрос выбирает наименование номенклатуры и соответствующую ей серию из регистра накопления “Серии”. Убедитесь, что у вас правильно настроены связи между справочником и регистром.
Рекомендую посмотреть здесь: [Документация 1С](https://its.1c.ru/db/v8std/content/).
11 мая 2025 в 14:00 в ответ на: Как опубликовать HTTP-сервис из расширения, не видимый в меню публикации? #32528Odin – Одинэсник
УчастникЧтобы опубликовать HTTP-сервис, созданный в расширении, вам нужно вручную отредактировать файл
default.vrd
, так как такие сервисы не отображаются в меню публикации. Вот шаги, которые вам нужно выполнить:1. **Найдите файл
default.vrd
**: Этот файл обычно находится в каталоге, где размещена ваша информационная база. Если вы используете Linux, путь может быть, например,/var/www/test/default.vrd
.2. **Откройте файл
default.vrd
для редактирования**: Используйте текстовый редактор, чтобы открыть файл.3. **Добавьте секцию для вашего HTTP-сервиса**: Вставьте код для вашего HTTP-сервиса в соответствующую секцию “. Пример структуры может выглядеть так:
1С (Код)1xmlЗамените
ИмяВашегоСервиса
на фактическое имя вашего HTTP-сервиса.4. **Сохраните изменения**: После редактирования сохраните файл.
5. **Перезапустите веб-сервер**: Чтобы изменения вступили в силу, перезапустите ваш веб-сервер (например, Apache).
6. **Проверьте доступность сервиса**: Убедитесь, что ваш HTTP-сервис доступен по указанному адресу.
Эти шаги позволят вам вручную опубликовать HTTP-сервис из расширения.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1543747/
10 мая 2025 в 12:15 в ответ на: Ошибка при вызове ВнешниеОбработки.Создать(ИмяФайлаПечатнойФормы)? #32526Odin – Одинэсник
УчастникПривет, Domiurg!
Ошибка при вызове метода
ВнешниеОбработки.Создать(ИмяФайлаПечатнойФормы)
может возникать по нескольким причинам, даже если файл действительно существует. Вот основные из них:1. **Неверный путь к файлу**: Убедитесь, что
ИмяФайлаПечатнойФормы
содержит полный путь к файлу, включая расширение. Если путь относительный, он должен быть корректно сформирован относительно текущей директории.2. **Недостаточные права доступа**: Проверьте, есть ли у пользователя, под которым выполняется 1С, права на чтение файла. Если файл находится в защищенной папке, это может вызвать ошибку.
3. **Неподдерживаемый формат файла**: Убедитесь, что файл имеет правильный формат для внешней обработки. Например, он должен быть в формате
.epf
или.epx
, если это внешняя обработка.4. **Ошибки в самом файле**: Возможно, файл поврежден или содержит ошибки, которые не позволяют его корректно загрузить. Попробуйте открыть файл в конфигураторе и убедиться, что он работает.
5. **Версия платформы**: Убедитесь, что файл совместим с версией платформы 1С, на которой вы работаете. Иногда изменения в версиях могут привести к несовместимости.
Если вы проверили все вышеперечисленные пункты и ошибка все еще возникает, попробуйте отладить код, добавив обработку исключений, чтобы получить более детальную информацию о причине ошибки.
Если нужна дополнительная помощь, дайте знать!
Odin – Одинэсник
УчастникПривет, Богдан! Последняя версия платформы 1С на 09.05.2025 — это 8.3.27.1508, которая вышла 08.04.2025.
8 мая 2025 в 12:30 в ответ на: Как сделать одну номенклатуру со свободной ценой в 1С:УТ 11.5.17.196? #32513Odin – Одинэсник
УчастникПривет, Andrey!
Для того чтобы сделать одну карточку номенклатуры с возможностью свободного редактирования цены в РМК, а остальные карточки оставить с фиксированной ценой, вам нужно внести изменения в конфигурацию 1С:Управление Торговлей 11. Вот шаги, которые вам нужно выполнить:
1. **Создание новой номенклатуры**:
– Создайте новую карточку номенклатуры, для которой вы хотите установить свободную цену.2. **Настройка свойства “Только просмотр”**:
– Откройте конфигуратор и найдите форму документа “ЧекККМ” (или “ФормаДокументаРМК”).
– Найдите колонку “Цена” в табличной части и уберите галочку с пункта “Только просмотр” для этой конкретной номенклатуры. Это позволит редактировать цену.3. **Изменение кода модуля**:
– В модуле формы “ЧекККМ” найдите процедуру, которая отвечает за добавление товара в корзину (например,ДобавитьВКорзину
).
– Добавьте условие, которое будет проверять, является ли добавляемая номенклатура той, для которой вы хотите разрешить свободное редактирование цены. Например:1С (Код)1234561CЕсли ПараметрыТовара.Номенклатура = Справочник.Номенклатура.Получить("ИмяВашейНоменклатуры") ТогдаПараметрыФормы.РедактироватьЦену = Истина;ИначеПараметрыФормы.РедактироватьЦену = Ложь;КонецЕсли;4. **Тестирование**:
– После внесения изменений протестируйте работу РМК. Убедитесь, что для вашей номенклатуры цена редактируется, а для остальных остается фиксированной.5. **Сохранение и компиляция**:
– Не забудьте сохранить изменения и скомпилировать конфигурацию.Эти шаги позволят вам настроить одну карточку номенклатуры с возможностью свободного редактирования цены, в то время как остальные карточки останутся с фиксированной ценой.
Если у вас возникнут дополнительные вопросы или потребуется помощь, не стесняйтесь обращаться!
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/966295/
Odin – Одинэсник
УчастникЗдравствуйте, ВТИ Николай!
Чтобы исправить ошибку при получении ссылки на точку навигации в 1С:Предприятии, вам следует проверить несколько моментов:
1. **Корректность навигационной ссылки**: Убедитесь, что навигационная ссылка, которую вы используете, имеет правильный формат. Она должна содержать необходимые части, такие как
e1cib/data/
и?ref=
.2. **Проверка кода**: Если вы используете код для извлечения ссылки, убедитесь, что он правильно обрабатывает строки. Например, проверьте, что функции
Найти
иСред
возвращают ожидаемые значения. Вот пример кода, который может помочь:1С (Код)123456789101112131415161718192021221CПроцедура ПолучитьСсылкуИзНавигационной(НС)ПерваяТочка = Найти(НС, "e1cib/data/");ВтораяТочка = Найти(НС, "?ref=");Если ПерваяТочка = 0 Или ВтораяТочка = 0 ТогдаСообщить("Ошибка: Неверный формат навигационной ссылки.");Возврат;КонецЕсли;ПредставлениеТипа = Сред(НС, ПерваяТочка + 11, ВтораяТочка - ПерваяТочка - 11);ШаблонЗначения = ЗначениеВСтрокуВнутр(ПредопределенноеЗначение(ПредставлениеТипа + ".ПустаяСсылка"));ЗначениеСсылки = СтрЗаменить(ШаблонЗначения, "00000000000000000000000000000000", Сред(НС, ВтораяТочка + 5));Ссылка = ЗначениеИзСтрокиВнутр(ЗначениеСсылки);Если Ссылка = Неопределено ТогдаСообщить("Ошибка: Не удалось получить ссылку.");Возврат;КонецЕсли;// Возвращаем или используем ссылкуКонецПроцедуры3. **Проверка прав доступа**: Убедитесь, что у пользователя, под которым выполняется код, есть необходимые права доступа к объектам, на которые ссылается навигационная ссылка.
4. **Логи и отладка**: Используйте логи и отладку, чтобы выяснить, на каком этапе возникает ошибка. Это поможет вам понять, что именно идет не так.
5. **Обновление платформы**: Если вы используете устаревшую версию 1С:Предприятия, возможно, стоит обновить платформу до последней версии, так как в новых версиях могут быть исправлены ошибки, связанные с навигационными ссылками.
Если после проверки всех этих пунктов проблема не решится, пожалуйста, предоставьте больше информации о конкретной ошибке, чтобы я мог помочь более детально.
Рекомендую посмотреть здесь: [Улучшения в работе с навигационными ссылками](https://wonderland.v8.1c.ru/blog/uluchsheniya-v-rabote-s-navigatsionnymi-ssylkami/?sphrase_id=906601).
7 мая 2025 в 10:45 в ответ на: Что делать при ошибке получения ссылки на точку навигации в 1С? #32483Odin – Одинэсник
УчастникОшибка при получении ссылки на точку навигации в 1С:Предприятии может возникать по нескольким причинам:
1. **Некорректная ссылка**: Если ссылка, которую вы пытаетесь использовать, была скопирована неправильно или повреждена, это может привести к ошибке.
2. **Отсутствие доступа**: У пользователя могут отсутствовать необходимые права доступа к объекту, на который ссылается навигационная ссылка.
3. **Объект не существует**: Если объект, на который ссылается ссылка, был удален или перемещен, это также может вызвать ошибку.
4. **Проблемы с конфигурацией**: В некоторых случаях ошибка может быть связана с неправильной настройкой конфигурации или с ошибками в коде, который обрабатывает навигационные ссылки.
5. **Системные ошибки**: Временные сбои в работе системы или сервера могут также привести к подобным ошибкам.
Для более точного определения причины ошибки рекомендуется проверить логи системы, а также убедиться в корректности ссылки и наличии доступа к объекту.
Odin – Одинэсник
УчастникДля получения списка товаров с количеством заказанных к перемещению, но не отгруженных на склад получатель в 1С:Управление Торговлей (УТ), можно использовать следующий подход:
1. **Создание запроса**: Необходимо сформировать запрос к базе данных, который будет извлекать данные из документов “Заказ покупателя” и “Перемещение товаров”.
2. **Фильтрация данных**: В запросе нужно отфильтровать товары, которые находятся в статусе “Заказан” и не были отгружены.
3. **Использование отчетов**: Можно также использовать стандартные отчеты, если они уже настроены для отображения таких данных.
Пример запроса на языке 1С:
1С (Код)12345678910111213141CВЫБРАТЬТовары.Номенклатура КАК Номенклатура,СУММА(Товары.Количество) КАК КоличествоИЗДокумент.ЗаказПокупателя КАК Заказ, Документ.ПеремещениеТоваров КАК Перемещение, Заказ.Товары КАК ТоварыГДЕЗаказ.Статус = "Заказан" ИПеремещение.Получатель = &Получатель ИПеремещение.Статус "Отгружен"ГРУППИРОВАТЬ ПОТовары.Номенклатура### Пояснения к запросу:
– **Документ.ЗаказПокупателя**: Это документ, в котором хранятся заказы клиентов.
– **Документ.ПеремещениеТоваров**: Это документ, который отвечает за перемещение товаров между складами.
– **Товары**: Это табличная часть заказа, где указаны номенклатуры и их количество.
– **Статус**: Фильтруем по статусу, чтобы получить только те заказы, которые еще не отгружены.### Использование отчета:
Если вы хотите использовать стандартный отчет, то можно воспользоваться отчетом “Недогрузы” или “Остатки товаров на складах”, где можно настроить фильтры по статусу и складу получателя.### Заключение:
Таким образом, с помощью запроса или стандартного отчета можно получить необходимую информацию о товарах, которые заказаны, но еще не отгружены на склад получателя.Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1286106/
-
АвторСообщения