Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
14 янв 2025, 08:44

Масштабирование картинки

Автор sali, 16 дек 2024, 12:09

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

sali

хочу спросить у знатоков как увеличить картинку на форме документа, взятую из конфигурации . 77х77 пикселей мне мало ;)

sali

Снимок экрана (81).png вот, вот эти qr кода надо растянуть увеличить как-то . а это не картинка , а кнопка и отображение картинкой

sali

никто не знает ответа на вопрос

fruitella

Самый простой способ загрузи свою картинку (увеличенную) в библиотеку картинок.
На форме у каждого элемента есть автоширина и автовысота, сними галки и зайдай их вручную.

sali

fruitella, у меня получилось только через сторонний сайт ее увеличить. а через снять галку и задать самому у меня не получилось так как там увеличиваются размеры самой кнопки, картинка же остается при своих 77 пикселей.

fruitella

Ну наверно ты менял размеры для всей группы, где находятся кнопки и твоя картинка. А ты создай отдельную группу только для картинки и помести ее в ту общую группу. Соответственной задавай размеры для твоей созданной группы.

sali

fruitella, НЕЕЕ. у меня кнопка и вид - картинка. а картинка 77х77 пикселей. пробовал редактировать картинку, расширять ее как-то но не выходило. получилось только через сторонний сайт

fruitella

sali, Понял, ну это тоже решение  :ooifh:

sali

fruitella, а вы случаем не знаете как заполнить одну форму , где-то запомнить или поддержать эти данные, а потом записать их в другой документ?
имею ввиду, обращаясь к своей старой теме и вопросу марок. если товар маркированный - выползает форма, где нужно эту марку отсканировать (какое количество маркированного товара - столько и марок. то бишь выбрали вы 2 пачки сигарет одного производства и они маркированные - нужно отсканировать марку этих сигарет 2 раза). нажать окей, где-то сохранить и после пробития чека их записать в документ чеков ккм табличную часть марок и серий номенклатуры, опять же записывать столько марок сколько отсканировали.

Максим75

sali, смотрите, как это реализовано в типовой (миллион раз говорил лично я Вам, чтобы Вы там посмотрели).

1.В документе создаете еще одну табличную часть, где храните ключ связи (обычно номер строки табличной части Товары) и сами марки (их значение).
2. Вы создаете форму ввода этих марок. На форме рисуете помимо всего для ввода марок еще кнопку Закрыть (например) или Перенести в документ.

Вот что в типовой на эту кнопку цепляют.
НаКлиенте
Процедура ЗавершитьВвод(Команда)

АдресВХранилище = АдресМарокВХранилище();
СтруктураВозврата = Новый Структура;
СтруктураВозврата.Вставить("АдресВХранилище", АдресВХранилище);
Если Не Модифицированность Тогда
Закрыть(СтруктураВозврата);
КонецЕсли;

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

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

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

3. Открываете эту форму ввода марок из документа и обязательно указываете оповещение, вот в этом оповещении и обработаете результат, который вернет форма ввода марок, т.е. структуру.

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

СтрокаТЧ = Объект.Товары.НайтиПоИдентификатору(ДополнительныеПараметры.ИдентификаторСтроки);

Если СтрокаТЧ = Неопределено Тогда
РедактированиеТЧТовары = Ложь;
Возврат;
КонецЕсли;

НуженПересчетСкидок = Ложь;

ИзмененоКоличествоУпаковок = Ложь;
Если Не Результат = Неопределено Тогда

Если ТипЗнч(Результат) = Тип("Строка") Тогда
СтруктураПоиска = Новый Структура;
СтруктураПоиска.Вставить("КлючСвязи", ДополнительныеПараметры.ТекущийКлючСвязи);

МассивАкцизныхМарок = Объект.АкцизныеМарки.НайтиСтроки(СтруктураПоиска);

Для Каждого СтрокаАкцизнаяМарка Из МассивАкцизныхМарок Цикл
Объект.АкцизныеМарки.Удалить(СтрокаАкцизнаяМарка);
КонецЦикла;

СтрокаАкцизнаяМарка = Объект.АкцизныеМарки.Добавить();
СтрокаАкцизнаяМарка.КлючСвязи = ДополнительныеПараметры.ТекущийКлючСвязи;
СтрокаАкцизнаяМарка.ШтрихкодАкцизнойМарки = Результат;

Если Не СтрокаТЧ.Количество = 1 Тогда
СтрокаТЧ.Упаковка = ПредопределенноеЗначение("Справочник.УпаковкиНоменклатуры.ПустаяСсылка");
СтрокаТЧ.КоличествоУпаковок = 1;
СтрокаТЧ.Количество = 0;
ИзмененоКоличествоУпаковок = Истина;
НуженПересчетСкидок = Истина;
КонецЕсли;
Модифицированность = Истина;

ИначеЕсли ТипЗнч(Результат) = Тип("Структура") Тогда

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

//Саша
Если СтрНайти(СокрЛП(Объект.Комментарий),"Номер документа на сайте:")=0 тогда

Если не КоличествоУпаковокОтсканировано = СтрокаТЧ.Количество Тогда
СтрокаТЧ.КоличествоУпаковок = КоличествоУпаковокОтсканировано;
СтрокаТЧ.Упаковка = ПредопределенноеЗначение("Справочник.УпаковкиНоменклатуры.ПустаяСсылка");
СтрокаТЧ.Количество = 0;
Если СтрокаТЧ.КоличествоУпаковок = 0 Тогда
Объект.Товары.Удалить(СтрокаТЧ);
СтрокаТЧ = Неопределено;
КонецЕсли;
ИзмененоКоличествоУпаковок = Истина;
НуженПересчетСкидок = Истина;
КонецЕсли;
Модифицированность = Истина;
КонецЕсли;
//Саша
КонецЕсли;



КонецЕсли;

Если СтрокаТЧ <> Неопределено и ИзмененоКоличествоУпаковок Тогда
Если СтрокаТЧ.ИспользоватьСерийныеНомера Тогда
ВвестиПодарочныеСертификаты();
ИначеЕсли СтрокаТЧ.СтатусУказанияСерий <> 0 Тогда
УказатьСерии("КоличествоУпаковок", "Товары", "Серии");
Иначе
ТоварыУпаковкаПриИзменении(СтрокаТЧ);
ПриИзмененииТоварыКоличестваУпаковок(СтрокаТЧ);
КонецЕсли;
КонецЕсли;

КонецЕсли;

Если ДополнительныеПараметры.Свойство("СтруктураПараметровКлиента")
И СтрокаТЧ <> Неопределено Тогда
ЗавершитьОбработкуДанныхПоКодуКлиент(ДополнительныеПараметры.СтруктураПараметровКлиента);
ИначеЕсли НуженПересчетСкидок Тогда
ПересчитатьИлиОтменитьСкидкиИОплатуБонусами();
КонецЕсли;

РедактированиеТЧТовары = Ложь;
Если СтрокаТЧ <> Неопределено Тогда
АкцизныеМаркиКлиентСервер.ЗаполнитьКоличествоАкцизныхМарокВСтроке(СтрокаТЧ, Объект.АкцизныеМарки);
АкцизныеМаркиКлиентСервер.УстановитьЗначениеСтатусАкцизныхМарокВСтроке(СтрокаТЧ);
КонецЕсли;
КонецПроцедуры
в Результат и смотрят, что вернулось после открытия формы ввода и обрабатывается.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск