Два вопроса. 1.Можно ли функционал по изменению списка использовать в стандартных формах УНФ. Ну например для формы списка номенклатуры. Там уже есть процедура смены запроса "Процедура ПереопределитьТекстЗапросаСписокЗапасы()". Причем ее структура такова, что дописать пару своих полей в текст не очень понятно где (особенно смущает группа команд ПараметрыСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка(); ПараметрыСписка.ТекстЗапроса = ТекстЗапроса; ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокЗапасы, ПараметрыСписка); в конце процедуры. Можно, конечно полностью ее заменить, на свой текст с нужными полями, но велика вероятность того, что при обновлении дополнение превратится в тыкву. 2.Можно ли делать при выводе строк сборные поля, составленные из разных типов данных, не добавляя дублирующего поля в справочник. Ну например мне понадобилось наименование номенклатуры дополнить размером в формате ВхДхШ в мм. Типа есть номенклатура "Железяка" с размерами 5,0см 100,0см 30,0см нужно вывести виде "Железяка 50х1000х300". При этом в тексте запроса привести число к строке нельзя. Есть ли какой то выход или единственный путь добавить поле "РазмерВмм" и записывать туда значение при изменении размеров?
На счет первого вопроса. Именно в УНФ версии 1.6, я делал модификацию при помощи расширения выполняя процедуру после названной вами &НаСервере &После("ПереопределитьТекстЗапросаВСписках") Процедура ТВП_ПереопределитьТекстЗапросаВСписках() ТВП_СкорректироватьЗапрос(); КонецПроцедуры Так как при обновлении и вправду всё может поехать, чтобы как то минимизировать риски, я переводил результирующий запрос в схему запросов и корректировал запрос при помощи объектной модели. Некоторое количество обновлений доработка пережила вообще без каких либо изменений. Посмотрите моё расширение, откапал где то в архивах: kbs41.ru/wp-content/uploads/2023/06/ТоварыВПути.zip Если не знакомы с объектной схемой запросов, очень рекомендую видео с другого канала ua-cam.com/video/ZOfY81f100c/v-deo.html По поводу второго вопроса. Честно говоря не могу полностью понять суть вопроса. Если дополнить наименование какими либо данными, то вполне возможно. Например та же длинна ширина высота ВЫБРАТЬ Номенклатура.Наименование + " Д:" + СТРОКА(Номенклатура.Длина) + " Ш:" + СТРОКА(Номенклатура.Ширина) + " В:" + СТРОКА(Номенклатура.Высота) КАК Поле1 ИЗ Справочник.Номенклатура КАК Номенклатура В Демо УНФ в результате получается вот такая строка: Лак мебельный Д:10 Ш:15 В:20
@@EALarin41 Спасибо за ответ. Как выяснилось, в интернете очень много устаревших сведений, поэтому я и не нашел эту функцию - первые две страницы в Гугле выдали данные до декабря 2020, когда эта функция появилась в запросах 1С 8.3 Осталось решить, как избавиться от пробелов разделителей. Все же для больших размеров по стандарту должно быть "15х1500х2400", а не "15х1 500х2 400".
Здравствуйте, спасибо за видео. У Вас ОС Линукс? если да, то какой? Спасибо.
Здравствуйте. На моей рабочей машине windows. Но у двух клиентов в под 1С используется Debian.
Два вопроса.
1.Можно ли функционал по изменению списка использовать в стандартных формах УНФ. Ну например для формы списка номенклатуры. Там уже есть процедура смены запроса "Процедура ПереопределитьТекстЗапросаСписокЗапасы()". Причем ее структура такова, что дописать пару своих полей в текст не очень понятно где (особенно смущает группа команд
ПараметрыСписка = ОбщегоНазначения.СтруктураСвойствДинамическогоСписка();
ПараметрыСписка.ТекстЗапроса = ТекстЗапроса;
ОбщегоНазначения.УстановитьСвойстваДинамическогоСписка(Элементы.СписокЗапасы, ПараметрыСписка);
в конце процедуры. Можно, конечно полностью ее заменить, на свой текст с нужными полями, но велика вероятность того, что при обновлении дополнение превратится в тыкву.
2.Можно ли делать при выводе строк сборные поля, составленные из разных типов данных, не добавляя дублирующего поля в справочник. Ну например мне понадобилось наименование номенклатуры дополнить размером в формате ВхДхШ в мм. Типа есть номенклатура "Железяка" с размерами 5,0см 100,0см 30,0см нужно вывести виде "Железяка 50х1000х300". При этом в тексте запроса привести число к строке нельзя. Есть ли какой то выход или единственный путь добавить поле "РазмерВмм" и записывать туда значение при изменении размеров?
На счет первого вопроса. Именно в УНФ версии 1.6, я делал модификацию при помощи расширения выполняя процедуру после названной вами
&НаСервере
&После("ПереопределитьТекстЗапросаВСписках")
Процедура ТВП_ПереопределитьТекстЗапросаВСписках()
ТВП_СкорректироватьЗапрос();
КонецПроцедуры
Так как при обновлении и вправду всё может поехать, чтобы как то минимизировать риски, я переводил результирующий запрос в схему запросов и корректировал запрос при помощи объектной модели. Некоторое количество обновлений доработка пережила вообще без каких либо изменений.
Посмотрите моё расширение, откапал где то в архивах:
kbs41.ru/wp-content/uploads/2023/06/ТоварыВПути.zip
Если не знакомы с объектной схемой запросов, очень рекомендую видео с другого канала ua-cam.com/video/ZOfY81f100c/v-deo.html
По поводу второго вопроса.
Честно говоря не могу полностью понять суть вопроса. Если дополнить наименование какими либо данными, то вполне возможно.
Например та же длинна ширина высота
ВЫБРАТЬ
Номенклатура.Наименование + " Д:" + СТРОКА(Номенклатура.Длина) + " Ш:" + СТРОКА(Номенклатура.Ширина) + " В:" + СТРОКА(Номенклатура.Высота) КАК Поле1
ИЗ
Справочник.Номенклатура КАК Номенклатура
В Демо УНФ в результате получается вот такая строка:
Лак мебельный Д:10 Ш:15 В:20
Можно приводить и число к строке, и строку к числу. Правда второе - крайне гемморойное занятие.
@@EALarin41 Спасибо за ответ. Как выяснилось, в интернете очень много устаревших сведений, поэтому я и не нашел эту функцию - первые две страницы в Гугле выдали данные до декабря 2020, когда эта функция появилась в запросах 1С 8.3
Осталось решить, как избавиться от пробелов разделителей. Все же для больших размеров по стандарту должно быть "15х1500х2400", а не "15х1 500х2 400".
@@ВалерийНеФактжжжжжжжжжжжж