Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
07 июн 2025, 11:02

как выбрать валюты?

Автор sali, 29 мая 2025, 11:13

0 Пользователей и 1 гость просматривают эту тему.

Максим75

Цитата: sali от 29 мая 2025, 11:51Максим75, но тут счета (ВСЕ 3)  не выбираются в документе , ВЫБИРАЕТСЯ ТОЛЬКО ОДИН банковский счет - основной.
я лишь просто спрашиваю как выбрать 3 определенных счета из банковских счетов организации?
определенных - это как? какой принцип определения? может сделать реквизит какой (или как предлагают регистр сведений) где и указать, что именно этот счет определенный, а остальные просто так в справочнике болтаются.

если надо просто методом тыка выбрать по одному счету по определенной валюты, то через выбрать первые 1 по каждой валюте выберите, потом через объединение соберите в одну выборку.

sali

Цитата: Максим75 от 29 мая 2025, 11:55определенных - это как? какой принцип определения? может сделать реквизит какой (или как предлагают регистр сведений) где и указать, что именно этот счет определенный, а остальные просто так в справочнике болтаются.
да твою ж .... вы издеваетесь что ли? я вроде сказал что "определенные" или "нужные" это банковские счета организации для оплаты . 3 счета потому что организация может принять оплату в этих трёх счетах

sali

ладно, окей забыли
подскажите почему эта проверка не работает и на цикле пока выборкадетальныезаписи.следующий() цикл отладка не падает в условие , а идет на конец цикла
МассивОбластейМакета.Добавить("Подвал");
МассивОбластейМакета.Добавить("СотрудникиИПодписи");
Для Каждого ИмяОбласти Из МассивОбластейМакета Цикл
ОбластьМакета = Макет.ПолучитьОбласть(ИмяОбласти);
Если ИмяОбласти = "СотрудникиИПодписи" Тогда       
Картинки =  ПрисоединенныеФайлыФизЛица(Шапка);
ОбластьМакета.Рисунки.D3.Картинка = ?(Картинки = Null ИЛИ Картинки = Справочники.ФизическиеЛицаПрисоединенныеФайлы.ПустаяСсылка(), Новый Картинка(), Новый Картинка(Картинки[0].Получить()));
ОбластьМакета.Рисунки.D2.Картинка = ?(Картинки = Null ИЛИ Картинки = Справочники.ФизическиеЛицаПрисоединенныеФайлы.ПустаяСсылка(), Новый Картинка(), Новый Картинка(Картинки[1].Получить())); 
конецесли;

Если СтрЧислоВхождений(ИмяОбласти, "Строка") > 0 Тогда
Функция ПрисоединенныеФайлыФизЛица(Шапка) 

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

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();   

МассивВыбора = Новый Массив;         
//Если ВыборкаДетальныеЗаписи.ДвоичныеДанныеФайла = null Тогда

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл                       
Если ВыборкаДетальныеЗаписи.ДвоичныеДанныеФайла = null Тогда
МассивВыбора.Добавить(Справочники.ФизическиеЛицаПрисоединенныеФайлы.ПустаяСсылка());
Иначе
МассивВыбора.Добавить(ВыборкаДетальныеЗаписи.ДвоичныеДанныеФайла.ДвоичныеДанные);
КонецЕсли;
КонецЦикла;

//Иначе       
// МассивВыбора.Добавить(Справочники.ФизическиеЛицаПрисоединенныеФайлы.ПустаяСсылка());
//Конецесли; 
Возврат МассивВыбора;


КонецФункции

antoneus

Ну очевидно, потому что ФизическиеЛицаПрисоединенныеФайлы.ВладелецФайла не находится в (&ВладелецФайла , &ВладелецФайла2)

sali

antoneus, все работает если присоединенные файлы у физ лица есть
Цитата: antoneus от 29 мая 2025, 12:33потому что ФизическиеЛицаПрисоединенныеФайлы.ВладелецФайла не находится в (&ВладелецФайла , &ВладелецФайла2)
так понимаю что он не находит это , получает null. и как исправить?

antoneus

Под исправлением что имеется в виду?

sali

antoneus, исправление.
что в запросе не правильно?

antoneus

В запросе все правильно - ведь
Цитата: sali от 29 мая 2025, 12:43все работает если присоединенные файлы у физ лица есть

Под исправлением, как я понимаю, имеется в виду изменение поведения программы, если у физ лица присоединенных файлов нет?

sali

antoneus, именно. вот я привел выше код с условиями проверки они не работают вываливается в ошибку, либо пишет Индекс выходит за границы
вот что на что я должен исправить , дабы заработало это?

sali

вот я изменил и оно работает, но не совсем корректно . я добавил только второму присоединенный файл , у первого пусто. результат выходит что у двух сотрудников в ПФ пустое поле для подписи
Функция ПрисоединенныеФайлыФизЛица(Шапка)     
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛицаПрисоединенныеФайлы.Ссылка КАК Ссылка,
| ДвоичныеДанныеФайлов.ДвоичныеДанныеФайла КАК ДвоичныеДанныеФайла
|ИЗ
| Справочник.ФизическиеЛицаПрисоединенныеФайлы КАК ФизическиеЛицаПрисоединенныеФайлы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.УдалитьДвоичныеДанныеФайлов КАК ДвоичныеДанныеФайлов
| ПО ФизическиеЛицаПрисоединенныеФайлы.Ссылка = ДвоичныеДанныеФайлов.Файл
|ГДЕ
| ФизическиеЛицаПрисоединенныеФайлы.ВладелецФайла в( &ВладелецФайла , &ВладелецФайла2)
|
|УПОРЯДОЧИТЬ ПО
| ФизическиеЛицаПрисоединенныеФайлы.ДатаСоздания УБЫВ";

Запрос.УстановитьПараметр("ВладелецФайла", Шапка.ПодписьБухгалтера);
Запрос.УстановитьПараметр("ВладелецФайла2", Шапка.ПодписьМенеджера);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
МассивВыбора = новый массив;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

Если  ВыборкаДетальныеЗаписи.ДвоичныеДанныеФайла = null Тогда

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ФизическиеЛицаПрисоединенныеФайлы.Ссылка КАК Ссылка,
| ДвоичныеДанныеФайлов.ХранилищеДвоичныхДанных КАК ДвоичныеДанныеФайла
|ИЗ
| Справочник.ФизическиеЛицаПрисоединенныеФайлы КАК ФизическиеЛицаПрисоединенныеФайлы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ХранилищеФайлов КАК ДвоичныеДанныеФайлов
| ПО ФизическиеЛицаПрисоединенныеФайлы.Ссылка = ДвоичныеДанныеФайлов.Файл
|ГДЕ
| ФизическиеЛицаПрисоединенныеФайлы.ВладелецФайла в( &ВладелецФайла , &ВладелецФайла2)
|
|УПОРЯДОЧИТЬ ПО
| ФизическиеЛицаПрисоединенныеФайлы.ДатаСоздания УБЫВ";

Запрос.УстановитьПараметр("ВладелецФайла", Шапка.ПодписьБухгалтера);
Запрос.УстановитьПараметр("ВладелецФайла2", Шапка.ПодписьМенеджера);

РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
МассивВыбора = новый массив;

Пока ВыборкаДетальныеЗаписи.Следующий() Цикл     
МассивВыбора.Добавить(ВыборкаДетальныеЗаписи.ДвоичныеДанныеФайла.ДвоичныеДанные);
КонецЦикла;
Иначе
МассивВыбора.Добавить(ВыборкаДетальныеЗаписи.ДвоичныеДанныеФайла);

КонецЕсли;
КонецЦикла;
Возврат МассивВыбора;

КонецФункции


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск