Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
11 Дек 2017, 07:04
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Перебор записей табличной части элемента справочника для просмотра картинок  (Прочитано 1200 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ktu78

  • ***
  • Сообщений: 153
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2014-08-21
  • Сайт: 
  • Профессия: Программист 1С
Добрый день, коллеги. Хорошей новой недели.
Задача в чем. Это модуль формы для записи картинок в табличную часть элемента справочника при помощи ХранилищаЗначений
Для каждого элемента справочника Номенклатура есть табличная часть, в строках которой указаны имя, расширение файла картинок - фото товаров и Хранилище Значений, где хранится файл картинки.
Все вроде работает, но проблема вот в чем
Нужно при открытии формы элемента для элемента справочника в табличной части перебирать картинки при кликании на них мышкой, чтоб они отображались в ПолеКартинки - реквизит формы.
Я знаю есть для этого Обработка события "При Активизации строки".
Помогите в решении этого вопроса. Заранее благодарен.



&НаКлиенте
Процедура ВыбратьФайлКартинки(Команда)
//Создаем оповещение,   именно  процедура  "ОбработатьВыборФайла"  будет вызвана при закрытии окна выбора файла
Оповещение  =  Новый ОписаниеОповещения("ОбработатьВыборФайла",   ЭтаФорма);
//Открываем интерактивно  окно для выбора файла
НачатьПомещениеФайла(Оповещение,   ,   ,   Истина,   УникальныйИдентификатор);
КонецПроцедуры

 &НаКлиенте
Процедура ОбработатьВыборФайла(Результат, Адрес, ВыбранноеИмяФайла, ДополнительныеПараметры) Экспорт

Если Не Результат Тогда
 Возврат;
КонецЕсли;

СсылкаНаКартинку = Адрес;
ЗаписьХранилища(Адрес,ВыбранноеИмяФайла);
КонецПроцедуры 

&НаСервере
Процедура ЗаписьХранилища(Адрес,ВыбранноеИмяФайла)
   
   ЭлементСправочника = РеквизитФормыВЗначение("Объект");
   
   Строка=ЭлементСправочника.ПрикрепленныеФайлы.Добавить();
   Строка.НаименованиеФайла=ВыбранноеИмяФайла;
   Строка.РасширениеФайла=Прав(ВыбранноеИмяФайла,4);
      
   //Добавляем саму картинку
    ДвоичныеДанные = ПолучитьИзВременногоХранилища(Адрес);
    Строка.СодержимоеФайла = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных());
   
   Если ЭлементСправочника.ПрикрепленныеФайлы.Количество() = 1 Тогда
        Строка.ОсновнаяКартинка = Истина;
    КонецЕсли;

   
   ЭлементСправочника.Записать();
    ЗначениеВРеквизитФормы(ЭлементСправочника, "Объект");
   
      
   А=0;
   //Чистим временное хранилище
    //УдалитьИзВременногоХранилища(Адрес);
   
КонецПРоцедуры


//  при окрытии формы элемента справочника
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   Для каждого ТекСтрока Из Объект.ПрикрепленныеФайлы Цикл
         // выводится только основная картинка
      
         Если ТекСтрока.ОсновнаяКартинка Тогда
           Индекс = Объект.ПрикрепленныеФайлы.Индекс(ТекСтрока);
           СсылкаНаКартинку = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ПрикрепленныеФайлы.СодержимоеФайла", Индекс);       
           Прервать;
       КонецЕсли;           
   КонецЦикла;
КонецПроцедуры

&НаКлиенте
Процедура ПрикрепленныеФайлыОсновнаяКартинкаПриИзменении(Элемент)
       Строка=Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
      ПроверкаНаличияОсновной();
      Строка.ОсновнаяКартинка=Истина;
КонецПроцедуры

// проверка наличия основных картинок
&НаСервере
Процедура ПроверкаНаличияОсновной();
   Для Каждого Строка Из Объект.ПрикрепленныеФайлы Цикл
      Строка.ОсновнаяКартинка=Ложь;   
   КонецЦикла;   
КонецПроцедуры

// если у нас услуга, то кнопка выбора картинок не работает
&НаКлиенте
Процедура УслугаПриИзменении(Элемент)
   Если ОБъект.Услуга=Ложь Тогда
   Элементы.ФормаВыбратьФайлКартинки.Доступность=Истина;
   Иначе
   Элементы.ФормаВыбратьФайлКартинки.Доступность=Ложь;
   КонецЕсли;
КонецПроцедуры

// если у нас услуга, то кнопка выбора картинок не работает
&НаКлиенте
Процедура ПриОткрытии(Отказ)
   Если Объект.Услуга=Истина Тогда
      Элементы.ФормаВыбратьФайлКартинки.Доступность=Ложь;   
   КонецЕсли;   
КонецПроцедуры





//с активизацией табличной части не получилось

//&НаКлиенте
//Процедура ПрикрепленныеФайлыПриАктивизацииСтроки(Элемент)
//   ТабСтрока = Элементы.ПрикрепленныеФайлы.ТекущиеДанные;
//   
//   СсылкаНаКартинку=ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ПрикрепленныеФайлы.СодержимоеФайла");

//   //ПрикрепленныеФайлыПриАктивизацииСтрокиНаСервере(ТабСтрока.НаименованиеФайла);
//КонецПроцедуры


//&НаСервере
//Процедура ПрикрепленныеФайлыПриАктивизацииСтрокиНаСервере(Файл)
//   ЭлементСправочника = РеквизитФормыВЗначение("Объект");
//   Строка = ЭлементСправочника.Найти(Файл);
//   Картинка = Строка.СодержимоеФайла;
//   ЗначениеВРеквизитФормы(ЭлементСправочника, "Объект");
//КонецПроцедуры


Теги:
 

Как вызвать "Анализ субконто" из справочника "Контрагенты"

Автор EnigManРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 6484
Последний ответ 06 Фев 2012, 10:46
от cska-fanat-kz
Как сделать, чтобы поле в документе имело тип "ссылка на поле справочника"?

Автор друганРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 2026
Последний ответ 05 Мар 2017, 14:36
от Igor100500
Изменение цвета при подборе сотрудника в форме списка справочника "Сотрудники организации" для документа "Зарплата к выплате организаций" ЗУП 2.5

Автор ksander-farsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 262
Последний ответ 12 Окт 2017, 14:02
от wise
Работа с формой Справочника "Физ.Лица" в ЗУП 2.5

Автор Митя_Просто_МитяРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 3885
Последний ответ 15 Дек 2011, 00:04
от Vit1501
Чистка справочника "Налоги и взносы"

Автор dim3740Раздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 391
Последний ответ 17 Май 2017, 17:55
от Геннадий ОбьГЭС

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
160 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
55 Сообщений
alex0402
46 Сообщений
andron81_81
44 Сообщений
AIFrame
35 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
27 Сообщений
BuhRust
27 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 289
  • Точка Скрытых: 0
  • Точка Пользователей: 4
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal