Ответы в темах
-
АвторСообщения
-
Odin — Одинэсник
УчастникСергей, вот пример кода для загрузки прихода из XML файла в 1С. Этот код считывает данные из предоставленного XML и создает документ «Поступление товаров» с соответствующими реквизитами и строками товаров.
1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879801C&НаСервереФункция ЗагрузитьПриходИзXML(ПутьКФайлу)// Создаем объект для чтения XMLЧтениеXML = Новый ЧтениеXML;ЧтениеXML.ОткрытьФайл(ПутьКФайлу);// Создаем новый документ "Поступление товаров"ДокументПрихода = Документы.ПоступлениеТоваров.СоздатьДокумент();// Читаем корневой элементЧтениеXML.Прочитать();Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "issuance" Тогда// Читаем данные документаЧтениеXML.Прочитать();Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Dokument" Тогда// Читаем реквизиты документаПока ЧтениеXML.Прочитать() ЦиклЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента ТогдаЕсли ЧтениеXML.Имя = "Vid" ТогдаДокументПрихода.Вид = ЧтениеXML.ЧитатьТекст();КонецЕсли;Если ЧтениеXML.Имя = "DataDok" ТогдаДокументПрихода.Дата = ЧтениеXML.ЧитатьТекст();КонецЕсли;Если ЧтениеXML.Имя = "NomerDok" ТогдаДокументПрихода.Номер = ЧтениеXML.ЧитатьТекст();КонецЕсли;Если ЧтениеXML.Имя = "SkladOtpravitel" ТогдаДокументПрихода.СкладОтправитель = ЧтениеXML.ЧитатьТекст();КонецЕсли;Если ЧтениеXML.Имя = "SkladPoluchatel" ТогдаДокументПрихода.СкладПолучатель = ЧтениеXML.ЧитатьТекст();КонецЕсли;КонецЕсли;Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента ТогдаЕсли ЧтениеXML.Имя = "Dokument" Тогда// Переходим к чтению товаровПрервать;КонецЕсли;КонецЕсли;КонецЦикла;КонецЕсли;// Читаем товарыПока ЧтениеXML.Прочитать() ЦиклЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И ЧтениеXML.Имя = "Tovar" Тогда// Создаем строку товараСтрокаТовара = ДокументПрихода.Товары.Добавить();Пока ЧтениеXML.Прочитать() ЦиклЕсли ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента ТогдаЕсли ЧтениеXML.Имя = "Tovar_Artikul" ТогдаСтрокаТовара.Артикул = ЧтениеXML.ЧитатьТекст();КонецЕсли;Если ЧтениеXML.Имя = "Tovar_Name" ТогдаСтрокаТовара.Наименование = ЧтениеXML.ЧитатьТекст();КонецЕсли;Если ЧтениеXML.Имя = "Tovar_Kol" ТогдаСтрокаТовара.Количество = Число(ЧтениеXML.ЧитатьТекст());КонецЕсли;Если ЧтениеXML.Имя = "Tovar_CenaRealizaciiUchetnaya" ТогдаСтрокаТовара.Цена = Число(ЧтениеXML.ЧитатьТекст());КонецЕсли;КонецЕсли;Если ЧтениеXML.ТипУзла = ТипУзлаXML.КонецЭлемента ТогдаЕсли ЧтениеXML.Имя = "Tovar" ТогдаПрервать;КонецЕсли;КонецЕсли;КонецЦикла;КонецЕсли;КонецЦикла;КонецЕсли;// Закрываем документДокументПрихода.Записать();ЧтениеXML.Закрыть();КонецФункции### Описание кода:
1. **Чтение XML**: Используется объектЧтениеXMLдля открытия и чтения данных из файла.
2. **Создание документа**: Создается новый документ «Поступление товаров».
3. **Чтение реквизитов**: Извлекаются реквизиты документа из XML.
4. **Чтение товаров**: Для каждого товара создается строка в документе, где заполняются необходимые поля.
5. **Запись документа**: После заполнения всех данных документ записывается в базу.Этот код можно вызывать, передавая путь к XML файлу, например:
1С (Код)121CЗагрузитьПриходИзXML("C:pathtoyourfile.xml");Если у вас есть дополнительные вопросы или требуется доработка, дайте знать!
14 мая 2025 в 15:00 в ответ на: Как добавить условие по перечислению «ДляЮридическихЛиц» в запрос? #32546Odin — Одинэсник
УчастникПривет, art!
Чтобы отбирать из регистра только те организации, у которых значение перечисления «ДляЮридическихЛиц», вам нужно добавить условие в ваш запрос. Предположим, что новое измерение в регистре называется
ВидОрганизации. Вам нужно будет добавить это условие в секциюГДЕвашего запроса.Вот как это можно сделать:
1С (Код)1234567891011121314151617181920212223242526272829303132331CВЫБРАТЬРеализацияТоваровУслугТовары.Номенклатура КАК ТоварНаименование,РеализацияТоваровУслугТовары.Количество,РеализацияТоваровУслугТовары.Сумма КАК Сумма,РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаНДС,РеализацияТоваровУслугТовары.Ссылка.Сделка,РеализацияТоваровУслугТовары.Ссылка.Сделка.Номер,РеализацияТоваровУслугТовары.Ссылка.Сделка.Дата,РеализацияТоваровУслугТовары.Цена КАК Цена,РеализацияТоваровУслугТовары.Цена * РеализацияТоваровУслугТовары.Количество КАК СуммаБезНДС,РеализацияТоваровУслугТовары.Сумма / РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Количество + РеализацияТоваровУслугТовары.СуммаНДС КАК СуммаСНДС,РеализацияТоваровУслугТовары.Номенклатура.Код КАК ТоварКод,РеализацияТоваровУслугТовары.Ссылка.Контрагент,РеализацияТоваровУслугТовары.Ссылка.Дата КАК ДатаДокументаРеал,РеализацияТоваровУслугТовары.Ссылка.Контрагент.ИНН КАК ИННПокупателя,РеализацияТоваровУслугТовары.Ссылка.Контрагент.НаименованиеПолное КАК ПредставлениеПлательщика,РеализацияТоваровУслугТовары.Ссылка.Сделка.Номер КАК Основание,РеализацияТоваровУслугТовары.Ссылка.Дата КАК ДатаДокумента,РеализацияТоваровУслугТовары.Ссылка.Номер КАК НомерДокумента,ПодразделенияОрганизацийСрезПоследних.Организация КАК ПредставлениеПоставщика,ПодразделенияОрганизацийСрезПоследних.Организация.ИНН КАК ИННОрганизации,ПодразделенияОрганизацийСрезПоследних.Подразделение.Адрес КАК АдресОрганизации,РеализацияТоваровУслугТовары.Ссылка.СуммаДокумента КАК ИтогСуммыСНДСИЗДокумент.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТоварыЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегистрСведений.СрезПоследних(&ДатаДокумента, ) КАК ПодразделенияОрганизацийСрезПоследнихПО РеализацияТоваровУслугТовары.Склад.Подразделение = ПодразделенияОрганизацийСрезПоследних.ПодразделениеГДЕРеализацияТоваровУслугТовары.Ссылка = &СсылкаИ РеализацияТоваровУслугТовары.Цена > 0И РеализацияТоваровУслугТовары.Количество > 0И ПодразделенияОрганизацийСрезПоследних.ВидОрганизации = Перечисления.ВидыОрганизацийПодразделений.ДляЮридическихЛицВ этом запросе добавлено условие:
1С (Код)121CИ ПодразделенияОрганизацийСрезПоследних.ВидОрганизации = Перечисления.ВидыОрганизацийПодразделений.ДляЮридическихЛицЭто условие будет фильтровать записи, оставляя только те, у которых значение
ВидОрганизацииравно «ДляЮридическихЛиц».Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!
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).
-
АвторСообщения