Это как сравнивать разные станки(фрезерный от токарного)
В моем представлении это как сравнивать 2 фрезерных либо 2 токарных станка. Один из которых не очень новый, но который изучен и надёжен. А второй новенький и блестящий, но больше пока непонятно (для меня).
Вот так совпадение, один новорег помог ссылкой другому. Интересный подход к спаму, хотя бы фантазию включают. Но все равно ссылку удаляю, профили в бан.
volodya1122, вы бы сразу написали, что делаете конкретный запрос, получаете конкретный ответ. Я не проверял, но если верить тому, что написано в описании АПИ, то в вашем коде следующие ошибки: 1. Вы делаете GET запрос Ответ = Соединение.Получить(Запрос), надо POST; 2. kodPdvList и token вы вставляете в заголовок, хотя они должны быть в теле запрос в виде json; 3. Не уверен, но мне кажется, что токен должен быть не тот, который в примере указан, а свой.
pablo, если вы сопоставляете таблицы по индексу, то это скорее всего проблема. Индекс может поменяться, если таблица есть на форме и строки в ней могут двигать. Я для таких вещей делаю идентификационное строковое поле, в которое пишу УИД.
Надо на форму добавить новую колонку и в процедуре ПриПолученииДанных табличного поля описать логику заполнения: сделать запрос к соответствующему документу и сформировать строку со списком номенклатуры.
fenrishawke, в суть особо не вникал, но предположу, что вам вместо
ВЫБОР КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория
надо написать
ВЫБОР КОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель <> НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория
Из регистра нулевые остатки не получите. Если вы хотите вывести всю номенклатуру и возле каждой вывести остаток или 0 если такового нету, то надо сделать запрос к справочнику номенклатуры и левым соединением прицепить РегистрНакопления.СвободныеОстатки.Остатки. Как-то так:
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура, ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток, ВЫБОР КОГДА ЕСТЬNULL(СвободныеОстаткиОстатки.КоличествоОстаток, 0) = 0 ТОГДА "0" КОГДА НЕ СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель = НЕОПРЕДЕЛЕНО ТОГДА СвободныеОстаткиОстатки.Номенклатура.Родитель.Родитель ИНАЧЕ СвободныеОстаткиОстатки.Номенклатура.Родитель КОНЕЦ КАК Категория ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(&Период, ) КАК СвободныеОстаткиОстатки ПО СвободныеОстаткиОстатки.Номенклатура = СпрНоменклатура.Ссылка
На работоспособность не проверял, но идея должна быть понятна.
Сейчас не помню точно как называется вкладка, но где-то в настройках обработки (когда по ней 2 раза клацаешь в конфигураторе) есть галка "Использовать стандартные команды". Надо что бы она стояла.
4andriy, положить все в массив и сделать 2 цикла. Что-то вроде такого (псевдокод):
Для ъ=0 По ъ=КоличествоВМассиве Цикл Для ъъ = 0 По ъъ=КоличествоВМассиве Цикл Если ъ <> ъъ И Массив[ъ] == Массив[ъъ] Тогда Сообщить("Совпадение " + ъ + " и " + ъъ); КонецЕсли; КонецЦикла; КонецЦикла;
Всем привет, сегодня рассмотрим, вопрос из за чего происходит ошибка 2147221164 0x80040154 в 1С и как ее решать. И так немного теории, когда информационные базы данных, обмениваются между собой информацией, то они задействуют COM-соединение. И так начинается попытка соединения из конфигурации 8.3 с конфигурацией 8.1, в итоге может выскочить При попытке соединения с COM-сервером произошла следующая ошибка:
Цитата
Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован
Смотрим как решить.
От себя добавлю: у меня такая ерунда сегодня случилась без сервера 1С, без обменов. Была 32-разрядная dll-ка, которая не работала под 64-разрадным клиентом 1С. То что написано в статье мне тоже помогло.
Ошибка 2147221164 0x80040154 появляется, исключительно на сервере с базой данных, если выполнить соединение локально, все будет ок. На сервере 1С установлены версии 8.1 (x86), 8.2 (x64), 8.3 (x64). Источник проблем в версии 64 битной, так как ей требуется обратиться к 32-х библиотеке comcntr.dll, а на прямую это не реально, что ведет к использованию 64-х битного COM+, который умеет работать с 32-х библиотеками.
Исправляем 2147221164. На сервере 1С выполняем следующие действия:
Для исправления 2147221164 открываем консоль «Службы компонентов» (Панель управления -> Администрирование -> Службы компонентов).
В этой консоли открываем Службы компонентов -> Компьютеры -> Мой компьютер. Правый клик по пункту“Приложения COM+”, Создать -> Приложение.
Далее. В окне «Установка или создание нового приложения» выбираем «Создать новое приложение».
Вводим понятное имя для нового приложения, например, “V8_ComConnector”, способ активации — «Серверное приложение».
В качестве учетной записи для запуска приложения выбираем “Указанный пользователь” и через кнопку “Обзор” находим учетку, под которой запускается сервер 1С v 8.3. У нас это локальная учетная запись с именем “USR1CV8”. Следующие 2 экрана можно пропустить (Далее, Далее, Готово) или сделать следующий пункт на втором из них. Мы пропускаем.
В ветке только что созданного приложения открываем узел «Роли» и в нём роль «CreatorOwner». Правый клик по пункту «Пользователи», Создать -> Пользователь. Здесь выбираем учетку, под которой запускается сервер 1С v 8.3. У нас это локальная учетная запись с именем “USR1CV8”.
В ветке созданного приложения (“V8_ComConnector”) переходим на узел «Компоненты». Правый клик, Создать -> Компонент. Далее.
Выбираем «Установка новых компонентов», и в появившемся окне выбираем нужную DLL-ку (C:\Program Files (x86)\1cv81\bin\comcntr.dll). Завершаем создание компонента.
Открываем свойства только что созданного компонента (V81.COMConnector.1), переходим на вкладку «Безопасность», в списке «Явно установленные для выделенных объектов роли» устанавливаем флажок напротив роли “CreatorOwner”.
Все косяка 2147221164 должно уже не быть. Если соединение с базой 8.1 устанавливается из версии 8.2, то нужно в раздел “V8_ComConnector -> Роли -> CreatorOwner -> Пользователи” добавить и пользователя, от имени которого запускается сервер 1С 8.2 (у нас это “USR1CV82”). Как видите, порядок действий не такой сложный и долгий и решает ошибку 2147221164, буквально минут за 15.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!