KTG: Ну так всё это и реализовано непосредственно в платформе 1С, в "программе", внутри, а не в какой-то внешней "библиотеке", общей и для 1С и для кого-то ещё
KTG: Вашу задачу нужно разделить.
Первое - разработка системы ролей в отдельно взятом приложении. Два первых абзаца Вашего последнего комментария об этом. Выше я написал пример, как можно это сделать. Если что-то не понятно, могу попробовать по подробнее. Ничего сложного тут нет.
Второе - Вы хотите какую-то универсальную систему авторизации для разных, в т.ч. ещё и ненаписанных программ. Вот это я, если честно, так и не понимаю, зачем вообще и на что должно быть похоже. Разные программы - разные задачи, разные роли, разные пользователи. Общим возможно будет только алгоритм, разработанный в пункте первом.
Третье - То, что я написал в самом начале. Динамические библиотеки здесь совсем никаким боком Вам не пригодятся.
Так что по первому пункту я ещё могу что-то рассказать, а остальное я пока не понимаю.
KTG: Да вполне нормальная система. Каждому критичному действию соответствует своя роль. Это прорабатывается в процессе создания приложения. Почему вдруг оно должно потом меняться, тем более часто? А пользователь имеет не одну роль, а набор ролей. Вот он может меняться, должен редактироваться, но код это никак не затронет.
Runis: Всё как с "большими" мониторами. Есть набор разрешений, которые он поддерживает. Этот дисплейчик умеет только 480×320. Если работать только в командной строке, то почему бы и нет. А для десктопа это мало. Поищите, можно наверное и маленький дисплей, но с приемлимым разрешением найти.
А что на Малине делать вайну? Что в нём запускать? Нужны ведь приложения для ARM процессора.
Вместо Indy можно например Synapse использовать, но https в ней всё равно с этими двумя библиотеками работает. В обоих случаях работа с https отличается от http только этим "положить две dll-ки рядом с экзешником". Я бы причину в другом искал
В порядке предположения. Может быть проблема не в электрике, а в механике? Какие-нибудь валики-ролики захвата-подачи износились? А напряжение, может оно такое и было?
Драйвера к материнке установили? Что есть в диспетчере устройств в разделе "Контроллеры USB"? Нет ли в диспетчере каких "Неизвестных устройств"? Дистрибутив винды нормальный, не репак-перепак-зверьсиди какой?
Что значит "ничего не выполняет"? Батник не запускается вообще или запускается, но чего-то не делает?
Формально функция правильно вызывается. Если батник в одном каталоге с exe программы или в каталоге из path, то должен запуститься. А уж правильный ли набор параметров передаёте - Вам виднее.
Mercury13: Интересно! Формально Вы, наверное, правы, и автору вопроса этот вариант может подойдёт. Я про record case в таком плане не думал. Самому применять record case не приходилось, но представлял себе я это примерно так:
MyRec=record
case integer of
1: (i: integer);
2: (w1, w2: word);
3: (b1, b2, b3, b4: byte);
end;
Т. е. вот есть 4 байта данных и мы их только интерпретируем различными способами. А чтобы разнотипные данные объединять, ну очень внимательно следить за содержимым нужно. Если мы запишем булево значение, а прочитать попробуем TObject, то хоть получим ошибку. А вот если наоборот, запишем TObject, а читать будем буль, то оно ведь и прочитает чего попало.
ndbn: Ну хорошо, тогда повторю без суждений. В Delphi поле нельзя сделать двух типов. В каких-то случаях подошёл бы тип Variant, но не для Boolean и TObject.
Мне кажется, что Вы чего-то не договариваете. Либо есть конечный набор формул, из которого нужно выбрать подходящую, либо описание формулы типа "полином с целыми коэффициентами", либо что-то ещё. А существование решения в такой общей формулировке сомнительно.
Алексей A: Теперь понятнее. Пожелание видеть нули, для меня всё равно необычным осталось, но надо так надо.
Если товары выводиться по заказам будут, то конечно то суммирование товаров из разных заказов (ну или заданий - это не важно), которое перед этим делали, здесь не требуется. Наверное абсолютно всё на sql перекладывать и не нужно. Какие-то вещи уже при формировании отчёта получить можно. Тут уж Вам виднее - это Ваша конфигурация. О чём я? Например общее количество в штуках и в баксах по заданию может посчитать придётся, а если они уже в документе есть, тогда запросом. А в плане товаров идея такая, если в лоб брать. Считаем, что список товаров уже получен из справочника некоторым ЗапросомТоваров. Дальше нужны все заказы (ну за период конечно) и в каждом заказе нужны все товары из ЗапросаТоваров. Это полное соединение двух таблиц. Одна - запрос заказов:
Выбрать
НомерЗаказа, ИтогКоличество, ИтогДеньги (эти если есть)
Из
Заказы
Где
Дата какая надо
Вторая таблица - ЗапросТоваров. Получили список всех заказов, в каждом все товары.
Теперь к этой таблице присоединить выборку товаров с количеством и деньгами из заказов. Левое соединение по номеру заказа и номенклатуре.
Вообщем направление мысли примерно такое должно быть. Дальше уже по месту ориентируйтесь.
Алексей A: Вообще-то естьnull действительно, как раз для этого и к месту. Но сейчас 1С под рукой нет, по памяти не соображу, почему не сработало. Успехов!
Если это какое-то задание, то ладно. А вообще ценность последнего действя сомнительна. В реальной жизни справочники номенклатуры весьма большие. И эта куча строк с нулями вряд ли кому-то нужна.
Алексей A: Во, хороший запрос. Это одна таблица, другая - справочник Номенклатура. Соединяете по Номенклатура.Ссылка. Лень все эти длинные названия писать, но что-то типа:
Выбрать Напименование, Количество, Сумма
Из Справочник.Номенклатура
Левое соединение
Тут предыдущий запрос
По Справ.Ном.Ссылка=Номенклатура
И вроде как и всё...
В запросе, который считает количество не будет никаких объединений. Наименование здесь не нужно. В группировке только ЗаказКлиентаТовары.Номенклатура.Ссылка оставьте