К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Как добавить файл в контрагенты?

Гость
0 - 29.05.2014 - 09:57
Есть в справочнике контрагентах группа прикрепленные файлы. Как туда программно добавить файл. Т.е. грубо говоря получена ссылка на контрагента, как к нему добавить файл? Конфигурация какая-то самописная.


Гость
1 - 29.05.2014 - 10:03
0-Паровоз > Бестолочь! Ты хатя ба сам та читал што ты написал? Типа, у мну исть самаписная канфигурация каторую нихто ни видел, падскажите как в ниё файл дабавить.
Типичнай ты адынесник!
2 - 29.05.2014 - 10:04
открой конфигуратор, там написано, как программно...
Гость
3 - 29.05.2014 - 10:15
да не совсем самописная, когда-то это был itil.Управление информационными технологиями предприяьтия, но снят с поддержки и дописывался кем-то.

http://files.mail.ru/DD1437644417469E9116C8BB17253F96
Гость
4 - 29.05.2014 - 10:16
очередной туповатый одноЭсник ставит опыты по скрещиванию ужа и ежа
Гость
5 - 29.05.2014 - 11:07
Хм... Это смотря как хранятся эти самые файлы... Вне БД, или внутри БД (используя хранилище). Если вне БД, то можно добраться до списка файлов данного контрагента, если сами файлы сформированы с именами, включающими UUID данного контрагента. Что позволяет не вносить новые реквизиты, если файл единственный, или это директория.
Если в хранилище (надеюсь, БД не файловая?), то в качестве ключа записи можно использовать ссылку владельца (тот же UUID вид сбоку).
P.S. По ссылке в (3) не ходил: подозреваю, внутри что-то сложное для понимания ;)
Гость
6 - 29.05.2014 - 16:00
5-VZ >Там скриншот Конфигуратора :)
Гость
7 - 30.05.2014 - 10:21
6-DaCAT >:)
0-Паровоз > Не знаю как в твоей конфигурации, но в БП3 есть функционал "Присоединенные файлы". Основа: подчиненные справочники объектов (например ОрганизацииПодчиненныеФайлы, где есть реквизит ВладелецФайла тип СправочникСсылка.Организации), и один общий регистр сведений для хранения истории. Ну, куча функционала из БСП для обработок этих файлов.
Рекомендуется стянуть ;)
Гость
8 - 30.05.2014 - 15:59
&НаКлиенте
Функция ДобавитьФайл(ИмяФайла, НомерЗаявки)
код=СокрЛП(Строка(НомерЗаявки));
Элемент=ПолучитьОбъект(код);
Форма2=ПолучитьФорму();
//РаботаСФайламиКлиент.СкопироватьФайл(Элемент.Контр агент,"c:\1.txt");
// www=РаботаСФайлами.СоздатьФайл(Элемент.Контрагент, "eeee", " 13   zayavka_1", "jpg", "", "c:\");
если НЕ элемент.Пустая() тогда
сообщить(Элемент.контрагент.НаименованиеПолное);
иначе
сообщить("ссылка-пустая!!! при поиске по коду -"+код);
конецесли;
РаботаСФайламиКлиент.СоздатьДокументНаОсновеФайла( "c:\1.txt",Элемент.Контрагент,Форма2.ПолучитьФорму ("ФормаЭлементаITIL").ВладелецФормы, Истина);

возврат Элемент.Контрагент.ИНН;
конецфункции
&НаСервере
Функция ПолучитьФорму()
форма= справочники.Контрагенты;
возврат форма;
конецфункции
&НаСервере
Функция ПолучитьОбъект(код)
Элемент=Справочники.ЗаказыЭЦП.НайтиПоНаименованию( код);
возврат Элемент;
конецфункции
___________________________
Есть встроенная функция у них,
РаботаСФайламиКлиент.СоздатьДокументНаОсновеФайла
но у меня при последнем вызове пишет ошибку
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
_____________
Сранная функция, наверно она расчитана , чтобы получать ссылку на формы из формы, а у меня она вызывается не из формы?
Процедура СоздатьДокументНаОсновеФайла(ПолноеИмяФайла, ВладелецФайла, ФормаВладелец, НеОткрыватьКарточкуПослеСозданияИзФайла = Неопределено) Экспорт
// Здесь создаем Файл ...
Файл = Новый Файл(ПолноеИмяФайла);
МаксРазмерФайла = РаботаСФайламиКлиентПовтИсп.ПолучитьПерсональныеНа стройкиРаботыСФайлами().МаксимальныйРазмерФайла;

РазмерВМб = Файл.Размер() / (1024 * 1024);
РазмерВМбМакс = МаксРазмерФайла / (1024 * 1024);

Если Файл.Размер() > МаксРазмерФайла Тогда

