Как реализовать в форме элемента справочника выбор картинок

Рассмотрим ситуацию на таком примере: в конфигурации есть сотрудники, нужно, чтобы к каждому сотруднику «цеплялась» его фотография. Исходные фотографии в формате jpg храним в папке photo внутри папки с базой. Последовательность действий по шагам:
1) Сначала нужно в глобальном модуле объявить глобальную переменную КаталогФотографий:
Перем КаталогФотографий Экспорт;
2) Затем в предопределенной процедуре глобального модуля ПриНачалеРаботыСистемы() нужно подготовиться к работе с фотографиями:
КаталогФотографий = КаталогБазыДанных()+“photo\”;
Если (ФС.СуществуетФайл(КаталогФотографий+”.“)=0) Тогда
ФС.СоздатьКаталог(КаталогФотографий);
КонецЕсли;

Здесь мы присваиваем начальное значение переменной КаталогФотографий и создаем папку photo внутри папки с базой, если таковой нет.
3) В справочник «Сотрудники» добавляем новый реквизит ИмяВыбрФайла (строка длиной 50 символов) – здесь мы будем хранить имя выбранного файла с фотографией сотрудника.
4) Открываем форму элемента справочника Сотрудники, вкладку Диалог. Создаем в диалоге новый элемент форме с типом Картинка и идентификатором Фотография, под ним кнопку с заголовком Фотография и вызовом функции Фото() в поле Формула: на закладке «Дополнительно», а также вторую кнопку со знаком Х в поле «Заголовок» и вызовом функции УдалитьФото() в поле Формула: на закладке «Дополнительно».
5) Займемся кодом. Код вставляется на вкладке Модуль формы элемента справочника.
Как должно быть понятно из п.4, нам нужны две функции: Фото() и УдалитьФото().
Вот код первой из них:
Процедура Фото()
Если ФС.ВыбратьФайлКартинки(0, ИмяВыбрФайла, ИмяПути, “Выберите файл”, “jpg”, )=1 тогда
Фотография.Загрузить(ИмяПути+ИмяВыбрФайла);
КонецЕсли;
Фотография.РежимРисования(3);
КонецПроцедуры

Вот код второй процедуры:
Процедура УдалитьФото()
ИмяВыбрФайла = “”;
ИмяПути = “”;
А=СоздатьОбъект(“Картинка”);
Фотография.УстановитьКартинку(А);
КонецПроцедуры

6) Теперь нам осталось внести изменения в предопределенную процедуру ПриОткрытии() формы элемента справочника:
Если ПустоеЗначение(ИмяВыбрФайла) = 0 тогда
ФайлФото=КаталогФотографий+СокрЛП(ИмяВыбрФайла);
Если ФС.СуществуетФайл(ФайлФото)=1 Тогда
Фотография.Загрузить(КаталогФотографий+ФС.НайтиПервыйФайл(ФайлФото));
КонецЕсли;
КонецЕсли;

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

Комментарии | опубликовано: 17 Февраль 2009, 16:39

Как удалить все проводки и документы в отчетном периоде

Просто. Для бухгалтерских конфигураций надо зайти желательно монопольно, в пункт меню Операции-Обработки, а затем выбрать «Обработку документов». Еще необходимо выбрать все документы и правильно установить период, а также выбрать вид обработки «Пометить на удаление». Затем уже в монопольном режиме нужно удалить все помеченные на удаление обработкой документы.
Для торговых конфигурации существует аналогичная по функциям обработка «Групповая обработка документов».

Комментарии | опубликовано: 14 Февраль 2009, 16:38

Коды ошибок в 1С:Предприятия 7.7

На самом деле коды ошибок 1Cv7 не являются секретом. Правда, наряду с “прозрачными” ошибками (смысл которых понятен любому), встречаются и ошибки маловразумительные (например, 920 – на практике она может означать что угодно, и память тут, как правило, ни при чем).. лично мне при виде этого списка сразу вспоминается классика: “Если компилятор не обнаружил ошибок в Вашем проекте – сообщите об этом системному программисту, он исправит ошибки в компиляторе” ;-)
10 Ошибка закрытия файла
20 Ошибка создания файла
30 Ошибка определения длины файла
40 Ошибка установки длины файла
50 Ошибка при попытке заблокировать файл
60 Ошибка при открытии файла
70 Ошибка чтения файла
80 Ошибка удаления файла
90 Ошибка переименования файла
100 Ошибка позиционирования в файле
110 Ошибка снятия блокировки с файла
120 Ошибка записи в файл
200 Файл не является базой данных DBF-формата
210 Неопознанное имя поля
220 Неопознанный тип поля
230 Запись слишком длинная
300 Индексный файл не содержит информации о записи
310 Нарушение структуры индексного файла
330 Указанное имя индекса недоступно
340 Ошибка уникальности индекса
400 Ожидается запятая или скобка
410 Выражение не завершено
422 IFF требует параметров одинаковой длины
425 У STR и SUBSTR 2-й и 3-й параметры – константы
430 Неверное число параметров
440 Слишком сложное выражение
450 Пропущена правая скобка
460 Неверный тип подвыражения
470 Неопознанная функция
480 Неопознанный оператор
500 Выражение не завершено символом двойной кавычки
920 Недостаточно памяти

Комментарии | опубликовано: 27 Сентябрь 2008, 18:48


<--- Предыдущая страница Следующая страница --->