Заказы на доработку 1С (сервис удаленной работы)

Хранилище

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

Здравствуйте, гость ( Войти | Зарегистрироваться )



13 страниц V   1 2 3 > » 

>  В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу
burza
Отправлено: 03.09.24, 8:53


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Vofka @ Сегодня, 8:48 * ,
{ОбщаяФорма.ПраваДоступаУпрощенно.Форма(1194)}: В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу
Это происходит когда стаю на поле где уже есть булево. ну и при самом открытии формы.


burza @ Сегодня, 9:46 * ,
И только на серверной версии
оно не появляетьсяка ошибка а как сообшить
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179190 · Ответов: 8 · Просмотров: 4327
 

>  В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу
burza
Отправлено: 02.09.24, 15:28


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Vofka @ Сегодня, 11:41 * ,
на файловой базе все ок на sql беда

&НаКлиентеНаСервереБезКонтекста
Процедура ПриИзмененииТекущегоПрофиля(Знач Форма, Знач ОбработкаНаКлиенте = Истина)
    
    Элементы    = Форма.Элементы;
    Профили     = Форма.Профили;
    ВидыДоступа = Форма.ВидыДоступа;
    
    Если ОбработкаНаКлиенте Тогда
        ТекущиеДанные = Элементы.Профили.ТекущиеДанные;
    Иначе
        ТекущиеДанные = Профили.НайтиПоИдентификатору(
            ?(Элементы.Профили.ТекущаяСтрока = Неопределено, -1, Элементы.Профили.ТекущаяСтрока));
    КонецЕсли;
    
    Форма.ТекущийПрофиль = Неопределено;
    РедактированиеТекущихОграничений = Ложь;
    
    Если ТекущиеДанные <> Неопределено Тогда
        Форма.ТекущийПрофиль = ТекущиеДанные.Профиль;
        РедактированиеТекущихОграничений = ТекущиеДанные.Пометка
                                           И Форма.ТекущийПрофиль <> Форма.ПрофильАдминистратор
                                           И НЕ Форма.ТолькоПросмотр;
    КонецЕсли;
    
    // УНФ
    Если ТекущиеДанные <> Неопределено Тогда
        ИмяТекущегоПрофиля = ИмяТекущегоПрофиля(ТекущиеДанные.Профиль);
        Если ИмяТекущегоПрофиля = "Продажи" ИЛИ ИмяТекущегоПрофиля = "Продажі" Тогда
            Элементы.РазрешитьРедактированиеЦенВДокументах.Видимость = Истина;
            Элементы.РазрешитьРедактированиеНоменклатуры.Видимость      = Истина;
            Элементы.РазрешитьВидимостьРасходовНаИсточникиПривлечения.Видимость = Истина;
        Иначе
            Элементы.РазрешитьРедактированиеЦенВДокументах.Видимость = Ложь;
            Элементы.РазрешитьРедактированиеНоменклатуры.Видимость      = Ложь;
            Элементы.РазрешитьВидимостьРасходовНаИсточникиПривлечения.Видимость = Ложь;
        КонецЕсли;
        Если ИмяТекущегоПрофиля = "Деньги" ИЛИ ИмяТекущегоПрофиля = "Гроші" Тогда
            Элементы.НастройкаДополнительныхПравДеньги.Видимость = Истина;
            Элементы.ГруппаРазделенныеПраваДеньги.Видимость      = Истина;
        Иначе
            Элементы.НастройкаДополнительныхПравДеньги.Видимость = Ложь;
            Элементы.ГруппаРазделенныеПраваДеньги.Видимость      = Ложь;
        КонецЕсли;
        Элементы.РазрешитьРедактированиеЦенВДокументах.Доступность = ТекущиеДанные.Пометка;
        Элементы.РазрешитьРедактированиеНоменклатуры.Доступность   = ТекущиеДанные.Пометка;
        Элементы.РазрешитьВидимостьРасходовНаИсточникиПривлечения.Доступность   = ТекущиеДанные.Пометка;
        
        ПоказатьВидыДоступа = НастройкаВидовДоступаДоступнаДляПрофиля(ВидыДоступа, ТекущиеДанные.Профиль);
        
        Элементы.ДекорацияРазделитель.Видимость = ПоказатьВидыДоступа;
        Элементы.Доступ.Видимость = ПоказатьВидыДоступа;
    КонецЕсли;
    // Конец УНФ
    
    Элементы.НадписьПрофиль.Доступность                      =    ТекущиеДанные <> Неопределено И ТекущиеДанные.Пометка;
    Элементы.ВидыДоступа.ТолькоПросмотр                      = НЕ РедактированиеТекущихОграничений;
    Элементы.ЗначенияДоступа.ТолькоПросмотр                  = НЕ РедактированиеТекущихОграничений;
    Элементы.ВидыДоступаИзменить.Доступность                 =    РедактированиеТекущихОграничений;
    Элементы.ВидыДоступаКонтекстноеМенюИзменить.Доступность  =    РедактированиеТекущихОграничений;
    
    Если Форма.ТекущийПрофиль = Неопределено Тогда
        Форма.ТекущаяГруппаДоступа = "";
    Иначе
        Форма.ТекущаяГруппаДоступа = Форма.ТекущийПрофиль;
    КонецЕсли;
    
    Если Элементы.ВидыДоступа.ОтборСтрок = Неопределено
     ИЛИ Элементы.ВидыДоступа.ОтборСтрок.ГруппаДоступа <> Форма.ТекущаяГруппаДоступа Тогда
        
        Элементы.ВидыДоступа.ОтборСтрок = Новый ФиксированнаяСтруктура("ГруппаДоступа", Форма.ТекущаяГруппаДоступа);
        ТекущиеВидыДоступа = ВидыДоступа.НайтиСтроки(Новый Структура("ГруппаДоступа", Форма.ТекущаяГруппаДоступа));
        Если ТекущиеВидыДоступа.Количество() = 0 Тогда
            Элементы.ЗначенияДоступа.ОтборСтрок = Новый ФиксированнаяСтруктура("ГруппаДоступа, ВидДоступа", Форма.ТекущаяГруппаДоступа, "");
            УправлениеДоступомСлужебныйКлиентСервер.ПриИзмененииТекущегоВидаДоступа(Форма, ОбработкаНаКлиенте);
        Иначе
            Элементы.ВидыДоступа.ТекущаяСтрока = ТекущиеВидыДоступа[0].ПолучитьИдентификатор();
        КонецЕсли;
    КонецЕсли;
    
КонецПроцедуры

  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179188 · Ответов: 8 · Просмотров: 4327
 

>  В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу
burza
Отправлено: 02.09.24, 8:46


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


burza @ 25.08.24, 15:00 * ,
не будет подсказки как от этого избавиться?)
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179183 · Ответов: 8 · Просмотров: 4327
 

>  В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу
burza
Отправлено: 25.08.24, 14:00


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Цитата(Vladal @ 25.08.24, 9:31) *
и наверно на файловой базе такого не было? у разработчика ведь файловая конфигурация, а после переноса на рабочую "всё словалось"?

да на файловой все ок.
конфигурация не на поддержке. модули не дорабатывались.

burza @ Сегодня, 14:29 * ,
про демоническое не скажу вроде было все ок. там процедура &НаКлиентеНаСервереБезКонтекста


burza @ Сегодня, 14:36 * ,
Обновляли через сравнение. может загрузить конфигурации поможет иди это тут не причем?

burza @ Сегодня, 14:45 * ,
Это все происходит в спрвочнике пользователи где выставляться роли. роли работают все ок но вот постоянное сообщение когда становишься на роль которая уже отмечена.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179150 · Ответов: 8 · Просмотров: 4327
 

>  В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу
burza
Отправлено: 24.08.24, 8:59


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Добрый день! Странные вещи на происходят. Что это может значить. Ничего по той форме не делалось. Только в Группе доступа добавилась роль новая.Это УНФ
{ОбщаяФорма.ПраваДоступаУпрощенно.Форма(1194)}: В обработчике ПрофилиПриАктивизацииСтроки изменяется свойство элемента, которое требует обращения к серверу


burza @ Сегодня, 9:47 * ,
Это справочник Пользователи. sql версия
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179144 · Ответов: 8 · Просмотров: 4327
 

>  Изменить реквизиты формы программно
burza
Отправлено: 21.08.24, 8:29


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


как реализовать программно смену местами реквизиты на форме подскажите)
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179126 · Ответов: 8 · Просмотров: 2076
 

>  Изменить реквизиты формы программно
burza
Отправлено: 20.08.24, 20:17


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


burza @ Сегодня, 17:57 * ,
в Динамическом списке есть все поля, вся таблица добавлена на форму. а вот когда включаешь список поля стоят не все. где они выставляються не могу понять в УНФ.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179125 · Ответов: 8 · Просмотров: 2076
 

>  Изменить реквизиты формы программно
burza
Отправлено: 20.08.24, 16:57


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


AnryMc @ Сегодня, 17:52 * ,
ага только Пупкинов 50 человек
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179124 · Ответов: 8 · Просмотров: 2076
 

>  Изменить реквизиты формы программно
burza
Отправлено: 20.08.24, 16:22


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Slon747 @ Сегодня, 17:13 * ,
да то неудачный скриншот. нету кавычек.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179121 · Ответов: 8 · Просмотров: 2076
 

>  Изменить реквизиты формы программно
burza
Отправлено: 20.08.24, 15:43


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Конечно банальщина но я уже мозг сломал, помогите) нужно программно для определённого пользователя сделать видимость описания товара на форме списка и перенести местами реквизиты, пример для всех артикул на 7-м месте а для Пупкина на первом
через
Элементы.Комментарий.Видимость  = "истина"
не работает
Это Номенклатура на УНФ
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #179119 · Ответов: 8 · Просмотров: 2076
 

>  Печать комплекта документов
burza
Отправлено: 23.06.24, 16:45


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Есть УНФ, делаю печать комплекта документов по маршрутному листу а именно накладные. Накладные печатает вразброс, а нужно как-то поочерёдно, так как в документе. Не могу понять где задать сортировку при формировании всех печатных форм. Может кто сталкивался.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178967 · Ответов: 1 · Просмотров: 7595
 

>  Загрузка EXEL c сервера через COM
burza
Отправлено: 21.03.24, 12:35


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Slon747 @ Сегодня, 11:58 * ,
он стоит как администратор. то думаю да.

burza @ Сегодня, 12:16 * ,
https://forum.infostart.ru/forum9/topic132619/

Спасибо кто на мысль натолкнул)
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178628 · Ответов: 12 · Просмотров: 1905
 

>  Загрузка EXEL c сервера через COM
burza
Отправлено: 21.03.24, 11:52


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Slon747 @ Сегодня, 11:46 * ,
на сервере,там где скул и 1С.учетка кластера админ
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178626 · Ответов: 12 · Просмотров: 1905
 

>  Загрузка EXEL c сервера через COM
burza
Отправлено: 21.03.24, 11:43


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Slon747 @ Сегодня, 11:41 * ,
туплю, вы правы! Приложению Microsoft Excel не удается получить доступ к файлу. куда копать?
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178624 · Ответов: 12 · Просмотров: 1905
 

>  Загрузка EXEL c сервера через COM
burza
Отправлено: 21.03.24, 11:19


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Slon747 @ Сегодня, 11:17 * ,
код в общем модуле лежит, по регламенту нужно делать
Функция Bastion() Экспорт
    
    Таб = Новый ТаблицаЗначений;
    Таб.Колонки.Добавить("Наименование");
    Таб.Колонки.Добавить("Производитель");
    Таб.Колонки.Добавить("Артикул");
    Таб.Колонки.Добавить("Цена");
    Таб.Колонки.Добавить("НаличиеОдесса");
    Таб.Колонки.Добавить("Наличиефилиалы");
    Таб.Колонки.Добавить("Спецпредложение");
    Таб.Колонки.Добавить("Полтава");
    Таб.Колонки.Добавить("Черкассы");
    Таб.Колонки.Добавить("Днепр");
    Таб.Колонки.Добавить("Львов");
    Таб.Колонки.Добавить("ИваноФранковс");
    Таб.Колонки.Добавить("Харьков");
    Таб.Колонки.Добавить("Винница");
    Таб.Колонки.Добавить("Тернополь");
    Таб.Колонки.Добавить("Николаев");
    Таб.Колонки.Добавить("Херсон");
    Таб.Колонки.Добавить("Кропивницкий");
    Таб.Колонки.Добавить("Запорожье");
    Таб.Колонки.Добавить("Киев");
    Таб.Колонки.Добавить("Черновцы");
    
    
         файл = "D:\1C\Mail\bas\bastion.csv";
        
        Попытка    
        Excel = Новый COMОбъект("Excel.Application");
        WB   =  Excel.Workbooks.Open(файл);
        WS = WB.Worksheets(1);
        arr = WS.UsedRange.Value;
        WB.Close(0);        
        Исключение    
        КонецПопытки;
        
        
        МассивКолонок = arr.Выгрузить();
        ВсегоСтрок = (МассивКолонок.Получить(0).Количество()) - 1;
    

          Для СтрокаТП = 59 По ВсегоСтрок Цикл        
        Стр = Таб.Добавить();        
        Стр.Наименование = СокрЛП(МассивКолонок.Получить(0).Получить(СтрокаТП));
        Стр.Производитель = СокрЛП(МассивКолонок.Получить(1).Получить(СтрокаТП));
        Стр.Артикул = СокрЛП(МассивКолонок.Получить(3).Получить(СтрокаТП));
        Стр.Цена = СокрЛП(МассивКолонок.Получить(5).Получить(СтрокаТП));
        Стр.НаличиеОдесса = СокрЛП(МассивКолонок.Получить(6).Получить(СтрокаТП));
        Стр.Наличиефилиалы = СокрЛП(МассивКолонок.Получить(7).Получить(СтрокаТП));
        Стр.Спецпредложение = СокрЛП(МассивКолонок.Получить(8).Получить(СтрокаТП));
        Стр.Полтава = СокрЛП(МассивКолонок.Получить(9).Получить(СтрокаТП));
        Стр.Черкассы = СокрЛП(МассивКолонок.Получить(10).Получить(СтрокаТП));
        Стр.Днепр = СокрЛП(МассивКолонок.Получить(11).Получить(СтрокаТП));
        Стр.Львов = СокрЛП(МассивКолонок.Получить(12).Получить(СтрокаТП));
        Стр.ИваноФранковс = СокрЛП(МассивКолонок.Получить(13).Получить(СтрокаТП));
        Стр.Харьков = СокрЛП(МассивКолонок.Получить(14).Получить(СтрокаТП));
        Стр.Винница = СокрЛП(МассивКолонок.Получить(15).Получить(СтрокаТП));
        Стр.Тернополь = СокрЛП(МассивКолонок.Получить(16).Получить(СтрокаТП));
        Стр.Николаев = СокрЛП(МассивКолонок.Получить(17).Получить(СтрокаТП));
        Стр.Херсон = СокрЛП(МассивКолонок.Получить(18).Получить(СтрокаТП));
        Стр.Кропивницкий = СокрЛП(МассивКолонок.Получить(19).Получить(СтрокаТП));
        Стр.Запорожье = СокрЛП(МассивКолонок.Получить(20).Получить(СтрокаТП));
        Стр.Киев = СокрЛП(МассивКолонок.Получить(21).Получить(СтрокаТП));
        Стр.Черновцы = СокрЛП(МассивКолонок.Получить(22).Получить(СтрокаТП));                
        КонецЦикла;
КонецФункции
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178622 · Ответов: 12 · Просмотров: 1905
 

>  Загрузка EXEL c сервера через COM
burza
Отправлено: 21.03.24, 11:10


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Slon747 @ Сегодня, 10:49 * ,
Значение не является значением объектного типа (Выгрузить)

burza @ Сегодня, 10:53 * ,
Обычный старый код чтения xls ))
     файл = "D:\1C\Mail\bas\123.csv";
        
        Попытка    
        Excel = Новый COMОбъект("Excel.Application");
        WB   =  Excel.Workbooks.Open(файл);
        WS = WB.Worksheets(1);
        arr = WS.UsedRange.Value;
        WB.Close(0);        
        Исключение    
        КонецПопытки;
        
        
        МассивКолонок = arr.Выгрузить();
        ВсегоСтрок = (МассивКолонок.Получить(0).Количество()) - 1;
    

          Для СтрокаТП = 59 По ВсегоСтрок Цикл        
        Стр = Таб.Добавить();        
        Стр.Наименование = СокрЛП(МассивКолонок.Получить(0).Получить(СтрокаТП));
        Стр.Производитель = СокрЛП(МассивКолонок.Получить(1).Получить(СтрокаТП));
        Стр.Артикул = СокрЛП(МассивКолонок.Получить(3).Получить(СтрокаТП));
        Стр.Цена = СокрЛП(МассивКолонок.Получить(5).Получить(СтрокаТП));
        Стр.НаличиеОдесса = СокрЛП(МассивКолонок.Получить(6).Получить(СтрокаТП));
        Стр.Наличиефилиалы = СокрЛП(МассивКолонок.Получить(7).Получить(СтрокаТП));
        Стр.Спецпредложение = СокрЛП(МассивКолонок.Получить(8).Получить(СтрокаТП));
        Стр.Полтава = СокрЛП(МассивКолонок.Получить(9).Получить(СтрокаТП));
        Стр.Черкассы = СокрЛП(МассивКолонок.Получить(10).Получить(СтрокаТП));
        Стр.Днепр = СокрЛП(МассивКолонок.Получить(11).Получить(СтрокаТП));
        Стр.Львов = СокрЛП(МассивКолонок.Получить(12).Получить(СтрокаТП));
        Стр.ИваноФранковс = СокрЛП(МассивКолонок.Получить(13).Получить(СтрокаТП));
        Стр.Харьков = СокрЛП(МассивКолонок.Получить(14).Получить(СтрокаТП));
        Стр.Винница = СокрЛП(МассивКолонок.Получить(15).Получить(СтрокаТП));
        Стр.Тернополь = СокрЛП(МассивКолонок.Получить(16).Получить(СтрокаТП));
        Стр.Николаев = СокрЛП(МассивКолонок.Получить(17).Получить(СтрокаТП));
        Стр.Херсон = СокрЛП(МассивКолонок.Получить(18).Получить(СтрокаТП));
        Стр.Кропивницкий = СокрЛП(МассивКолонок.Получить(19).Получить(СтрокаТП));
        Стр.Запорожье = СокрЛП(МассивКолонок.Получить(20).Получить(СтрокаТП));
        Стр.Киев = СокрЛП(МассивКолонок.Получить(21).Получить(СтрокаТП));
        Стр.Черновцы = СокрЛП(МассивКолонок.Получить(22).Получить(СтрокаТП));                
        КонецЦикла;
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178620 · Ответов: 12 · Просмотров: 1905
 

>  Загрузка EXEL c сервера через COM
burza
Отправлено: 21.03.24, 10:43


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


На клиенте данные загружает, когда процедуру переношу на сервер, ругается на МассивКолонок = arr.Выгрузить(); именно Выгрузить, что нужно сделать?)

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

        
Попытка    
        Excel = Новый COMОбъект("Excel.Application");
        WB   =  Excel.Workbooks.Open(файл);
        WS = WB.Worksheets(1);
        arr = WS.UsedRange.Value;
        WB.Close(0);
        
        Исключение    
        КонецПопытки;
        
        МассивКолонок = arr.Выгрузить();
        ВсегоСтрок = (МассивКолонок.Получить(0).Количество()) - 1;
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178618 · Ответов: 12 · Просмотров: 1905
 

>  УНФ загрузка внешный данных
burza
Отправлено: 13.03.24, 16:03


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


burza @ Сегодня, 12:39 * ,
сопоставление не происходит
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178571 · Ответов: 2 · Просмотров: 1097
 

>  УНФ загрузка внешный данных
burza
Отправлено: 13.03.24, 12:39


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


в УНФ штатная загрузка внешных данных, делаю загрузку из ексель. В справочники номенклатуры добавил поле КатегорияОбмена- ведет на другой справочник(поле выбора). При загрузке все показывает а когда создаеться номен то поле пустое.Если поле простое строка то все ок, а если там стоит выбор то не как. Вроде по аналогии добавил в модули но ничего. Может кто-то сталкивался.
Это в менеджере Номенклатуры
ЗагрузкаДанныхИзВнешнегоИсточника.ДобавитьПолеОписанияЗагрузки(ТаблицаПолейЗагрузки, "КатегорияОбмена", "КатегорияОбмена", ОписаниеТиповСтрока25,ОписаниеТиповКолонка,"Номенклатура",2,,Истина);

 ЗагрузкаДанныхИзВнешнегоИсточникаПереопределяемый.СопоставитьНоменклатуруКатегорияОбмена(СтрокаТаблицыФормы.КатегорияОбмена);


