22.11.22 — 18:59
Работаем с sftp, выкладываем файлы из 1с для склада. Получили ошибку, после обновления сервиса (сменили формат ssh-rsa на ed25519) на стороне склада (выслали новые параметры ключа). При заполнении «SessionOptions»,
конкретно параметра «SshHostKeyFingerprint», получаю ошибку:
Произошла исключительная ситуация (WinSCPnet): SSH host key fingerprint «Ключ» does not match pattern /((ssh-rsa|ssh-dss|ssh-ed25519|ecdsa-sha2-nistp(256|384|521…
Кто сталкивался, в чем может быть проблема?
1 — 22.11.22 — 19:49
(0) загляни в C:UsersИмяПользователя.ssh
2 — 22.11.22 — 22:27
(1) не нашел файла с расширением ssh
3 — 22.11.22 — 22:31
(2) это не файл а каталог
4 — 22.11.22 — 22:32
5 — 22.11.22 — 22:34
6 — 23.11.22 — 13:23
(0) не совсем понимаю, зачем смотреть папку ssh. Нам выслали два файла ключ и сертификат как понимаю, для подключения. Отправка файла как я понимаю происходит через подключение программы WINSCP. В момент подключения через com объект, и установки параметров объекта происходит ошибка. Человек, который высылал файлы ключей сказал, что ssh-rsa устарел обмен и работает как ed25519.
7 — 23.11.22 — 13:26
sessionOptions = Новый COMОбъект(«WinSCP.SessionOptions»);
sessionOptions.HostName = ПутьFTP;
sessionOptions.UserName = Пользователь;
sessionOptions.PortNumber = PortNumber;
sessionOptions.SshHostKeyFingerprint= SshHostKeyFingerprint; ———————————- Здесь происходит ошибка «does not match pattern»
8 — 23.11.22 — 13:29
(7) Вы сам winscp открывали, пробовали зайти на ресурс?
9 — 23.11.22 — 13:38
(7) Если на диске C открывать WinSCP, то я подключаюсь к sftp. Вижу папки, и могу вручную скопировать туда файл.
10 — 23.11.22 — 13:40
(9) Так вот, когда вы подключаетесь, там можно скопировать SshHostKeyFingerprint ключ. Его же и надо вставить в sessionOptions.SshHostKeyFingerprint=
11 — 23.11.22 — 13:40
В инете нашел, описание и решение подобной ошибки: https://winscp.net/eng/docs/message_key_fingerprint_does_not_match
Но я так и не понял, (ТАМ ПРИВЕДЕН ПРИМЕР) как:
Base64-encoded SHA-256 SSH host key fingerprint:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M=
Кодировать в:
Hex-encoded SHA-256 TLS host certificate fingerprint:
b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
12 — 23.11.22 — 13:42
В инете просмотрел кучу онлайн кодировщиков, но не получил результат кодирования строки:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M= ,в итоговую строку: b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
13 — 23.11.22 — 13:51
(11) В вашей же ссылке «Самый простой способ получить отпечатки пальцев в правильном формате — заставить WinSCP сгенерировать для вас шаблон кода «
14 — 23.11.22 — 13:51
Я вам и говорю, взять уже сгенерированный правильный ключ и вставить в 1с
15 — 23.11.22 — 14:51
(14) да спасибо, полазил по WINSCP. В меню «Generate session URL/code», закладка «.Net assembly code» нашел примеры SessionOption. Скопировал от туда SshHostKeyFingerprint и о чудо заработало) PS Код кстати не шестнадцатеричном формате.
Всем Спасибо!!!
Garykom
16 — 23.11.22 — 14:53
(15) а лежать оно должно в (5)
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Radion
22.11.22 — 18:59
Работаем с sftp, выкладываем файлы из 1с для склада. Получили ошибку, после обновления сервиса (сменили формат ssh-rsa на ed25519) на стороне склада (выслали новые параметры ключа). При заполнении «SessionOptions»,
конкретно параметра «SshHostKeyFingerprint», получаю ошибку:
Произошла исключительная ситуация (WinSCPnet): SSH host key fingerprint «Ключ» does not match pattern /((ssh-rsa|ssh-dss|ssh-ed25519|ecdsa-sha2-nistp(256|384|521…
Кто сталкивался, в чем может быть проблема?
Garykom
1 — 22.11.22 — 19:49
(0) загляни в C:UsersИмяПользователя.ssh
Radion
2 — 22.11.22 — 22:27
(1) не нашел файла с расширением ssh
Garykom
3 — 22.11.22 — 22:31
(2) это не файл а каталог
Garykom
4 — 22.11.22 — 22:32
Garykom
5 — 22.11.22 — 22:34
Radion
6 — 23.11.22 — 13:23
(0) не совсем понимаю, зачем смотреть папку ssh. Нам выслали два файла ключ и сертификат как понимаю, для подключения. Отправка файла как я понимаю происходит через подключение программы WINSCP. В момент подключения через com объект, и установки параметров объекта происходит ошибка. Человек, который высылал файлы ключей сказал, что ssh-rsa устарел обмен и работает как ed25519.
Radion
7 — 23.11.22 — 13:26
sessionOptions = Новый COMОбъект(«WinSCP.SessionOptions»);
sessionOptions.HostName = ПутьFTP;
sessionOptions.UserName = Пользователь;
sessionOptions.PortNumber = PortNumber;
sessionOptions.SshHostKeyFingerprint= SshHostKeyFingerprint; ———————————- Здесь происходит ошибка «does not match pattern»
Kassern
8 — 23.11.22 — 13:29
(7) Вы сам winscp открывали, пробовали зайти на ресурс?
Radion
9 — 23.11.22 — 13:38
(7) Если на диске C открывать WinSCP, то я подключаюсь к sftp. Вижу папки, и могу вручную скопировать туда файл.
Kassern
10 — 23.11.22 — 13:40
(9) Так вот, когда вы подключаетесь, там можно скопировать SshHostKeyFingerprint ключ. Его же и надо вставить в sessionOptions.SshHostKeyFingerprint=
Radion
11 — 23.11.22 — 13:40
В инете нашел, описание и решение подобной ошибки: https://winscp.net/eng/docs/message_key_fingerprint_does_not_match
Но я так и не понял, (ТАМ ПРИВЕДЕН ПРИМЕР) как:
Base64-encoded SHA-256 SSH host key fingerprint:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M=
Кодировать в:
Hex-encoded SHA-256 TLS host certificate fingerprint:
b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
Radion
12 — 23.11.22 — 13:42
В инете просмотрел кучу онлайн кодировщиков, но не получил результат кодирования строки:
ssh-rsa 2048 2EPqmpSRaRtUIqwvm15rzavssrhHxJ3avJWh9mBaz8M= ,в итоговую строку: b0:ea:9e:a2:0b:90:58:72:4c:dc:bc:5d:83:0e:bf:02:ef:28:9d:b8:8e:26:bc:25:bd:36:4b:17:50:1b:c8:da
Kassern
13 — 23.11.22 — 13:51
(11) В вашей же ссылке «Самый простой способ получить отпечатки пальцев в правильном формате — заставить WinSCP сгенерировать для вас шаблон кода «
Kassern
14 — 23.11.22 — 13:51
Я вам и говорю, взять уже сгенерированный правильный ключ и вставить в 1с
Radion
15 — 23.11.22 — 14:51
(14) да спасибо, полазил по WINSCP. В меню «Generate session URL/code», закладка «.Net assembly code» нашел примеры SessionOption. Скопировал от туда SshHostKeyFingerprint и о чудо заработало) PS Код кстати не шестнадцатеричном формате.
Всем Спасибо!!!
Garykom
16 — 23.11.22 — 14:53
(15) а лежать оно должно в (5)
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
Содержание:
1. Ошибка при установке значения атрибута контекста
2. Ошибка при получении значения атрибута контекста
Одной из наиболее частых ошибок исполнения кода 1С являются ошибки, связанные с установкой реквизита либо получением реквизита через точку, либо ошибка при вызове функции или процедуры через точку. Все данные объекты являются атрибутами информационных объектов-владельцев, к которым они принадлежат. Рассмотрим примеры таких ошибок и причины их возникновения.
1. Ошибка при установке значения атрибута контекста
Ошибка при установке значения атрибута контекста говорит нам о невозможности присвоить выбранное значение определенному атрибуту информационного объекта. Вызвано это либо несовпадением типа атрибута и присваиваемого ей значения, отсутствием возможности присвоить значение выбранному атрибуту, так как его можно только читать, но не записывать в него, отсутствием прав у текущего пользователя на запись значений в данный атрибут. Например, в реквизит «ДатаДокумента» с типом «Дата» пытаемся записать строку, в реквизит с типом данных ссылки на документ пытаемся записать не ссылку, а объект, полученный по ссылке, что невозможно из-за несоответствия типов, что приводит к ошибке установки значения атрибута.
Другой пример – проходя циклом выборку запроса, пытаемся в колонку выборки записать значение, что невозможно, так как значения выборки запроса можно только считывать, а для того, чтобы можно было полученные из запроса данные изменять в коде, нужно пользоваться не выборкой, а выгружать результат запроса в таблицу значений, в таком случае в цикле по ней можно будет менять значения в колонках, но только на значения, соответствующие типу колонки. Либо у пользователя, под которым выполняется код, нет прав на изменение даты документа, при попытке записать в данный реквизит новую дату, будет выведено сообщение об ошибке установке значения, но в причине будет указано отсутствие прав у пользователя.
2. Ошибка при получении значения атрибута контекста
Ошибка при получении значения атрибута контекста указывает на невозможность прочитать значение атрибута объекта в силу его отсутствия, либо отсутствия прав на его чтение. Например, обращение к несуществующему реквизиту объекта, несуществующему полю выборки из запроса, несуществующему свойству элемента формы и т.п. Так же как пример можно рассмотреть получение текущего пользователя из параметров сеанса — если данный параметр сеанса не установлен, то тоже будет выведена ошибка получения значения атрибута контекста, но в причине будет указана попытка получения неинициализированного значения параметра сеанса.
При возникновении данных ошибок значения атрибута в 1Св первую очередь следует проверить существование атрибута, к которому обращаются, затем проверить совпадение типов значений атрибута и присваиваемого ему значения, затем уже проверить права на установку либо чтение значения. Проверить, является ли дело в правах либо дать права на действия с атрибутом, можно, установив привилегированный режим для совершения действия с данным атрибутом, прописав перед строчкой с ошибкой УстановитьПривилегированныйРежим(Истина), после строчки — УстановитьПривилегированныйРежим(Ложь).
Специалист компании «Кодерлайн»
Александр Суворов
1 февраля, 2017
21 апреля, 2017
Дано
- 1С конфигурация бухгалтерия предприятия 2.0
- Ошибка печати ПКО (приходный кассовый ордер):
{ОбщаяФорма.ФормаПечати.Форма(18)}: Ошибка при установке значения атрибута контекста ЭлементыФормы.ПолеДокумента.ПолеСверху по причине: Несоответствие типов |
Анализ проблемы
На первый взгляд все ужасно:
- в конфигураторе видно, что система пытается выполнить строчку кода:
ЭлементыФормы.ПолеДокумента.ПолеСверху = ПечатныйДокумент.ПолеСверху; |
- в отладке видно, что обе переменные типа “Число”,
- синтакс-помощник говорит что:
ТабличныйДокумент (SpreadsheetDocument) ПолеСверху (TopMargin) Использование: Чтение и запись. |
То есть ПолеСверху доступно для записи и обе переменные типа число и все тут корректно, но система говорит “Несоответствие типов” – полный бред.
Решение
На решение проблемы натолкнула фраза “Ошибка при установке значения атрибута контекста”, значит что-то не так с доступом.
Оказалось в базе нет ни одного пользователя и работа осуществлялась под пользователем НеАвторизован. После создания пользователя с необходимыми правами все заработало.
Дополнено 2017.04.10
Проблема повторилась, но уже при печати РТУ и с использованием уже настроенной учетной записи.
Помогло создание нового пользователя с такими же правами доступа. То есть нового создаем, старого удаляем и после этого все работает.
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«Ну подскажите как исправить ошибку?<br>{Документ.ИК_БезвозмездноеПолучение.Форма.ФормаДокумента(300)} : Ошибка при установке значения атрибута контекста (Видимость)<br>ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость= ВестиПоАналитике;<br>по причине: Несоответствие типов»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
«Яблоко=Апельсин;<br>Вот что у вас,а должно быть яблоко=истина;»
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
«И где ошибка?<br> <br>Процедура ДоступностьЭлементов()<br> Если ПоступлениеМЗ Тогда<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Истина;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.Панель1.Страницы.МатериальныеЗапасы.Видимость = Ложь;<br> ЭлементыФормы.Панель1.Страницы.ОсновныеСредства.Видимость = Истина;<br> Если УчетНПА Тогда<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = Ложь;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = Ложь;<br> Иначе<br> ЭлементыФормы.ОсновныеСредства.Колонки.ГрупповойУчет.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.АмортизационнаяГруппа.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КодПоОКОФ.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СуммаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаАмортизации.Видимость = Истина;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ОстСрокПолезногоИспользования.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ПорядокПогашенияСтоимости.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СпособНачисленияАмортизации.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.НачислятьАмортизацию.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СчетУчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.КОСГУСчетаЗатрат.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат2.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат3.Видимость = НачислятьАмортизациюКазны;<br> ЭлементыФормы.ОсновныеСредства.Колонки.СубконтоСчетаЗатрат4.Видимость = НачислятьАмортизациюКазны;<br> КонецЕсли;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ДатаВводаВЭксплуатацию.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ФактическийСрокЭкспл.Видимость = ВестиПоАналитике;<br> ЭлементыФормы.ОсновныеСредства.Колонки.ИнвНомер.Видимость = ВестиПоАналитике;<br> КонецЕсли;»
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Что такое ВестиПоАналитике?отладчиком смотрел что там?
Михаил80
Дата регистрации: 31.01.2012
Сообщений: 3
к счету добовляется аналитика, так как у счета может быть несколько аналитик. Скорей всего чтото в праметрах аналитики. Например для 01 счета справочник сотрудников может быть подключен как аналитика, но называться он будет материально ответственное лицо.
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
я знаю что такое аналитика,конкретно скажи что за переменная!
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
А что это за документ такой «ИК_БезвозмездноеПолучение» и откуда он взялся в БП?
ZhAmAn
Дата регистрации: 23.12.2010
Сообщений: 1333
Показывать по
10
20
40
сообщений
Heltarion 2 / 2 / 0 Регистрация: 21.11.2011 Сообщений: 57 |
||||
1 |
||||
02.12.2011, 11:18. Показов 8369. Ответов 11 Метки нет (Все метки)
Добрый день! ТПП — «табличное поле правил», в ней уже занесены некотрые значения из XML Код процедуры:
__________________ 0 |
308 / 308 / 1 Регистрация: 16.01.2011 Сообщений: 1,073 |
|
02.12.2011, 11:32 |
2 |
СохранитьНажатие(Элемент) это событие формы 1 |
2 / 2 / 0 Регистрация: 21.11.2011 Сообщений: 57 |
|
02.12.2011, 11:56 [ТС] |
3 |
СохранитьНажатие(Элемент) это событие формы В МодулеОбъекта создал функцию «Процедура СохранитьВЭксель(ТПП) Экспорт» 0 |
308 / 308 / 1 Регистрация: 16.01.2011 Сообщений: 1,073 |
|
02.12.2011, 12:10 |
4 |
процедуру ИнициализацияЭкселя() тоже закинь в модуль объекта 1 |
2 / 2 / 0 Регистрация: 21.11.2011 Сообщений: 57 |
|
02.12.2011, 12:19 [ТС] |
5 |
Да я именно так и сделал, просто забыл упомянуть, ТПП нужна в противном случае он не понимает что это за переменная Добавлено через 4 минуты Так работает, но если я поставлю Дело в том что «стр.НоменклатураБазы» — это справочник ссылка, если у нее текстовый тип то программа глотает и записывает. 0 |
19 / 18 / 1 Регистрация: 15.11.2011 Сообщений: 54 |
|
02.12.2011, 12:22 |
6 |
чет вы мудрено делаете. 1 |
2 / 2 / 0 Регистрация: 21.11.2011 Сообщений: 57 |
|
02.12.2011, 12:28 [ТС] |
7 |
В данный момент ему не нравится присваемое значение к ячейке экселя (если я правильно понимаю сообщение «Ошибка при установке значения атрибута контекста (Value)» ) Причем если тип значения строка, то он его получает без вопросо, если тип значения СправочникССсылка, то он руегается на «Ошибка при установке значения атрибута контекста (Value)». Я просто не понимаю как обратиться к такому типу переменных чтобы получить значение типа строка. 0 |
19 / 18 / 1 Регистрация: 15.11.2011 Сообщений: 54 |
|
02.12.2011, 12:30 |
8 |
а принудительно все значения в текст перевести нельзя? 1 |
308 / 308 / 1 Регистрация: 16.01.2011 Сообщений: 1,073 |
|
02.12.2011, 12:30 |
9 |
стр.НоменклатураБазы.Наименование например 1 |
2 / 2 / 0 Регистрация: 21.11.2011 Сообщений: 57 |
|
02.12.2011, 12:32 [ТС] |
10 |
стр.НоменклатураБазы — это уже есть наименование интересующего меня поля (имя столбца), в некотрых случаях можно писать: стр.НоменклатураБазы.Значение, но это нетот случай Добавлено через 56 секунд 0 |
308 / 308 / 1 Регистрация: 16.01.2011 Сообщений: 1,073 |
|
02.12.2011, 12:34 |
11 |
значение из Excel? 1 |
Heltarion 2 / 2 / 0 Регистрация: 21.11.2011 Сообщений: 57 |
||||
02.12.2011, 12:43 [ТС] |
12 |
|||
Рабочий код:
0 |
Код 1C v 8.3
// Реквизиты
ДобавляемыеРеквизиты = Новый Массив;
ИмяТаблицы = "КомандыДополнительныхОбработок";
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы(ИмяТаблицы, Новый ОписаниеТипов("ТаблицаЗначений")));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Ссылка", Новый ОписаниеТипов("СправочникСсылка.ДополнительныеОтчетыИОбработки"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ВариантЗапуска", Новый ОписаниеТипов("ПеречислениеСсылка.СпособыВызоваДополнительныхОбработок"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ИмяЭлемента", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Представление", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("Идентификатор", Новый ОписаниеТипов("Строка"), ИмяТаблицы));
ДобавляемыеРеквизиты.Добавить(Новый РеквизитФормы("ЭтоОтчет", Новый ОписаниеТипов("Булево"), ИмяТаблицы));
Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);
//реквизит
ИмяЭлемента = "Добавлен" + ИндексЭлемента;
Реквизит = Новый РеквизитФормы(ИмяЭлемента, ОписаниеТипов);
ДобавляемыеРеквизиты.Добавить(Реквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
//команда печать
ИмяКомандыПечать = "ДобавленПечать" + ИндексЭлемента;
КомандаПечать = Команды.Добавить(ИмяКомандыПечать);
КомандаПечать.Действие = "ПечатьДокумента";
КомандаПечать.Подсказка = НСтр("ru = 'Печать документа...'");
//элемент формы
//Родитель = Элементы.ГруппаСформированныеДокументы;
Элемент = Элементы.Добавить(ИмяЭлемента, Тип("ПолеФормы"), ЭлементГруппа);
Элемент.Вид = ВидПоляФормы.ПолеНадписи;
Элемент.ПутьКДанным = ИмяЭлемента;
Элемент.Гиперссылка = Истина;
Элемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
ЭтаФорма[ИмяЭлемента] = Документ;
//кнопка печать
ИмяЭлементаПечать = "ДобавленПечать" + ИндексЭлемента;
ЭлементПечать = Элементы.Добавить(ИмяЭлементаПечать, Тип("КнопкаФормы"), ЭлементГруппа);
ЭлементПечать.Картинка = БиблиотекаКартинок.Печать;
ЭлементПечать.Отображение = ОтображениеКнопки.Картинка;
ЭлементПечать.ИмяКоманды = ИмяКомандыПечать;
I am using SFTP to transfer files to a remote server but I keep getting
SessionOptions.SshHostKeyFingerprint is not set.
I referenced this documentation from WinSCP WinSCP .NET Assembly and COM Library
What am I doing wrong? See script below:
try
{
# Load WinSCP .NET assembly
Add-Type -Path "WinSCPnet.dll"
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
HostName = "psftp-nesam.ms.com"
UserName = "test"
Password = "MSR4sssssnd5"
SshHostKeyFingerprint = "ssh-rsa 1024 +3t0xkOMWqfA7IaH0itjW/w7FQN+EtVyLDMTXk+D300=
ssh-rsa 1024 23:6f:82:11:ec:b1:1a:82:95:1b:ed:7e:96:24:d0:11"
}
$session = New-Object WinSCP.Session
try
{
# Connect
$session.Open($sessionOptions)
# Upload files
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary
$transferResult =
$session.PutFiles("E:CMBPAIDBPAID0224_122700.csv", "/NESAMSCARIMED", $False, $transferOptions)
# Throw on any error
$transferResult.Check()
# Print results
foreach ($transfer in $transferResult.Transfers)
{
Write-Host "Upload of $($transfer.FileName) succeeded"
}
}
finally
{
# Disconnect, clean up
$session.Dispose()
}
exit 0
}
catch
{
Write-Host "Error: $($_.Exception.Message)"
exit 1
}
asked Aug 31, 2018 at 13:07
The easy way to get a correct key is to run the WinSCP application, login to the SFTP server you want to access, then select from drop down menu at top «Sessions->Generate Session URL/Code…». This will display a nice dialog box with different ways to write code to connect to this session. The tab «.NET assembly code» has all the code you need to make the same connection, including the «SshHostKeyFingerprint».
answered Nov 16, 2019 at 19:22
Michael EricksonMichael Erickson
4,1772 gold badges23 silver badges10 bronze badges
With your code I’m getting a different error message (but it can be a root cause of your error message):
The value supplied is not valid, or the property is read-only. Change the value, and then try again.
What is correct, as your syntax of a SshHostKeyFingerprint
value is wrong.
If you want to specify multiple alternative fingerprints, separate them by a semicolon, not a new-line:
SshHostKeyFingerprint = "ssh-rsa 1024 +3t0xkOMWqfA7IaH0itjW/w7FQN+EtVyLDMTXk+D300=;ssh-rsa 1024 23:6f:82:11:ec:b1:1a:82:95:1b:ed:7e:96:24:d0:11"
With this change, your code works for me.
answered Aug 31, 2018 at 13:54
Martin PrikrylMartin Prikryl
186k54 gold badges478 silver badges963 bronze badges
0
Why is SshHostKeyFingerprint needed when SshPrivateKeyPath is set to private key file
- Reply to topic
- Log in
Advertisement
-
Orionsg
Guest
2016-12-31 08:05
When I connect manually using the GUI WinSCP client to an SFTP site, I specify Host Name, User Name and Private Key File. No password or fingerprint is needed to connect. However, when I try to connect through the .NET client by specifying the same corresponding properties, I get this error:
«System.ArgumentException: SessionOptions.Protocol is Protocol.Sftp or Protocol.Scp, but SessionOptions.SshHostKeyFingerprint is not set.»
Is there a default value set for this property when using the Windows GUI client that I need to set directly when using the .NET client?
Reply with quote
Advertisement
-
martin◆
Site Admin
- Joined:
- 2002-12-10
- Posts:
- 38,919
- Location:
- Prague, Czechia
2017-01-02
When I connect manually using the GUI WinSCP client to an SFTP site, I specify Host Name, User Name and Private Key File. No password or fingerprint is needed to connect.
That’s not true. On the first connect, you are prompted to verify a public key of the server.
Reply with quote
-
Orionsg
Guest
2017-01-02 16:56
martin wrote:
That’s not true. On the first connect, you are prompted to verify a public key of the server.
You are absolutely correct :).
I did not have to enter anything, but there was a message with the public key.
In the meanwhile I have studied the Session class a bit further and found the ScanFingerprint method to get the public key, including the example. Using this, I was able to get my code to work as expected.
Thanks for your reply and the awesome client!
Reply with quote
-
martin◆
Site Admin
- Joined:
- 2002-12-10
- Posts:
- 38,919
- Location:
- Prague, Czechia
2017-01-05
Orionsg wrote:
In the meanwhile I have studied the Session class a bit further and found the ScanFingerprint method to get the public key, including the example. Using this, I was able to get my code to work as expected.
Note that you should use the ScanFingerprint
only to implement an interactive prompt to get the public key verified by an user.
You should not use it to automatically accept the key! That does not make you safe. It would be effectively the same as setting the SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey
.
Reply with quote
-
martin◆
Site Admin
2019-08-05
Reply with quote
Advertisement
- Reply to topic
- Log in
You can post new topics in this forum
I am using SFTP to transfer files to a remote server but I keep getting
SessionOptions.SshHostKeyFingerprint is not set.
I referenced this documentation from WinSCP WinSCP .NET Assembly and COM Library
What am I doing wrong? See script below:
try
{
# Load WinSCP .NET assembly
Add-Type -Path "WinSCPnet.dll"
# Setup session options
$sessionOptions = New-Object WinSCP.SessionOptions -Property @{
Protocol = [WinSCP.Protocol]::Sftp
HostName = "psftp-nesam.ms.com"
UserName = "test"
Password = "MSR4sssssnd5"
SshHostKeyFingerprint = "ssh-rsa 1024 +3t0xkOMWqfA7IaH0itjW/w7FQN+EtVyLDMTXk+D300=
ssh-rsa 1024 23:6f:82:11:ec:b1:1a:82:95:1b:ed:7e:96:24:d0:11"
}
$session = New-Object WinSCP.Session
try
{
# Connect
$session.Open($sessionOptions)
# Upload files
$transferOptions = New-Object WinSCP.TransferOptions
$transferOptions.TransferMode = [WinSCP.TransferMode]::Binary
$transferResult =
$session.PutFiles("E:CMBPAIDBPAID0224_122700.csv", "/NESAMSCARIMED", $False, $transferOptions)
# Throw on any error
$transferResult.Check()
# Print results
foreach ($transfer in $transferResult.Transfers)
{
Write-Host "Upload of $($transfer.FileName) succeeded"
}
}
finally
{
# Disconnect, clean up
$session.Dispose()
}
exit 0
}
catch
{
Write-Host "Error: $($_.Exception.Message)"
exit 1
}
asked Aug 31, 2018 at 13:07
The easy way to get a correct key is to run the WinSCP application, login to the SFTP server you want to access, then select from drop down menu at top «Sessions->Generate Session URL/Code…». This will display a nice dialog box with different ways to write code to connect to this session. The tab «.NET assembly code» has all the code you need to make the same connection, including the «SshHostKeyFingerprint».
answered Nov 16, 2019 at 19:22
Michael EricksonMichael Erickson
4,1772 gold badges23 silver badges10 bronze badges
With your code I’m getting a different error message (but it can be a root cause of your error message):
The value supplied is not valid, or the property is read-only. Change the value, and then try again.
What is correct, as your syntax of a SshHostKeyFingerprint
value is wrong.
If you want to specify multiple alternative fingerprints, separate them by a semicolon, not a new-line:
SshHostKeyFingerprint = "ssh-rsa 1024 +3t0xkOMWqfA7IaH0itjW/w7FQN+EtVyLDMTXk+D300=;ssh-rsa 1024 23:6f:82:11:ec:b1:1a:82:95:1b:ed:7e:96:24:d0:11"
With this change, your code works for me.
answered Aug 31, 2018 at 13:54
Martin PrikrylMartin Prikryl
186k54 gold badges479 silver badges964 bronze badges
0
Why is SshHostKeyFingerprint needed when SshPrivateKeyPath is set to private key file
- Reply to topic
- Log in
Advertisement
-
Orionsg
Guest
2016-12-31 08:05
When I connect manually using the GUI WinSCP client to an SFTP site, I specify Host Name, User Name and Private Key File. No password or fingerprint is needed to connect. However, when I try to connect through the .NET client by specifying the same corresponding properties, I get this error:
«System.ArgumentException: SessionOptions.Protocol is Protocol.Sftp or Protocol.Scp, but SessionOptions.SshHostKeyFingerprint is not set.»
Is there a default value set for this property when using the Windows GUI client that I need to set directly when using the .NET client?
Reply with quote
Advertisement
-
martin◆
Site Admin - Joined:
- 2002-12-10
- Posts:
- 38,958
- Location:
- Prague, Czechia
2017-01-02
When I connect manually using the GUI WinSCP client to an SFTP site, I specify Host Name, User Name and Private Key File. No password or fingerprint is needed to connect.
That’s not true. On the first connect, you are prompted to verify a public key of the server.
Reply with quote
-
Orionsg
Guest
2017-01-02 16:56
martin wrote:
That’s not true. On the first connect, you are prompted to verify a public key of the server.
You are absolutely correct :).
I did not have to enter anything, but there was a message with the public key.
In the meanwhile I have studied the Session class a bit further and found the ScanFingerprint method to get the public key, including the example. Using this, I was able to get my code to work as expected.
Thanks for your reply and the awesome client!
Reply with quote
-
martin◆
Site Admin - Joined:
- 2002-12-10
- Posts:
- 38,958
- Location:
- Prague, Czechia
2017-01-05
Orionsg wrote:
In the meanwhile I have studied the Session class a bit further and found the ScanFingerprint method to get the public key, including the example. Using this, I was able to get my code to work as expected.
Note that you should use the ScanFingerprint
only to implement an interactive prompt to get the public key verified by an user.
You should not use it to automatically accept the key! That does not make you safe. It would be effectively the same as setting the SessionOptions.GiveUpSecurityAndAcceptAnySshHostKey
.
Reply with quote
-
martin◆
Site Admin
2019-08-05
Reply with quote
Advertisement
- Reply to topic
- Log in
You can post new topics in this forum