[УТ3 для Украины] Исправление ошибки вывода цен номенклатуры в XLS файл

03.08.13

Разработка - Универсальные функции

При первоначальном заполнении базы данных для работы новой группы компаний столкнулся к одной интересной проблемой:
- прайс длинный, цен много, идеальный вариант - загрузить из Excel
- формат данных для подготовки данных нигде не описан, по крайней мере - перерыл кучу сайтов и форумов.

Как результат - ничего с загрузкой не проходит...

Конфигурация "Управление Торговлей 3.0 для Украины", релизы 3.0.2.42 и 3.0.3.17.

При первоначальном заполнении базы данных для работы новой группы компаний столкнулся к одной интересной проблемой:
- прайс длинный, цен много, идеальный вариант - загрузить из Excel
- формат данных для подготовки данных нигде не описан, по крайней мере - перерыл кучу сайтов и форумов.

Как результат - ничего с загрузкой не проходит.

Сразу попросилось простое решение - есть кнопка ВЫГРУЗИТЬ в файл. Значит - бьем пару позиций, ставим пару цен - и выгружаем и смотрим.

А не тут-то было: функция вывода вылетает по ошибке.

Вобщем, захотелось мне разобраться и это все починить, т.к. набивать кучу данных руками - не мой путь.

Анализ и вскрытие показали, что в функции СоздатьПрисоединенныйФайлXLS97УстановкиЦенНоменклатуры, в форме документа УстановкаЦенНоменклатуры  - примитивная ошибка!

&НаСервере
Функция СоздатьПрисоединенныйФайлXLS97УстановкиЦенНоменклатуры(ПараметрыПечати)
	
	МассивДокументов = Новый Массив;
	МассивДокументов.Добавить(Объект.Ссылка);
	
	ОбъектыПечати = Новый СписокЗначений;
	ОбъектыПечати.Добавить(Объект.Ссылка);
	
	//ТабличныйДокумент = Документы.УстановкаЦенНоменклатуры.СформироватьПечатнуюФормуУстановкиЦенНоменклатуры(МассивДокументов, ОбъектыПечати, ПараметрыПечати);
	ТабличныйДокумент = Документы.УстановкаЦенНоменклатуры.СформироватьПечатнуюФормуУстановкиЦенНоменклатуры(МассивДокументов, ОбъектыПечати, ПараметрыПечати, УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода());
	ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
	ТабличныйДокумент.Записать(ИмяВременногоФайла, ТипФайлаТабличногоДокумента.XLS97);
	
	АдресФайлаВоВременномХранилище = ПоместитьВоВременноеХранилище(Новый ДвоичныеДанные(ИмяВременногоФайла), УникальныйИдентификатор);
	
	Файл = ПрисоединенныеФайлы.ДобавитьФайл(Объект.Ссылка, "Excel" + " " + Формат(ТекущаяДата(), "ДФ='dd.MM.yyyy ЧЧ.мм.сс'"), "xls", ТекущаяДата(), ТекущаяДата(), АдресФайлаВоВременномХранилище, Неопределено);
	Если Файл <> Неопределено Тогда
		ПрисоединенныеФайлы.ЗанятьФайлДляРедактированияСервер(Файл);
		ДанныеФайла = ПрисоединенныеФайлы.ПолучитьДанныеФайла(Файл, УникальныйИдентификатор, Истина);
		Возврат Новый Структура("ДанныеФайла, Файл", ДанныеФайла, Файл);
	Иначе
		Возврат Неопределено;
	КонецЕсли;
	
КонецФункции

Как видно, при вызове функции СформироватьПечатнуюФормуУстановкиЦенНоменклатуры просто пропущен последний параметр. Достаточно вставить в этом месте вызов УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода() - и все работает, выгрузки проходят.

Этого оказалось вполне достаточно, чтобы формировать файлы для заполнения различных цен и последующей их загрузки в документ установки цен.

Возможно, в российской УТ11 - есть такая же засада...

Да, не забудьте в конфигурации разрешить редактирование, включив режим изменений в окне управления поддержкой.

Удачи всем!

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Механизмы типовых конфигураций Программист 1С:Предприятие 8 Бесплатно (free)

Каждый, кто работал с кадровыми отчетами в ЗУП, ERP или УХ, сталкивался с механизмом представлений – странным кодом запроса, где поля отображаются пустыми ссылками, а в названии временной таблицы есть слово «Представление». В статье разберем, что такое представления и как ими пользоваться. Больше не нужно ломать голову над тем, откуда и как правильно получать данные. Механизм представлений сделает это за вас.

08.07.2025    13432    user2012581    55    

61

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    8282    DeerCven    15    

62

Механизмы типовых конфигураций Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Расчет себестоимости в типовых конфигурациях 1С – для многих «черный ящик», работающий по жестко зашитым в него алгоритмам. Реализация этого «черного ящика» может меняться в зависимости от конкретной конфигурации – УПП, БП 3.0, ERP. Но принцип работы везде одинаковый. Расскажем о том, как устроен расчет себестоимости, как его дорабатывать, и какие методы могут быть эффективны и без доработок.

27.12.2024    27628    Begemoth80    33    

95

Механизмы типовых конфигураций Программист 1С:Предприятие 8 1C:ERP Бесплатно (free)

Статистическая выборка сценариев и точек изменения отчетов на общей форме ФормаОтчета в типовых конфигурациях. Примеры кода.

03.06.2024    18644    SergMuravev    40    

135

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Благодаря этим пяти строчкам можно больше не заморачиваться с загрузкой из внешних файлов. Пользуюсь везде, всегда и постоянно.

21.05.2024    55255    dimanich70    84    

174

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    69836    atdonya    31    

72

Инструментарий разработчика БСП (Библиотека стандартных подсистем) Механизмы типовых конфигураций Программист Стажер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бесплатно (free)

Используются для создания новых объектов в конфигурации, чтобы не забыть, что нужно сделать. Сделано на примере 1С:Бухгалтерия предприятия, в других конфигурациях могут быть другие, а могут быть и похожие объекты.

28.12.2023    12247    mrXoxot    11    

119

Универсальные функции Программист 1С:Предприятие 8 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    9847    ke.92@mail.ru    17    

68
Для отправки сообщения требуется регистрация/авторизация