Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 23:04

Отбор в платежке

Автор AlenkaInt, 27 сен 2012, 20:48

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

AlenkaInt

Я стажер-программист. Учусь.

mixqn

за такой код на экзамене в 1С вам поставили бы неуд сразу и отправили бы домой. запрос в цикле - это грубейшая ошибка. не помню, сколько там баллов за это списывается из 5, возможно, все 5 и списываются. в общем экзамен не сдан ))
все что у вас написано циклом и кодом встроенного языка надо делать в запросе.
а по теме наверно не подскажу. надо видеть конфигурацию и наверно лучше вместе с данными.
Добавлено: 29 сен 2012, 01:11


P.S. сразу внимания не обратил вот на это:
ПлатежноеПоручениеИсходящее.СтатьяДвиженияДенежныхСредств.Наименование = ""Таможенные услуги"""
сильно конечно )
волей неволей возникает тот же вопрос
Цитата: Dethmontt от 28 сен 2012, 21:18
Простите. Вы программист?
только поймите правильно, без обид: вам реально надо получиться. форум поможет конечно, но все же лучше пойти на какие-то курсы или почитать литературу, а то, боюсь, тяжко придется....

Slin

Цитата: AlenkaInt от 28 сен 2012, 21:19Я стажер-программист. Учусь.
Это сильно заметно :)
причем, раньше Вы тоже не программировали
skype: slin-dev

AlenkaInt

Насчет запроса в цикле я согласна. Но как иначе сделать пока не соображу.
"все что у вас написано циклом и кодом встроенного языка надо делать в запросе" - это вы имеете в ввиду все сделать одним запросом?
Мне и так сейчас тяжко. Да курсы были, на курсах можно вечно учиться. А на реальных задачах лучше учиться, еще и денежку платят :-)
ПлатежноеПоручениеИсходящее.СтатьяДвиженияДенежныхСредств.Наименование = ""Таможенные услуги""" - а что с этим не так? Я проверяла в консоле, отбирает правильно.

mixqn

Цитата: AlenkaInt от 29 сен 2012, 09:18это вы имеете в ввиду все сделать одним запросом
да, именно так. обещать не буду, но постараюсь чуть позже посмотреть и написать вам запрос на основе того, что вижу в вашем коде.

Цитата: AlenkaInt от 29 сен 2012, 09:18а что с этим не так?
у статьи движения денежных средств должна быть ссылка - отбирайте по ссылке, а не по тексту. ссылку до этого получайте вне запроса, при чем, если элемент не предопределенный, лучше не использовать конструкции НайтиПоНаименованию или НайтиПоКоду, лучше вынести этот параметр в форму, чтобы указывал пользователь (вот там как раз для автозаполнения можно использовать НайтиПоНаименованию, но чтобы была возможность убедиться в том, что найдена нужная статья и исправить если что).

Вообще, старайтесь избегать любых констант в коде типа "Таможенные услуги" и т.п. - такие вещи лучше делать либо предопределенными элементами справочников, либо константами, либо (если не хочется или нельзя вносить изменения в конфигурацию, или просто задача слишком мелкая, чтобы менять конфигурацию) - выносить в форму того, что вы разрабатываете (будь то отчет, документ или еще что) - это нужно во избежание проблем в будущем: что если кто-то зайдет и поменяет название статьи? ваш код работать перестанет. а сделав это через те средства, которые я описал выше вы перестрахуетесь.

AlenkaInt

Я переделала запрос. Действительно, можно было обойтись одним запросом. Насчет таможенных услуг поняла, да все верно спасибо. Но теперь у меня другая трудность.
Добавлено: 29 сен 2012, 11:37


Надо из запроса поместить результат в табличную часть обработки.
Добавлено: 29 сен 2012, 12:26


В форме обработки создала реквизит ТабличноеПоле с типом ТаблицаЗначений. В модуле, после запроса такой у меня код -
Результат = Запрос.Выполнить();
ТабличноеПоле = Результат.Выгрузить();
Но почему то в поле пусто..

mixqn

ну это совсем просто: обходите в цикле результаты запроса и добавляйте строки в таб часть. или еще проще: сделайте в запросе колонки с такими же именами как в таб части и потом загрузите результат запроса так примерно:
ВашаТабЧасть.Загрузить(Запрос.Выполнить.Выгрузить());

Dethmontt

Для обычного приложения:
Результат = Запрос.Выполнить();
ТабличноеПоле = Результат.Выгрузить();
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Dethmontt

О_о. Код стал похож на 1С-овский  :zebzdr:
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

mixqn

Цитата: Dethmontt от 29 сен 2012, 15:51
О_о. Код стал похож на 1С-овский  :zebzdr:
да, все верно ))
сейчас опубликую основные доработки по форуму за вчера и сегодня в основной теме обсуждения https://forum-baza.ru/index.php?topic=15907 :)

Теги:

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

Рейтинг@Mail.ru

Поиск