Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Войти | Зарегистрироваться )



История благодарностей участнику Sharki ::: Спасибо сказали: 12 раз
Дата поста: В теме: За сообщение: Спасибо сказали:
24.12.13, 14:33 Вывод изображения в поле картинки
храните картинку в хранилище значений, получите картинку выборкой и получайте от хранилища значений. Поместите во временное хранилище и строку выводите как картинку
Например
&НаСервере
Процедура ВывестиКартинкуПечати()

    лОбъект = ДанныеФормыВЗначение(Объект, Тип("СправочникОбъект.Производители"));
    КартинкаПечати = лОбъект.Печать.Получить();
    Если ТипЗнч(КартинкаПечати) = Тип("Картинка") Тогда
        КартинкаАдрес = ПоместитьВоВременноеХранилище(КартинкаПечати, Новый УникальныйИдентификатор)
    КонецЕсли;

КонецПроцедуры

где КартинкаАдрес реквизит формы тип строка, Картинка печати - реквизит справочника с типом хранилище значений
Vofka,
02.04.13, 15:07 Ошибка под Вебом
Из своего горького опыта: не рекомендуется использовать слитно со словами символ & в заголовках реквизитов, заголовках страниц и прочего что будет отображаться на форме. Например заголовок страницы a&b даст жесткое расплывание формы и некорректное отображение всех реквизитов. Происходит это из-за типичного использования символа & при объединении условий в строке браузера.

кстати исполняемый веб-сервер(IIS\Apache) также по разному может воспроизводить формы. Поэтому также рекомендуется разрабатывать\тестить на одном ПО которое будет использовано у конечного пользователя(заказчика)
Petre, Vofka,
15.11.12, 18:30 Не пойму почему прячется реквизит формы
Цитата(DartRomanius @ 15.11.12, 17:57) *
Офф-топ:

Кстати никак не могу найти способа сбросить настройки для форм (все).
Подскажите.... плиз если знаете...


В Документообороте КОРП реализована обработка УправлениеНастройкамиФорм.
Вот процедуры для удаления настроек формы:
ХранилищеСистемныхНастроек.Удалить(Элемент + "/НастройкиФормы", "", Пользователь);
ХранилищеСистемныхНастроек.Удалить(Элемент + "/НастройкиОкна", "", Пользователь);

Где Элемент строка имени формы, например: "ОбщаяФорма.НастройкаМоихОтчетовИОбработок/НастройкиФормы"
Почитав на эту тему синтакс помощник можно узнать что если первым параметром передать Неопределено тогда удалятся все настройки. Правда не уверен что это будут только настройки форм, скорей всего там еще что-то хранится.
DartRomanius,
29.10.12, 17:55 Проблема блокировок
Очистка серверного кеша по адресу 1cv82\srvinfo\reg_1541\snccntx и перезапуск самого сервера помогла.
Можно топ клоуз.
Ardi, pablo, Vofka,
09.10.12, 16:35 Путь к каталогу временных файлов на сервере
Всё просто - КаталогВременныхФайлов() возвратит путь каталога на сервере в том случае если эта функция будет вызываться в серверной процедуре.

Как вывод нужно либо сохранять картинку в клиентской процедуре чтобы тем же клиентом её вставлять в НТМЛ документ, либо формирование этого документа полностью проводить на сервере.
Keyword1109,
03.05.12, 16:18 Документ "Поступление товаров и услуг"
Для начала нужно определить по какому признаку(условию) надо выделять те или иные строки(какое-то колво больше чего-то или одна из колонок равна чему-то одному).
Далее писать ваш код
Функция ИзменитьЦвет(Номенклатура)
    ЭтаФорма.УсловноеОформление.Элементы.Очистить();
    ЦветКрасный = Новый Цвет(255,0,0); //красный
    ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
    ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары");
    ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = Номенклатура;
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветКрасный);    
КонецФункции


НО верно установить ключевые элементы:
 ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементОтбора.ПравоеЗначение = Номенклатура;


Левое значение поле для сравнение, правое значение с которым сравнивают.
Выполнять этот код при изменении не даст нужного результата, выполнять его следует один раз например в событие ПриСозданииНаСервере.
Так же стоит отметить это поле
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары");

Здесь задается поле для которого будет использоваться условное оформление. Не уверен что поле для оформления лучше ставить всю таблицу.

Пример моего использования такого кода
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
    ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ТаблицаЗначенийНаименованиеCCS");//одна колонка таблицы именно элемент формы а не реквизит объекта формы.
    ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаЗначений.Наименование1");//реквизит [объекта] формы
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
    ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаЗначений.Наименование2"); //условие: если одна колонка не равна второй тогда выделять красным
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Красный);


з.ы. Ваш код будет менять менять цвета строк таблицы только тех у которых задана указанная номенклатура

пример моего кода устанавливает цвет для одной ячейки таблицы если одна колонка строки не равна второй.
MH.z,
03.05.12, 12:31 Подстановка цены из справочника
Цитата(bodka @ 02.05.12, 18:09) *
В модуле объекта:
Процедура ЦенаСерв()экспорт
  Отбор = Новый Структура();
    Отбор.Вставить("номенклатура",Номенклатура);
    Цена = Номенклатура.Розничная;
      
КонецПроцедуры // ЦенаСерв()


Я бы сделал так если хочется писать в модуле объекта
Обновление цен для всех строк.
Для Каждого лСтрока Из ЭтотОбъект.ВашаТабличнаяЧасть Цикл
       лСтрока.Цена = лСтрока.Номенклатура.Розничная;
КонецЦикла;


А чтоб этим не заниматься то лучше на форме вынести отдельную колонку методом перетягивания нужного реквизита из ссылки реквизита табличной части.
bodka,
28.04.12, 15:16 СправочникСписокПриВыводеСтроки
Цитата(Vofka @ 28.04.12, 16:06) *
Так это весь справочник сразу заполнять надо будет?


Зачем, реквизиты справочника итак загрузятся по умолчанию. Вы просто заполняете реквизиты формы которые не относятся непосредственно к объекту.

Цитата(Cnhtkjr @ 28.04.12, 16:10) *
Я про форму списка.
Спасибо, теперь хоть знаю в какую сторону копать. Для меня сейчас эти ДинамическиеСписки - новая неизвестная паника. Не пойму ни с чем их есть, ни какой вилкой. Зачем забрали старые формы списков? sad.gif


ДинамическиеСписки очень удобная штука для вывода списков с разными форматированиями по значениям колонок.

З.ы. В произвольном запросе при соединении таблиц не забудьте указать основную таблицу иначе потеряете стандартный функционал формы(форма списка и выбора имеют свои стандартные команды создания\выбора команд)
Cnhtkjr,
28.04.12, 14:37 СправочникСписокПриВыводеСтроки
Если имеется ввиду форма списка справочника тогда в динамическом списке делаем произвольный запрос, соединяем с регистром добавляем колонки и выводим новые колонки в элемент отображения.

Если форма элемента справочника тогда на форме добавляем реквизиты формы где будем хранить цены. Использование инициализации этих полей проводить придется на сервере поэтому лучше сразу использовать событие ПриСозданииНаСервере
Cnhtkjr,

RSS Текстовая версия Сейчас: 28.03.24, 16:31
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!