«Сила» логики 1С при печати этикеток ячеек УТ 11.4

Иногда мне кажется, что типовые конфигурации пишут «рептилоиды». Хотя я ходил как-то в молодости устраиваться в 1С и собеседовался с руководителями разработки УПП и УТ, вроде нормальные люди.

Вот у клиента в УТ 11.4 этикетки складских ячеек гордо печатались по одной на лист А4. А ведь Гринпис намекает, что надо экономить бумагу. Позвали программиста.

Оцените, сколько изменений в коде пришлось сделать ради такой простой задачи.

По сути, разработчики решили оградить пользователя от принятия решения, сколько этикеток размещать по горизонтали и вертикали. Эти поля сделали невидимыми, но контроль над их значением оставили. Причем для обычных этикеток число по горизонтали и вертикали рассчитывается, для складских этикеток всегда по единице. Где логика?

Справочник «ШаблоныЭтикетокИЦенников» форма «ФормаРедактированияШаблонаЭтикетокИЦенников«:


&НаКлиенте
Процедура дор_ПриОткрытииПосле(Отказ)
	Элементы.ГруппаНастройки.Видимость = истина;
КонецПроцедуры

&НаСервере
&Вместо("РассчитатьМаксимальноеКоличествоНаСтранице")
Процедура дор_РассчитатьМаксимальноеКоличествоНаСтранице()    
	//Осипов
	СохранитьКоличествоПоВертикали   = КоличествоПоВертикали;
	СохранитьКоличествоПоГоризонтали = КоличествоПоГоризонтали;
	ПродолжитьВызов();
	КоличествоПоВертикали = СохранитьКоличествоПоВертикали;
	КоличествоПоГоризонтали = СохранитьКоличествоПоГоризонтали;
КонецПроцедуры

&НаСервере
&Вместо("ПроверитьУмещение")
Функция дор_ПроверитьУмещение()
	Возврат Истина;  //Осипов - отказываемся от контроля
	Результат = ПродолжитьВызов();
	Возврат Результат;
КонецФункции

&НаСервере
&Вместо("ПодготовитьСтруктуруМакетаШаблона")
Функция дор_ПодготовитьСтруктуруМакетаШаблона()
	
	//Осипов
	СтруктураМакетаШаблона = ПродолжитьВызов(); 
	СтруктураМакетаШаблона.Вставить("КоличествоПоВертикали",      КоличествоПоВертикали);
	СтруктураМакетаШаблона.Вставить("КоличествоПоГоризонтали",    КоличествоПоГоризонтали);

	Возврат СтруктураМакетаШаблона;
	
КонецФункции

В форме теперь показываются размеры:

Часто, очень часто, программисту 1С приходится ломать больную логику типовых 1С о свое закаленное колено!

Среда: УТ 11.4.13.46 Объем: 1 час

image_pdfimage_print

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Вам может также понравиться...

комментария 2

  1. rzd:

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

    • неужели. А зачем тогда обычные этикетки (не ячеек) позволено печатать на обычном А4 принтере?
      А вот ячейки только на ленточном? Где логика?
      В 1С так во всем — принимаются какие-то странные мало мотивированные жизнью решения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *