Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: 1С для программиста

  Все выпуски  

RusFAQ.ru: 1С для программиста


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / 1С для программиста

Выпуск № 668
от 05.12.2007, 15:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 399, Экспертов: 52
В номере:Вопросов: 3, Ответов: 10


Вопрос № 111574: Добрый день, эксперты. Мучает вопрос, в 7.7 бух можно в запросе выдать данные только по группе справочника? Группировка делается или с группами или без групп, а одни группы не нашел? Спасибо за ответ....
Вопрос № 111680: Здравствуйте эксперты. Нужна помощь. 1С- 7.7 Есть документ – Заказ, у документа отсутствует табличная часть (за ненадобностью) В шапке документа есть три реквизита: СуммаЗаказа, СуммаОплаты и Долг. Подскажите, как сделать, чтоб реквиз...
Вопрос № 111729: Как привести Тип ПланаВида Характеристики в табличной части документа. Есть табличная часть документа Услуги в которой есть реквизиты Счет,Субконто1,Субконто2,Субконто3. В реквизит счет встраиваем процедуру при изменении. Субконто1,2,...

Вопрос № 111.574
Добрый день, эксперты.
Мучает вопрос, в 7.7 бух можно в запросе выдать данные только по группе справочника? Группировка делается или с группами или без групп, а одни группы не нашел?
Спасибо за ответ.
Отправлен: 29.11.2007, 15:29
Вопрос задал: Koryiakin (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 8)

Отвечает: Strawberry
Здравствуйте, Koryiakin!
Чисто группы нет. чисто группы это по условию Этогруппа()=1 или в условии запроса или при обработке данных запроса.
---------
Мальчик-извращенец прочел деду Морозу с табуретки всего Пастернака!
Ответ отправил: Strawberry (статус: 9-ый класс)
Ответ отправлен: 29.11.2007, 15:46
Оценка за ответ: 5
Комментарий оценки:
Интересная идея с условием в запросе , т.к. сразу отсекаешь элементы внутри группы - должно рабоатать быстрей!

Отвечает: Besker®
Здравствуйте, Koryiakin!

Попробуйте так, выдаст данные только по группам, элементы игнорируются.

Пока Запрос.Группировка(1) = 1 Цикл
Если Запрос.ЭтоГруппа(1)=1 Тогда
Таб.ВывестиСекцию("Группа");
КонецЕсли;
КонецЦикла;

---------
Жизнь - игра, а настоящая игра - МАНИЯ.
Ответ отправил: Besker® (статус: Студент)
Ответ отправлен: 29.11.2007, 17:09
Оценка за ответ: 4
Комментарий оценки:
Я шел по этому пути, просто очень громоздкий запрос- поэтому и хотелось оптимизировать

Отвечает: Ромашов Евгений Николаевич
Здравствуйте, Koryiakin!

Не утверждаю но помоему нет, пропусти элементы получишь группы
Ответ отправил: Ромашов Евгений Николаевич (статус: 5-ый класс)
Ответ отправлен: 30.11.2007, 04:59
Оценка за ответ: 4
Комментарий оценки:
Надо ограничить запрос сразу- для ускорения формирования отчета

Отвечает: Владимир Лазурко [Vladal]
Здравствуйте, Koryiakin!

Я дополню ответы экспертов. Если в запросе указать группировку "без групп" - то в выборку запроса не попадут группы по условию самого запроса.

Можно использовать метод запроса ЭтоГруппа(), а можно и справочника. В приложении пример использования методов обоих объектов - справочника и запроса. Один цикл обхода выборки закомментирован. Оба цикла работают.

С уважением, Влад.

коррекция в соответствии с комментарием автора в мини-форуме
-----
∙ Отредактировал: Сергей Максименко [Elric] (Профессионал)
∙ Дата редактирования: 30.11.2007, 18:28

Приложение:

Ответ отправил: Владимир Лазурко [Vladal] (статус: 8-ой класс)
Ответ отправлен: 30.11.2007, 05:24
Оценка за ответ: 5
Комментарий оценки:
Закомментированный вариант больше подходит- тк.к очень многочисленный объем данных - справочник материалов.


Вопрос № 111.680
Здравствуйте эксперты.
Нужна помощь. 1С- 7.7
Есть документ – Заказ, у документа отсутствует табличная часть (за ненадобностью)
В шапке документа есть три реквизита: СуммаЗаказа, СуммаОплаты и Долг.
Подскажите, как сделать, чтоб реквизит Долг высчитывало самостоятельно (т.е. его значение должно быть по формуле СуммаЗаказа – СуммаОплаты).
Если СуммаОплаты = 0, то Долг = СуммаЗаказа.
Спасибо.
Отправлен: 30.11.2007, 08:26
Вопрос задала: Lakosiera (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 5)