ОбновитьПовторноИспользуемыеЗначения();

ВызватьИсключение
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВС троку(
НСтр("ru = 'Размер файла ""%1"" (%2 Мб) превышает максимально допустимый размер файла (%3 Мб).'"),
Файл.Имя,
?(РазмерВМб >= 1, Формат(РазмерВМб, "ЧДЦ=0"), Формат(РазмерВМб, "ЧДЦ=1; ЧН=0")),
?(РазмерВМбМакс >= 1, Формат(РазмерВМбМакс, "ЧДЦ=0"), Формат(РазмерВМбМакс, "ЧДЦ=1; ЧН=0")));
КонецЕсли;

АдресВременногоХранилищаТекста = ФайловыеФункцииКлиент.ИзвлечьТекстВоВременноеХрани лище(
Файл.ПолноеИмя,
ФормаВладелец.УникальныйИдентификатор);

ВремяИзменения = Файл.ПолучитьВремяИзменения();
ВремяИзмененияУниверсальное = Файл.ПолучитьУниверсальноеВремяИзменения();

ИмяФайла = Файл.Имя;
РазмерВМб = Файл.Размер() / (1024 * 1024);

ТекстПояснения =
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВС троку(
НСтр("ru = 'Идет сохранение файла ""%1"" (%2 Мб).
|Пожалуйста, подождите...'"),
ИмяФайла,
?(РазмерВМб >= 1, Формат(РазмерВМб, "ЧДЦ=0"), Формат(РазмерВМб, "ЧДЦ=1; ЧН=0")));

Состояние(ТекстПояснения);


// Поместим Файл в ВременноеХранилище
АдресВременногоХранилищаФайла = "";

ПомещаемыеФайлы = Новый Массив;
Описание = Новый ОписаниеПередаваемогоФайла(Файл.ПолноеИмя, "");
ПомещаемыеФайлы.Добавить(Описание);

ПомещенныеФайлы = Новый Массив;

Если НЕ ПоместитьФайлы(ПомещаемыеФайлы, ПомещенныеФайлы, , Ложь, ФормаВладелец.УникальныйИдентификатор) Тогда
ВызватьИсключение
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВС троку(
НСтр("ru = 'Ошибка при помещении файла в хранилище: %1'"), Файл.ПолноеИмя);
КонецЕсли;

Если ПомещенныеФайлы.Количество() = 1 Тогда
АдресВременногоХранилищаФайла = ПомещенныеФайлы[0].Хранение;
КонецЕсли;

// Создадим карточку Файла в БД
Док = РаботаСФайлами.СоздатьФайлСВерсией(
ВладелецФайла,
Файл.ИмяБезРасширения,
ФайловыеФункцииКлиент.РасширениеБезТочки(Файл.Расш ирение),
ВремяИзменения,
ВремяИзмененияУниверсальное,
Файл.Размер(),
АдресВременногоХранилищаФайла,
АдресВременногоХранилищаТекста,
Ложь); // это не веб клиент

Состояние();

ПараметрыОповещения = Новый Структура("Владелец, Файл", ВладелецФайла, Док);
Оповестить("СозданФайл", ПараметрыОповещения);

Параметры = Новый Структура("Ключ, КарточкаОткрытаПослеСозданияФайла", Док, Истина);

//Если НеОткрыватьКарточкуПослеСозданияИзФайла <> Истина Тогда
// Форма = ПолучитьФорму("Справочник.Файлы.Форма.ФормаЭлемент а", Параметры);
// Форма.ВладелецФормы = ФормаВладелец;
// Форма.НовыйФайл = Истина;
// Форма.Открыть();
//КонецЕсли;
КонецПроцедуры
Гость
9 - 02.06.2014 - 14:51
ТАк все-таки, как?
Нашел Процедуру СоздатьДокументНаОсновеФайла(ПолноеИмяФайла, ВладелецФайла, ФормаВладелец, НеОткрыватьКарточкуПослеСозданияИзФайла = Неопределено) Экспорт

Все она прекрасно добавляет, но из формы!!!
А мне нужно файлы добавлять в обработке,

Владельца получаю так

Функция ПолучитьОбъект(код)
Элемент=Справочники.Заказчики.НайтиПоНаименованию( код).Контрагент;
возврат Элемент;
конецфункции

а как получить форму?
Гость
10 - 02.06.2014 - 14:53
зачем тебе форма? файлы же не в форме хранятся
Гость
11 - 02.06.2014 - 14:57
У меня есть в контрагентах группа файлы, т.е. к каждому контрагенту нужно по подвязывать файлы со сканами договоров и паспортных данных, их несколько сотен, а готовая функция нормально работает в форме
Гость
12 - 04.06.2014 - 05:45
Гениально


К списку вопросов






Copyright ©, Все права защищены