Это в общем
Процедура СопоставитьНоменклатуруКатегорияОбмена(КатегорияОбмена) Экспорт
     ЗначениеБылоСопоставлено = Ложь;
    
    Если НЕ ЗначениеБылоСопоставлено И ЗначениеЗаполнено(КатегорияОбмена) Тогда
        
        СправочникСсылка = Справочники.КатегорияОбмена.НайтиПоНаименованию(КатегорияОбмена);
        Если НЕ СправочникСсылка.Пустая() Тогда
            
            
            ЗначениеБылоСопоставлено = Истина;
            Номенклатура = СправочникСсылка.Наименование;
            
        КонецЕсли;
        
    КонецЕсли;
        
КонецПроцедуры


Отладка туда не пускает,ничего не происходит(
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178570 · Ответов: 2 · Просмотров: 1097
 

>  Фото в отчете номенклатуры
burza
Отправлено: 08.03.24, 12:17


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


burza @ Сегодня, 10:10 * ,
Никто не знает?))
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178556 · Ответов: 2 · Просмотров: 1411
 

>  Фото в отчете номенклатуры
burza
Отправлено: 08.03.24, 10:10


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Здравствуйте. Задача стоит вывести всю номен с ее фото в отчет. У меня ошибка где-то . Когда вывожу один товар всё ок, а когда все то картинка растягиваеться на всю номен а не отдельно на каждую строку.Что не так подскажите?

Запрос
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Ссылка,
    Номенклатура.ФайлКартинки КАК ФайлКартинки
ИЗ
    Справочник.Номенклатура КАК Номенклатура
ГДЕ
    Номенклатура.КатегорияНоменклатуры.Родитель.Наименование = &Наименование

И сам модуль
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь; // отключаем стандартный вывод отчета - будем выводить программно         
    Настройки = КомпоновщикНастроек.Настройки;// Получаем настройки отчета  
    
    //ketr
    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
    
    ПараметрПериод = НастройкиОтчета.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаОстатка"));
    Если ПараметрПериод <> Неопределено
        И ПараметрПериод.Использование
        И ЗначениеЗаполнено(ПараметрПериод.Значение) Тогда
        
        ПараметрПериод.Значение = КонецДня(ПараметрПериод.Значение);
    КонецЕсли;

     ПараметрыОтчета = ПодготовитьПараметрыОтчета(НастройкиОтчета);

    //ketr
    
    
    // Устанавливаем настройки отбора в соответствии с пользовательскими настройками
    ТаблицаОтборов = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы;
    Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл        
        НайденнаяПользовательскаяНастройка =
            ТаблицаОтборов.Найти(ЭлементОтбора.ИдентификаторПользовательскойНастройки);        
        Если НайденнаяПользовательскаяНастройка <> Неопределено Тогда
            ЭлементОтбора.ВидСравнения = НайденнаяПользовательскаяНастройка.ВидСравнения;
            ЭлементОтбора.Использование = НайденнаяПользовательскаяНастройка.Использование;
            ЭлементОтбора.ПравоеЗначение = НайденнаяПользовательскаяНастройка.ПравоеЗначение;
        КонецЕсли;        
    КонецЦикла;
    
    ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; // Создаем данные расшифровки             
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; // Создаем компоновщик макета        
    // Инициализируем макет компоновки используя схему компоновки данных
    // и созданные ранее настройки и данные расшифровки
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
    
    // Скомпонуем результат
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
    
    ДокументРезультат.Очистить();
    
    // Выводим результат в табличный документ
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);    
    //....
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    

    // Заполняем рисунки для полей, в данных расшифровки которых находятся элементы справочника
    // "НоменклатураПрисоединенныеФайлы"
    КоличествоКолонокТаблицы = ДокументРезультат.ШиринаТаблицы; // Количество колонок в отчете
    КоличествоСтрокТаблицы = ДокументРезультат.ВысотаТаблицы;     // Количество строк в отчете
    Рис1 = 0;
    стПерв = 0;
    Номен = "";
    // Обходим все ячейки отчета
    Для Кл = 1 По КоличествоКолонокТаблицы Цикл         
        Для Ст = 1 По КоличествоСтрокТаблицы Цикл              
            ТекОбласть = ДокументРезультат.Область(Ст, Кл);  
            // Если имеется расшифровка ячейки, то проверям наличие полей расшифровки
            Если ТекОбласть.Расшифровка <> Неопределено Тогда
                ПоляРасшифровки = ДанныеРасшифровки.Элементы[ТекОбласть.Расшифровка].ПолучитьПоля();
                Если ПоляРасшифровки.Количество() > 0 Тогда
                    // Если тип значения поля расшифровки соответствует справочнику прикрепленных файлов, то
                    // выводим связанную картинку
                                    
    
                    Рисунок = ПолучитьИзображение(ПоляРасшифровки.Получить(0).Значение);
                    Если Рисунок <> Неопределено  Тогда
                        Если ДокументРезультат.Область(ст, 4, Ст, 4).Текст <> Номен и стПерв <> 0  Тогда
                            ТекОбласть = ДокументРезультат.Область(стПерв, Кл, Ст-1,Кл);
                            Если  Ст - стПерв = 1 Тогда
                                ТекОбласть.ВысотаСтроки = 20.5*9;
                            Иначе
                                ТекОбласть.ВысотаСтроки = 20.5*9/ (Ст - стПерв);
                            КонецЕсли;
                            
                            Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
                            Рис.РазмерКартинки = РазмерКартинки.Пропорционально;
                            Рис.Картинка = Рис1;
                            Рис.Расположить(ТекОбласть);
                            Рис1 = Рисунок;
                            стПерв = ст;                                
                            Номен = ДокументРезультат.Область(ст, 4, Ст, 4).Текст;
                        ИначеЕсли  стПерв = 0 Тогда
                            стПерв = ст;
                            Рис1 = Рисунок;
                            Номен = ДокументРезультат.Область(ст, 4, Ст, 4).Текст;

                        КонецЕсли;
                                            
                    КонецЕсли;
                КонецЕсли;
            КонецЕсли;              
        КонецЦикла;  
        
        Если Рисунок <> Неопределено  Тогда
            ТекОбласть = ДокументРезультат.Область(стПерв, Кл, Ст-1,Кл);
            Если  Ст - стПерв = 1 Тогда
                ТекОбласть.ВысотаСтроки = 20.5*9;
            Иначе
                ТекОбласть.ВысотаСтроки = 20.5*9/ (Ст - стПерв);
            КонецЕсли;
            
            Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
            Рис.РазмерКартинки = РазмерКартинки.Пропорционально;
            Рис.Картинка = Рис1;
            Рис.Расположить(ТекОбласть);
        КонецЕсли;

    КонецЦикла;
            
КонецПроцедуры

Функция ПолучитьИзображение(ПрисоединенныйФайл)
    
    КартинкаПоумолчанию = Неопределено;
    
    Если ТипЗнч(ПрисоединенныйФайл) =
            Тип("СправочникСсылка.НоменклатураПрисоединенныеФайлы") Тогда                
        Запрос = Новый Запрос;
        Запрос.Текст =
        "ВЫБРАТЬ
        |    НоменклатураПрисоединенныеФайлы.Ссылка КАК ХранимыйФайл
        |ИЗ
        |    Справочник.НоменклатураПрисоединенныеФайлы КАК НоменклатураПрисоединенныеФайлы
        |ГДЕ
        |    НоменклатураПрисоединенныеФайлы.Наименование = &ПрисоединенныйФайл";         
        Запрос.УстановитьПараметр("ПрисоединенныйФайл", ПрисоединенныйФайл.Наименование);         
        Результат = Запрос.Выполнить();
        Если НЕ Результат.Пустой() Тогда
            Выборка = Результат.Выбрать();
            Выборка.Следующий(); // Получаем двоичные данные катинки
            Если НЕ ЗначениеЗаполнено(Выборка.ХранимыйФайл) Тогда
                Возврат Новый Картинка(ПолучитьМакет("НетКартинки"));
            Иначе
                ДанныеФайла = РаботаСФайлами.ДвоичныеДанныеФайла(Выборка.ХранимыйФайл, Неопределено);
                Возврат Новый Картинка(ДанныеФайла);
            КонецЕсли;
        Иначе //// Если данные отсутствуют, получаем стандартное изображение из
              // дополнительного макета внешнего отчета
            Возврат Новый Картинка(ПолучитьМакет("НетКартинки"));
        КонецЕсли;
    КонецЕсли;
    
    Возврат КартинкаПоумолчанию;
    
КонецФункции


burza @ Сегодня, 10:01 * ,
сам отчет https://dropmefiles.com.ua/ua/zN8hv52w
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178552 · Ответов: 2 · Просмотров: 1411
 

>  Ошибка COM при обмене
burza
Отправлено: 06.03.24, 17:21


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


alex-l1904 @ Сегодня, 8:54 * ,
да вы были правы, не стояло. тупанул не про тот модуль сразу полумал. Не теперь в мутабельность сваливаеться(

по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.19.1522): Ошибка при выполнении обработчика - 'ПередЗаписью'
Попытка передачи с клиента на сервер мутабельного значения 1-го параметра метода ПередЗаписьюДокумента ().
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178538 · Ответов: 7 · Просмотров: 2045
 

>  Ошибка COM при обмене
burza
Отправлено: 06.03.24, 11:34


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


alex-l1904 @ Сегодня, 11:10 * ,
Коментував цю строку і нічого. Дивно що в файловій версії все ок, нічого не треба роботи.
Процедура ОбсужденияПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
    
    Если Источник.ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    Если Отказ Тогда
        Возврат;
    КонецЕсли;
    
    Если Источник.ЭтоНовый() Тогда
        Источник.ДополнительныеСвойства.Вставить("ЭтоНовый", Истина);
        Возврат;
    КонецЕсли;
    
    Если ОбщегоНазначения.ЭтоДокумент(Источник.Метаданные()) Тогда
        Сообщение = ОбсужденияСравнитьОбъектыДокумент(Источник, РежимЗаписи, РежимПроведения);
    ИначеЕсли ОбщегоНазначения.ЭтоСправочник(Источник.Метаданные()) Тогда
        Сообщение = ОбсужденияСравнитьОбъектыСправочник(Источник);
    КонецЕсли;
    
    Если НЕ ПустаяСтрока(Сообщение) Тогда
        ДобавитьСообщение(
        Сообщение,
        Источник.Ссылка,
        ,
        Истина);
    КонецЕсли;
    
КонецПроцедуры
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178533 · Ответов: 7 · Просмотров: 2045
 

>  Ошибка COM при обмене
burza
Отправлено: 06.03.24, 10:30


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


alex-l1904 @ Сегодня, 8:54 * ,
это не модуль я обработка там все на форме. точно такая же в Бух БАС выгружает все ок.

sava1 @ Сегодня, 9:14 * ,
ничего


ЗАказ покупателя снял. а ошибка осталась.
burza @ Вчера, 17:37 * ,
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178531 · Ответов: 7 · Просмотров: 2045
 

>  Ошибка COM при обмене
burza
Отправлено: 05.03.24, 17:37


Оратор
*****

Группа: Пользователи
Сообщений: 324
Регистрация: 02.08.15
Пользователь №: 45113


Делаю обмен через COM между базами, когда делаю через файловую версию всё ок через сервер вот такое вылазит.Помогите уже не знаю куда смотреть.

Лазил в обсужение ОбсужденияПередЗаписьюДокумента удалил оттуда документ, всеровно ошибка.

Произошла исключительная ситуация (1C:Enterprise 8.3.19.1522): При подписке ОбсужденияПередЗаписьюДокумента на событие ПередЗаписью произошла ошибка. Обработчик события не найден.
{Обработка.ОбменСДана.Форма.Форма1.Форма(800)}: ДокументБух = ПоступленияТУБух.СоздатьДокумент();
{Обработка.ОбменСДана.Форма.Форма1.Форма(861)}: ОбменЗаказНаСервере();

по причине:
Произошла исключительная ситуация (1C:Enterprise 8.3.19.1522): При подписке ОбсужденияПередЗаписьюДокумента на событие ПередЗаписью произошла ошибка. Обработчик события не найден.
  Форум: Программирование в 1С Предприятие 8.3 · Просмотр сообщения: #178528 · Ответов: 7 · Просмотров: 2045
 

13 страниц V   1 2 3 > » 

Новые сообщения  Открытая тема (есть новые ответы)
Опрос  Опрос (есть новые голоса)
Нет новых сообщений  Открытая тема (нет новых ответов)
Нет новых голосов  Опрос (нет новых голосов)
Популярная тема  Горячая тема (есть новые ответы)
Закрыта  Закрытая тема
Нет новых  Горячая тема (нет новых ответов) Перемещена  Тема перемещена
 

RSS Текстовая версия Сейчас: 28.03.25, 11:20
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!