Отвечает: Vlad Skorochod
Здравствуйте, Lakosiera!
В полях СуммаЗаказа, СуммаОплаты в свойствах, вкладка дополнительно, поле формула прописываем: Долг=СуммаЗаказа- СуммаОплаты
Ответ отправил: Vlad Skorochod (статус: 10-ый класс)
Ответ отправлен: 30.11.2007, 08:33
Оценка за ответ: 3
Комментарий оценки:
Спасибо, но не помогло (((

Отвечает: Астафьев Александр Николаевич
Здравствуйте, Lakosiera! В Форме Вашего документа для реквизитов СуммаЗаказа и СуммаОплаты на закладке "Дополнительно" напишите ВернутьДолг() а в модуле формы пропишите эту функцию(см. приложение).
Если значение Долг так жестко связано т.е. если Долг не редактируется вручную то можете его вообще исключить из реквизитов документа. Тогда в форме Вашего документа сделать текстовое поле которому на закладке "Дополнительно" аналогично напишите ВернутьДолг(). Если где то в документах или отчетах Вам понадобится значение долга то его всегда можно найти например по формуле:
Долг = Док.СуммаЗаказа – Док.СуммаОплаты;
Я это к чему. Чем меньше реквизитов тем меьше база 1С и тем она быстрее работает.

Приложение:

Ответ отправил: Астафьев Александр Николаевич (статус: 7-ой класс)
Ответ отправлен: 30.11.2007, 09:21
Оценка за ответ: 4
Комментарий оценки:
Спасибо.
Не помогло ((((
Ругается: ВозвратСуммаЗаказа <>– СуммаОплаты;
{Документ.Оплата.Форма.Модуль(31)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')

Отвечает: Краюшкин Игорь Валерьевич
Здравствуйте, Lakosiera!

В свойствах ячеек СуммаЗаказа и СуммаОплаты вписать формулу:
Долг = СуммаЗаказа - СуммаОплаты;

Таким образом, изменяя любое значение (сумму заказа или сумму оплаты) у Вас будет автоматически рассчитываться сумма долга.
Ответ отправил: Краюшкин Игорь Валерьевич (статус: 10-ый класс)
Ответ отправлен: 30.11.2007, 10:19
Оценка за ответ: 3
Комментарий оценки:
Спасибо, не помогло (((

Отвечает: Яна
Здравствуйте, Lakosiera!
Попробуйте функцию ВернутьДолг описать так:
Функция ВернутьДолг()
Рез=СуммаЗаказа – СуммаОплаты;
Возврат Рез;
КонецФункции

Не забывайте писать ; в конце строки с оператором.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 30.11.2007, 11:21
Оценка за ответ: 3
Комментарий оценки:
Рез=СуммаЗаказа <>– СуммаОплаты;
{Документ.Дополнительно.Форма.Модуль(13)}: Ожидается ключевое слово 'КонецФункции' ('EndFunction')
Возврат <>Рез;
{Документ.Дополнительно.Форма.Модуль(14)}: Оператор Return (Возврат) не может употребляться вне процедуры или функции
Возврат Рез;<>
{Документ.Дополнительно.Форма.Модуль(14)}: Обнаружено логическое завершение исходного текста модуля


Вопрос № 111.729
Как привести Тип ПланаВида Характеристики в табличной части документа.
Есть табличная часть документа Услуги
в которой есть реквизиты Счет,Субконто1,Субконто2,Субконто3.
В реквизит счет встраиваем процедуру при изменении.
Субконто1,2, имеют тип ПланаВида характеристик ВидыСубконто.

Каким образом можно при изменении счета динамически присвоить
нужные виды субконто в элемент формы, что бы после этого в форме в каждом виде субконто можно было указывать значение.
Отправлен: 30.11.2007, 14:33
Вопрос задал: Кузьмук Юрий Андреевич (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Яна
Здравствуйте, Кузьмук Юрий Андреевич!
В процедуре ПриИзменении у Поля ввода счет прописать строки, заполняющие поля ввода субконто. Затем при открытии формы выбора для значения колонки можно отфильтровать возможные типы данных соответственно выбранным субконто.
Ответ отправила: Яна (статус: Студент)
Ответ отправлен: 30.11.2007, 14:48
Оценка за ответ: 1

Отвечает: Владимир Лазурко [Vladal]
Здравствуйте, Кузьмук Юрий Андреевич!

Если Ваш код выглядит так, каким Вы его поместили в мини-форуме, то в нём ошибка:

ТекущаяСтрока.Субконто1 = ТипСубк.ПривестиЗначение(ТекущаяСтрока.Субконт1);

а должно быть

ТекущаяСтрока.Субконто1 = ТипСубк.ПривестиЗначение(ТекущаяСтрока.Субконто1);

Как раз во всех трех обращениях к субконто в слове "Субконто" пропущена буква О. Т.е. должно выглядеть ТекущаяСтрока.Субконто1, ТекущаяСтрока.Субконто2 и ТекущаяСтрока.Субконто3.

Просмотрите еще раз свой модуль, нет ли еще несовпадения идентификаторов.

Владимир.
Ответ отправил: Владимир Лазурко [Vladal] (статус: 8-ой класс)
Ответ отправлен: 30.11.2007, 21:46


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.65 от 04.12.2007
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное