в УНФ штатная загрузка внешных данных, делаю загрузку из ексель. В справочники номенклатуры добавил поле КатегорияОбмена- ведет на другой справочник(поле выбора). При загрузке все показывает а когда создаеться номен то поле пустое.Если поле простое строка то все ок, а если там стоит выбор то не как. Вроде по аналогии добавил в модули но ничего. Может кто-то сталкивался. Это в менеджере Номенклатуры
Здравствуйте. Задача стоит вывести всю номен с ее фото в отчет. У меня ошибка где-то . Когда вывожу один товар всё ок, а когда все то картинка растягиваеться на всю номен а не отдельно на каждую строку.Что не так подскажите?
Запрос
ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка, Номенклатура.ФайлКартинки КАК ФайлКартинки ИЗ Справочник.Номенклатура КАК Номенклатура ГДЕ Номенклатура.КатегорияНоменклатуры.Родитель.Наименование = &Наименование
ПараметрПериод = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаОстатка")); Если ПараметрПериод <> Неопределено И ПараметрПериод.Использование И ЗначениеЗаполнено(ПараметрПериод.Значение) Тогда
// Устанавливаем настройки отбора в соответствии с пользовательскими настройками ТаблицаОтборов = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы; Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл НайденнаяПользовательскаяНастройка = ТаблицаОтборов.Найти(ЭлементОтбора.ИдентификаторПользовательскойНастройки); Если НайденнаяПользовательскаяНастройка <> Неопределено Тогда ЭлементОтбора.ВидСравнения = НайденнаяПользовательскаяНастройка.ВидСравнения; ЭлементОтбора.Использование = НайденнаяПользовательскаяНастройка.Использование; ЭлементОтбора.ПравоеЗначение = НайденнаяПользовательскаяНастройка.ПравоеЗначение; КонецЕсли; КонецЦикла;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Создаем данные расшифровки КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета // Инициализируем макет компоновки используя схему компоновки данных // и созданные ранее настройки и данные расшифровки СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
// Скомпонуем результат ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
ДокументРезультат.Очистить();
// Выводим результат в табличный документ ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); //.... ПроцессорВывода.Вывести(ПроцессорКомпоновки);
// Заполняем рисунки для полей, в данных расшифровки которых находятся элементы справочника // "НоменклатураПрисоединенныеФайлы" КоличествоКолонокТаблицы = ДокументРезультат.ШиринаТаблицы; // Количество колонок в отчете КоличествоСтрокТаблицы = ДокументРезультат.ВысотаТаблицы; // Количество строк в отчете Рис1 = 0; стПерв = 0; Номен = ""; // Обходим все ячейки отчета Для Кл = 1 По КоличествоКолонокТаблицы Цикл Для Ст = 1 По КоличествоСтрокТаблицы Цикл ТекОбласть = ДокументРезультат.Область(Ст, Кл); // Если имеется расшифровка ячейки, то проверям наличие полей расшифровки Если ТекОбласть.Расшифровка <> Неопределено Тогда ПоляРасшифровки = ДанныеРасшифровки.Элементы[ТекОбласть.Расшифровка].ПолучитьПоля(); Если ПоляРасшифровки.Количество() > 0 Тогда // Если тип значения поля расшифровки соответствует справочнику прикрепленных файлов, то // выводим связанную картинку
Рисунок = ПолучитьИзображение(ПоляРасшифровки.Получить(0).Значение); Если Рисунок <> Неопределено Тогда Если ДокументРезультат.Область(ст, 4, Ст, 4).Текст <> Номен и стПерв <> 0 Тогда ТекОбласть = ДокументРезультат.Область(стПерв, Кл, Ст-1,Кл); Если Ст - стПерв = 1 Тогда ТекОбласть.ВысотаСтроки = 20.5*9; Иначе ТекОбласть.ВысотаСтроки = 20.5*9/ (Ст - стПерв); КонецЕсли;
Если ТипЗнч(ПрисоединенныйФайл) = Тип("СправочникСсылка.НоменклатураПрисоединенныеФайлы") Тогда Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | НоменклатураПрисоединенныеФайлы.Ссылка КАК ХранимыйФайл |ИЗ | Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы |ГДЕ | НоменклатураПрисоединенныеФайлы.Наименование = &ПрисоединенныйФайл"; Запрос.УстановитьПараметр("ПрисоединенныйФайл", ПрисоединенныйФайл.Наименование); Результат = Запрос.Выполнить(); Если НЕ Результат.Пустой() Тогда Выборка = Результат.Выбрать(); Выборка.Следующий(); // Получаем двоичные данные катинки Если НЕ ЗначениеЗаполнено(Выборка.ХранимыйФайл) Тогда Возврат Новый Картинка(ПолучитьМакет("НетКартинки")); Иначе ДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(Выборка.ХранимыйФайл, Неопределено); Возврат Новый Картинка(ДанныеФайла); КонецЕсли; Иначе //// Если данные отсутствуют, получаем стандартное изображение из // дополнительного макета внешнего отчета Возврат Новый Картинка(ПолучитьМакет("НетКартинки")); КонецЕсли; КонецЕсли;
alex-l1904 @ Сегодня, 8:54
, да вы были правы, не стояло. тупанул не про тот модуль сразу полумал. Не теперь в мутабельность сваливаеться(
по причине: Произошла исключительная ситуация (1C:Enterprise 8.3.19.1522): Ошибка при выполнении обработчика - 'ПередЗаписью' Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПередЗаписьюДокумента ().
Если Источник.ОбменДанными.Загрузка Тогда Возврат; КонецЕсли;
Если Отказ Тогда Возврат; КонецЕсли;
Если Источник.ЭтоНовый() Тогда Источник.ДополнительныеСвойства.Вставить("ЭтоНовый", Истина); Возврат; КонецЕсли;
Если ОбщегоНазначения.ЭтоДокумент(Источник.Метаданные()) Тогда Сообщение = ОбсужденияСравнитьОбъектыДокумент(Источник, РежимЗаписи, РежимПроведения); ИначеЕсли ОбщегоНазначения.ЭтоСправочник(Источник.Метаданные()) Тогда Сообщение = ОбсужденияСравнитьОбъектыСправочник(Источник); КонецЕсли;
Если НЕ ПустаяСтрока(Сообщение) Тогда ДобавитьСообщение( Сообщение, Источник.Ссылка, , Истина); КонецЕсли;
Делаю обмен через COM между базами, когда делаю через файловую версию всё ок через сервер вот такое вылазит.Помогите уже не знаю куда смотреть.
Лазил в обсужение ОбсужденияПередЗаписьюДокумента удалил оттуда документ, всеровно ошибка.
Произошла исключительная ситуация (1C:Enterprise 8.3.19.1522): При подписке ОбсужденияПередЗаписьюДокумента на событие ПередЗаписью произошла ошибка. Обработчик события не найден. {Обработка.ОбменСДана.Форма.Форма1.Форма(800)}: ДокументБух = ПоступленияТУБух.СоздатьДокумент(); {Обработка.ОбменСДана.Форма.Форма1.Форма(861)}: ОбменЗаказНаСервере();
по причине: Произошла исключительная ситуация (1C:Enterprise 8.3.19.1522): При подписке ОбсужденияПередЗаписьюДокумента на событие ПередЗаписью произошла ошибка. Обработчик события не найден.
или когда отчет или печать вылазит такая ошибка! и еще такая Cannot read properties of undefined (reading 'prefix'). при открытие любого отчета стояла 8.3.12 всё было ок. Это баги платформы или?
Vofka @ Сегодня, 15:05
, делать Автоинкремент и пробывать запросами через саму sql делать? ну уже тоже так решил, ибо через 1С я так понял это ника как не решить
burza @ Сегодня, 18:55
, что-то такое SELECT * FROM dbo.Table_1 ORDER BY Id OFFSET 1 ROWS FETCH NEXT 10 ROWS ONLY
как запросом через 1С получить данные и разобрать?)
Vofka @ 12.02.24, 13:54
, забыл упомянуть что лежит на sql. то есть АВТОНОМЕРЗАПИСИ() не работает через внешние источники. как быть? внутри да всё ок работает как вы подсказали.
После закрытия документа нужно делать рассылку по электронной почте программно, сформировать документ расходной в екселе. Написал общий модуль туда все запихнул. Ну а вот дальше беда, на форме после закрытие на срабатывает ибо я делаю печатную форму накладной. работает только когда документ полностью закрыт. Как передать документ уже после всего закрытого на общий модуль?
Пар = Новый ТаблицаЗначений; Пар.Колонки.Добавить("Идентификатор"); Пар.Колонки.Добавить("МенеджерПечати"); Пар.Колонки.Добавить("УникальныйИдентификатор"); Пар.Колонки.Добавить("ДополнительныеПараметры"); НоваяСтрока = Пар.Добавить(); НоваяСтрока.Идентификатор = "Накладная"; НоваяСтрока.МенеджерПечати = "Документ.РасходнаяНакладная"; НоваяСтрока.УникальныйИдентификатор = "07691C8060031E8CDD5BDFEA5C8E31D8"; НоваяСтрока.ДополнительныеПараметры = Новый Структура; НоваяСтрока.ДополнительныеПараметры.Вставить("ДополнитьКомплектВнешнимиПечатнымиФормами", ложь); Для каждого Стр Из Пар Цикл КомандыПечати = Новый Массив(); КомандыПечати.Добавить(Стр); КонецЦикла;
СписокОбъектов = Новый Массив(); СписокОбъектов.Добавить(Док);
МассивXLS = Новый Массив(); МассивXLS.Добавить("XLSX"); НастройкиСохранения = Новый Структура; НастройкиСохранения.Вставить("ФорматыСохранения", МассивXLS); НастройкиСохранения.Вставить("ПодписьИПечать", ложь); НастройкиСохранения.Вставить("ПереводитьИменаФайловВТранслит", ложь); НастройкиСохранения.Вставить("УпаковатьВАрхив", ложь);
подскажите как выгрузить большой объём данных постранично в json . В каждую страницу по 10 000. как через page передавать типо первая страница 10 000. вторая начиная с 10 001 по 20 000 и т.д
ПараметрыИзЗапроса = Новый Структура; ПараметрыИзЗапроса.Вставить("token", Запрос["ПараметрыURL"].Получить("token")); //ПараметрыИзЗапроса.Вставить("page", Запрос["ПараметрыURL"].Получить("page"));
Если ПараметрыИзЗапроса.token = "fxGXX13iRkE5y0f0NvQAz9mjrAFtF4sRT9QRqZXhifgypLGAF" тогда
////Прайс ////////////////////////////////// Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | dbo_Table_1.Артикул КАК Артикул, | dbo_Table_1.Производитель КАК Производитель, | dbo_Table_1.Наименование КАК Наименование, | dbo_Table_1.Валюта КАК Валюта, | dbo_Table_1.Поставщик КАК Поставщик, | dbo_Table_1.Цена КАК Цена, | dbo_Table_1.Наличие |ИЗ | ВнешнийИсточникДанных.Price.Таблица.dbo_Table_1 КАК dbo_Table_1 | |СГРУППИРОВАТЬ ПО | dbo_Table_1.Артикул, | dbo_Table_1.Цена, | dbo_Table_1.Наименование, | dbo_Table_1.Производитель, | dbo_Table_1.Наличие, | dbo_Table_1.Валюта, | dbo_Table_1.Поставщик";
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!