Gigi @ Сегодня, 21:03
, Нет, вы можете этот код повесить на любую кнопку которую захотите, либо в обработке либо в общей форме или ещё где-то где это нужно. Т.е. по идее чтобы пользователь смог создать пользователя нового он должен куда-то зайти и на что-то нажать =) вот на это что-то этот код вешать и надо
Gigi @ Сегодня, 14:48
, Ну если у вас есть некий список с кучей разношерстных элементов, если там ссылки, то опять таки так как я писал выше. Например список:
Цитата
1) Вася Пупкин [СправочникСсылка.Контрагент] 2) Петров Петя [СправочникСсылка.ФизЛица] 3) Реализация товаров услуг № 1 от 01.01.2017 [ДокументСсылка.РеализацияТоваровУслуг] 4) Красный [ПланВидовХарактеристикСсылка.СвойстваОбъектов] и т.д.
Регистр вы в список не запихнете, там не ссылка, там записи регистров, грубо говоря целые строки. Но если у вас такой список как я привел, то моя функция вам вернет имя метаданных.
Цитата
&НаСервере Функция УзнатьОбъектНаСервере(СсылкаНаОбъект)
Gigi @ Сегодня, 14:11
, не совсем понятно описали что вам надо: именно имя объекта метаданных или просто тип значения? если в контексте вашего примера с формой списка, то перед удалением можно получить имя метаданных следующим образом:
Одним словом - у вас всегда в форме есть ссылка на Объект. По этой ссылке вы можете или проверить тип значения, или если нужны метаданные взять код который я привел выше и вместо
roman457 @ Сегодня, 17:17
, Вообщем-то соглашусь с предыдущим постом, конкретнее скажите что вы делаете, на чем отчет пишите.
Если вы в ручную выполняете запрос и выводите результат на форму, то тогда либо делать это все с помощью Построителя либо динамически формировать текст запроса, например так:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | Реализация.Ссылка КАК Док, | Реализация.Контрагент КАК Контрагент, | Реализация.ДоговорКонтрагента КАК ДоговорКонтрагента |ИЗ | Документ.РеализацияТоваровУслуг КАК Реализация |ГДЕ | Реализация.Проведен = ИСТИНА | "+?(ЗначениеЗаполнено(КонтрагентФильтр), "И Реализация.Контрагент = &Контрагент", "")+" | "+?(ЗначениеЗаполнено(ДоговорФильтр), "И Реализация.ДоговорКонтрагента = &Договор", "")+" |"
где КонтрагентФильтр, ДоговорФильтр - это ваши отборы на форме. Но лучше всего такие вещи делать либо через СКД, либо если в конфигурации есть универсальный отчет - через универсальный отчет
Vidocq05 @ Сегодня, 11:10
, Совершенно верно там все написано, у вас получается баз несколько, а конфигурация везде одна. Внося изменения в метаданные в одной базе, вы можете их получить и в других базах - вот вам и совместная разработка. Принцип того же Гита, Битбакета и т.д. Хранилище конфигурации - это некое место куда сливаются разработки по одной конфигурации разных программистов
P.S. не путайте понятия "База" и "Конфигурация", то что вы хотите сделать это работать с одной базой в одном конфигураторе, а вам нужно работать в нескольких базах с одной конфигурацией
Vidocq05 @ Сегодня, 10:54
, Привожу пример чтобы было нагляднее:
Есть база БАЗА1, есть хранилище конфигурации и два пользователя хранилища: ПользовательХранилища1 и ПользовательХранилища2.
Если вы к БАЗЕ1 подключились под ПользовательХранилища1, то уже под ПользователемХранилища2 там работать нельзя. Надо создавать БАЗУ2 и там подключаться к тому же хранилищу под ПользовательХранилища2. Если же ПользовательХранилища2 все таки зашел в БАЗА1 и подключился под собой (платформа предупредит что с этой базой уже есть связанный пользователь) то привязка к первому пользователю пропадет. И затем когда ПользовательХранилища1 захочет зайти в БАЗА1 ему платформа скажет: хренушки, база уже привязана к другому пользователю (ПользовательХранилища2).
Pavlik1c @ Сегодня, 17:11
, Конфигурация - Поддержка - Настройка поддержки, выбираете там свою роль и только потом клацаете "Включить возможность изменения" тогда только эта роль станет доступной для редактирования
cao0603 @ Сегодня, 19:32
, 1) получаем картинку из Хранилища значений; 2) Записываем картинку во временный файл, получаем путь к этому файлу; 3) При формировании html-страницы прописываете путь к картинке в теге <img src="ТУТ ПОЛУЧЕННЫЙ ПУТЬ"> 4) После завершения использования файла (при закрытии формы) удаляем временный файл чтобы не мусорить
Gigi @ Сегодня, 22:04
, Если конфигурация типовая, то там можно использовать регистр сведений "Сохраненные настройки". Если же самописная, то можете сделать по аналогии у себя. Примерно так: Структура регистра, измерения: - Пользователь (СправочникСсылка.Пользователи, сюда пишете какого пользователя у вас настройка) - ИмяОбъекта (Строка (100), строковое название объекта, например "Обработка.МояОбработка"); - НаименованиеНастройки (Строка (100), ваше наименование настройки) Ресурсы: - СохраненнаяНастройка (ХранилищеЗначения, сюда запихиваете параметр с типов "ХранилищеЗначения" в котором можете хранить что угодно: таблицу, структуру, массив).
Применение примерно следующее: в форме настройки которой хотите сохранить, вызываете такую процедурку:
Процедура СохранитьНастройкуПользователя()
СтруктураНастройки = Новый Структура; СтруктураНастройки.Вставить("ЧетоХраним", "Я хз что"); СтруктураНастройки.Вставить("ЧетоХраним2", "Опять я хз");
В форме где необходимо получить эту настройку, вызываете
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | СохраненныеНастройки.СохраненнаяНастройка |ИЗ | РегистрСведений.СохраненныеНастройки КАК СохраненныеНастройки |ГДЕ | СохраненныеНастройки.Пользователь = &Пользователь | И СохраненныеНастройки.ИмяОбъекта = &ИмяОбъекта | И СохраненныеНастройки.НаименованиеНАстройки = &ИмяНастройки |"; Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь); Запрос.УстановитьПараметр("ИмяОбъекта", "ВашОбъектСтрокой"); Запрос.УстановитьПараметр("ИмяНастройки", "ИмяВашейНастройки");
Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Выборка.Следующий(); ХранилищеНастройки = Выборка.СохраненнаяНастройка; СтруктураНастройки = ХранилищеНастройки.Получить(); // ВОТ ТУТ И ПОЛУЧИЛИ НУЖНУЮ ВАМ СТРУКТУРУ
cao0603 @ Сегодня, 10:14
, а в чем проблема собственно? Делаете запрос на выборку данных, формируете HTML-строку в виде обычного текста с вставками ваших данных из запроса, и далее полученную строку запихиваете на форме в ПолеHTMLДокумента и все
cao0603 @ Сегодня, 10:18
, Недавно тоже искали готовое решение, или думали самим писать. В итоге остановились на документообороте, там есть подсистема учета задач, которая нам по функционалу в принципе подошла, в инете находил пару самописных, но они были слишком упрощенные. Наиболее законченный вид имело данное решение, но оно тоже упрощенное
Keyword1109 @ Сегодня, 12:05
, 1С:Бухгалтерия предприятия - это русская Бухгалтерия, может вы и УНФ русскую скачали? нажмите желтую кнопку "i" там должно писать Управление Небольшой Фирмой для Украины, если нету, значит это российская. А в украинской даже если ещё такого обмена нет, то допилят, но мне кажется когда-то на глаза попадалась инфа что уже выпустили обмен с УНФ, но возможно ошибаюсь
Gigi @ Сегодня, 15:23
, В типовых конфигурациях непосредственное удаление без проверки на наличие ссылок ЗАПРЕЩЕНО. Это можно настроить правами, в правах на всех объекты у обычных пользователей забирайте галочку "Интерактивное удаление помеченных" - тогда пользователь сможет максимум пометить на удаление. Непосредственно удалить он не сможет. У него не будет в меню красного крестика.
И что бы значение реквизита оставалось, а тип менялся в зависимости от того или иного действия.
Стандартного такого механизма нет
1С поддерживает составные реквизиты. Если вам надо чтобы например реквизит был одновременно и строкой и ссылкой на документ, то можно в реквизите поставить галочку "Составной тип" и выбрать оба типа.
Вопрос в том, а нужно ли то что вы хотите сделать, для чего? Удаление объекта на который есть ещё где-то ссылка априори не есть правильно! Это нарушает целостность базы данных и в принципе идет в расход с идеологией баз данных в целом.
Скажем так, то что вы хотите сделать в принципе возможно. Можно указать составной тип и при удалении менять тип с ссылки на строку, но я лично считаю это неправильным.
Володька @ Сегодня, 11:19
, хмм, ну насколько я знаю, стандартно (без помощи программиста) вы так доступ к подразделениям не закроете. Опять же, если даже правами через РЛС закрыть доступ к корневым элементам, то и вложенные вы уже не увидите. Если вас смущают, что пользователи будут выбирать корневые точки, которые не надо использовать в документах, то скорее всего тут просто программно надо заглушки ставить в документах, чтобы пользователь не мог выбрать подразделение у которого есть вложенные элементы. В принципе это пару строк кода, но придется во все документы пихать, где используется справочник "Подразделения организации". Тут надо вам подумать - стоит ли лезть в логику программы и менять её (если конфигурация без изменений то вы пока можете её обновлять без программиста, после внесения изменений это будет невозможно) или, возможно, решать вопрос со своими сотрудниками, объяснять им чтобы не выбирали корневые элементы ну и контролировать их работу
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!