Имя: Пароль:
1C
1С v8
Печатный формы упр приложение 1с 8.2
0 Валидатор
 
09.01.14
15:38
Есть печатная форма внешняя счета фактуры для БП 3.0. она формируется на основании, например 2х документов: РтИУ и Акт об оказании услуг. в РТИУ в ТЧ документа есть поле с количество и количество2, и галочка на форме, если ее ставишь, то документ расчитывается по количеству 2, если не ставим, по количеству 1, соответственно в зависимости от установки галочки формируется счет фактура: галочка стоит - сф формируется по количеству 2, не стоит галочки в РТИУ - сф формируется по количеству 1. Теперь второй документ: Акт об оказании услуг, у него нет галочки рассчитать по количеству или по количество 2, но печатная форма СФ у него такая же, как и в первом случае, соответственно летит ошибка, что в данном документе нет галочки и 2х полей с количеством. Теперь сам вопрос: Как в запросе прописать, или что если документ РТИУ тогда искать галочки, или как лучше сделать?
1 Волшебник
 
модератор
09.01.14
15:40
ВЫБОР КОГДА Док ССЫЛКА Документ.СчётФактура ТОГДА...
2 Валидатор
 
09.01.14
15:40
что нить такое:
ВЫБОР
    КОГДА ТаблицаДокумента.Ссылка = ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг) И КОГДА  ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
        ТОГДА ТаблицаДокумента.Количество
    ИНАЧЕ ТаблицаДокумента.Количество2
КОНЕЦ
3 Валидатор
 
09.01.14
15:42
ВЫБОР
    |        КОГДА ТаблицаДокумента.Ссылка = ЗНАЧЕНИЕ(Документ.РеализацияТоваровУслуг)
    |                И ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
    |            ТОГДА ТаблицаДокумента.Количество
    |        ИНАЧЕ ТаблицаДокумента.Количество2
    |    КОНЕЦ КАК Количество,

не получается
4 Валидатор
 
09.01.14
15:48
И еще нужно так: Если РТИУ, то берется код:
ТаблицаДокумента.Ссылка.ФлажокКоличество = ЛОЖЬ
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2

Если не РТИУ то берется просто Количество
5 Валидатор
 
09.01.14
15:51
проблема еще в том что ТаблицаДокумента - это временная таблица, которая в конструкторе запроса ручками и заполняется(
6 Валидатор
 
09.01.14
15:52
или есть какое-нибудь условие в самом конструкторе запросов, что типа если ТаблицаДокумента.Ссылка.ФлажокКоличество нет флажка, тогда один кусок кода выполняется?
7 Guzey
 
09.01.14
16:01
Не уверен, но попробовать можно:

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|    Статьи.Наименование,
|    &Количество
|ИЗ
|    &ДокСсылка

Если ТипЗнч(Основание) = Тип("ДокументСсылка.РТИУ") И Галочка Тогда
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Количество",
        Количество2);
Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ДокСсылка",
        Документ.РТиУ);
ИначеЕсли ....

Проверить не могу, 1с не под рукой.
8 Валидатор
 
09.01.14
16:10
И еще в временной таблицы моей ей ссылка, я задаю ей тип документ ссылка, и при закрытии конструктора запроса не сохраняется тип который я ей задал, почему?
9 Guzey
 
09.01.14
16:10
Кстати, в конструкторе не сможешь такой запрос прочитать, придется ручками писать. А вообще у тебя всегда есть Запрос.Текст который прекрасно меняется через СтрЗаменить. Главное самому не запутаться в том, что в итоге получится.
10 zladenuw
 
09.01.14
16:18
(9) зачем ?
ВЫБОР
    |        КОГДА ТаблицаДокумента.Ссылка ССылка Документ.РеализацияТоваровУслуг
    |                И НЕ ТаблицаДокумента.Ссылка.ФлажокКоличество
    |            ТОГДА ТаблицаДокумента.Количество
    |        ИНАЧЕ ТаблицаДокумента.Количество2
    |    КОНЕЦ КАК Количество,
11 Валидатор
 
09.01.14
16:19
(10) проблема в том, что ТаблицаДокументаССылка без типа, и не могу я ее сравнить: ТаблицаДокумента.Ссылка ССылка Документ.РеализацияТоваровУслуг как быть? типизировать временную таблицу тоже не получится
12 Валидатор
 
09.01.14
16:47
Такой еще вопрос, у меня есть 2 ТЧ товары и услуги, в товарах есть количество и количество 2, в услугах только количество, как прописать условие на соответствующюю ТЧ?
ВЫБОР
КОГДА НЕ ТаблицаДокумента.Ссылка.ФлажокКоличество
ТОГДА ТаблицаДокумента.Количество
ИНАЧЕ ТаблицаДокумента.Количество2
КОНЕЦ

вот в таком случае из ТЧ товары и услуги будет браться количество2, а нужно, чтобы из товары табличной части в зависимости от условия брались данные, а количествов ТЧ услуги всегда бралось из колонки количество