Из регистра нулевые остатки не получите. Если вы хотите вывести всю номенклатуру и возле каждой вывести остаток или 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.
TohaMonster, это скорее всего баг платформы. Можно написать в 1С об этом и когда-нибудь, возможно, это исправят. Если надо сейчас, то как вариант, если вам нужна точность 18 знаков после запятой, то умножьте значение в таблице на (10*18), а при обработке результата запроса поделите значение на (10*18).
В кассовых регистраторах есть специальная функция изъятия денег. Не помню, что бы я видел это где-то в типовых документах, но такие операции я встречал в демо обработках к разным устройствам. Можно допилить либо какой-то типовой документ для этого (тот же "расход денежных средств" или РКО), либо сделать свой какой-нибудь простенький.
Это специальные библиотеки, которые устанавливаются платформой. Если вы на сервере 3 поставите платформу (с модулем расширения веб сервера) версии 8.3.15, есть вероятность, что работать с базой, которая крутится под версией 8.3.8 не получится. Если платформа 8.3.15 работает с сервером версии 8.3.8, то, возможно, и модули расширения веб сервера версии 8.3.15 будут работать с версией 8.3.8. Это надо проверять экспериментально. Если не хочется гемора и есть возможность - лучше завести Сервер4 с IISом и нужной версией 1С там.
То о чем вы говорите - это не первичный ключ справочника. Это бизнес логика конкретной конфигурации. Поменять это можно. Найти в коде где происходит проверка и описать свою логику.
Первый вариант уже реализован - поиск работы по предложениям. (в разделе Работа)
С этим, на мой взгляд, есть определенные проблемы неудобства: - вместо только списка вакансий мы видим много лишней информации; - что бы увидеть хотя бы чья это вакансия (какой компании) часто надо зайти внутрь. Но не факт, что и там эта информация будет; - нет возможности отобрать вакансии по городу (только Ctrl+F, при условии что город написан и написан корректно; но даже в этом случае дальше 1 страницы все равно придется переключаться дальше и проводить те же манипуляции с Ctrl+F). Кроме города потенциально может было бы интересно ещё по чему-то фильтровать, сортировать; - нету возможности в пару кликов отправить резюме автору вакансии; - так как это по сути неструктурированные данные, с этим сложно работать. Например, есть видение, что бы сделать какой-то блок на сайте с вакансиями, где бы было видно новые вакансии, обновленные или что-нибудь в этом роде;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!