«Сила» логики 1С при печати этикеток ячеек УТ 11.4
Иногда мне кажется, что типовые конфигурации пишут «рептилоиды». Хотя я ходил как-то в молодости устраиваться в 1С и собеседовался с руководителями разработки УПП и УТ, вроде нормальные люди.
Вот у клиента в УТ 11.4 этикетки складских ячеек гордо печатались по одной на лист А4. А ведь Гринпис намекает, что надо экономить бумагу. Позвали программиста.
Оцените, сколько изменений в коде пришлось сделать ради такой простой задачи.
По сути, разработчики решили оградить пользователя от принятия решения, сколько этикеток размещать по горизонтали и вертикали. Эти поля сделали невидимыми, но контроль над их значением оставили. Причем для обычных этикеток число по горизонтали и вертикали рассчитывается, для складских этикеток всегда по единице. Где логика?
Справочник «ШаблоныЭтикетокИЦенников» форма «ФормаРедактированияШаблонаЭтикетокИЦенников«:
&НаКлиенте Процедура дор_ПриОткрытииПосле(Отказ) Элементы.ГруппаНастройки.Видимость = истина; КонецПроцедуры &НаСервере &Вместо("РассчитатьМаксимальноеКоличествоНаСтранице") Процедура дор_РассчитатьМаксимальноеКоличествоНаСтранице() //Осипов СохранитьКоличествоПоВертикали = КоличествоПоВертикали; СохранитьКоличествоПоГоризонтали = КоличествоПоГоризонтали; ПродолжитьВызов(); КоличествоПоВертикали = СохранитьКоличествоПоВертикали; КоличествоПоГоризонтали = СохранитьКоличествоПоГоризонтали; КонецПроцедуры &НаСервере &Вместо("ПроверитьУмещение") Функция дор_ПроверитьУмещение() Возврат Истина; //Осипов - отказываемся от контроля Результат = ПродолжитьВызов(); Возврат Результат; КонецФункции &НаСервере &Вместо("ПодготовитьСтруктуруМакетаШаблона") Функция дор_ПодготовитьСтруктуруМакетаШаблона() //Осипов СтруктураМакетаШаблона = ПродолжитьВызов(); СтруктураМакетаШаблона.Вставить("КоличествоПоВертикали", КоличествоПоВертикали); СтруктураМакетаШаблона.Вставить("КоличествоПоГоризонтали", КоличествоПоГоризонтали); Возврат СтруктураМакетаШаблона; КонецФункции
В форме теперь показываются размеры:

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




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