|   |   | 
| 
 | Цикл табличной части с условием | ☑ | ||
|---|---|---|---|---|
| 0
    
        kolp821 25.09.12✎ 17:13 | 
        Здравствуйте, есть некая табличная часть справочнике, ТабЧасть имеет несколько реквизитов (Пільга, Документ), эти реквизиты могут быть не заполнены. Вот что нужно, если заплненый реквизит Документ, вывести его в ТабДок, а также Документ и Пільга. Если только Пільга то не нужно.
  Вот что есть на данный момент: // Табличная часть - Пільги : Запрос3 = Новый Запрос; Запрос3.Текст = "ВЫБРАТЬ | АбітурієнтТабличнаяЧастьПільг.Документ КАК Документ | ИЗ | Справочник.Абітурієнт.ТабличнаяЧастьПільг КАК АбітурієнтТабличнаяЧастьПільг |ГДЕ | АбітурієнтТабличнаяЧастьПільг.Ссылка = &Абітурієнт"; Запрос3.Параметры.Вставить("Абітурієнт", Ссылка.Получить(0).Абітурієнт); ВыборкаПільг = Запрос3.Выполнить().Выбрать(); // Вивод табличної частини - пільги : ТабЧаст2 = Макет.ПолучитьОбласть("ТабЧаст2"); Пока ВыборкаПільг.Следующий() Цикл ТабЧаст2.Параметры.Заполнить(ВыборкаПільг); ТабДок.Вывести(ТабЧаст2, ВыборкаПільг.Уровень()); КонецЦикла ; | |||
| 1
    
        DrShad 25.09.12✎ 17:14 | 
        круто     | |||
| 2
    
        ДенисЧ 25.09.12✎ 17:16 | 
        И шо, ви таки думаете, шо эту "собачачью мову" будет кто-то читать?     | |||
| 3
    
        kolp821 25.09.12✎ 17:16 | 
        (2) без политики и попрошу уважать мой родной язык.     | |||
| 4
    
        kolp821 25.09.12✎ 17:17 | 
        (2) это не ой код, но то что вы написали меня затронуло...     | |||
| 5
    
        Deon 25.09.12✎ 17:17 | 
        А что такое Пiльга? Прикольное слово )     | |||
| 6
    
        ОператорПК 25.09.12✎ 17:17 | 
        "ВЫБРАТЬ
  | АбітурієнтТабличнаяЧастьПільг.Документ КАК Документ | ИЗ | Справочник.Абітурієнт.ТабличнаяЧастьПільг КАК АбітурієнтТабличнаяЧастьПільг |ГДЕ | АбітурієнтТабличнаяЧастьПільг.Ссылка = &Абітурієнт и не АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка = Null"; типа того.. | |||
| 7
    
        pessok 25.09.12✎ 17:17 | 
        (3) твой родной язык - русский. а про мову, это молодежи, при союзе не жившей, Ваши бешеные политики в уши нассали. Или Гоголь на мове писал?     | |||
| 8
    
        Alex S D 25.09.12✎ 17:18 | 
        (5)+1     | |||
| 9
    
        pessok 25.09.12✎ 17:19 | 
        теперь по делу:
  одним запросом, там добавь доп.реквизит булевый. если пыльга твоя не заполнена, то ложь, если заполнена, то истина. а потом, при обходе результата запроса, проверяй пыльгу и суй в нужную таблицу. а еще лучше сделать итоги по пыльге и обходя по группировкам сувать куда надо | |||
| 10
    
        Иешуа 25.09.12✎ 17:19 | 
        (5) это "Льгота"     | |||
| 11
    
        ДенисЧ 25.09.12✎ 17:20 | 
        (3) А если я сейчас на татарском буду вопросы задавать? Многие меня поймут?     | |||
| 12
    
        pessok 25.09.12✎ 17:22 | 
        (11) соревнования у нас были профильные. Пятак 2012. Девочки-татарки ехидно хихикали, когда видели мальчиков с ружжами с надписью на куртке "ПЯТАК"     | |||
| 13
    
        Deon 25.09.12✎ 17:22 | 
        (11) Да тут каждый день больше половины вопросов на тарабарском )) телепат.длл     | |||
| 14
    
        V_V_V 25.09.12✎ 17:22 | 
        (0) Что у тебя ТабЧасть, а что ТабДок???
  (5) Пiльга - льгота. (7) Поржал. Жил при союзе. Родной язык - украинский. Пушкин тоже не на мове писал - и что? | |||
| 15
    
        Иешуа 25.09.12✎ 17:24 | 
        (11) зачем вопросы? 
  у него не вопрос а переменая на нерусском. или одинэсникам можно переменные только на русском именовать? | |||
| 16
    
        pessok 25.09.12✎ 17:24 | 
        (15) на его вопрос уже ответилил. дальше - полемика и флуд)     | |||
| 17
    
        pessok 25.09.12✎ 17:24 | 
        ответилИ*     | |||
| 18
    
        Alex S D 25.09.12✎ 17:25 | 
        (16) срач вернее     | |||
| 19
    
        kolp821 25.09.12✎ 17:27 | 
        (14) ТабЧаст2 эта Наименование ячейки в табличном документе, он же ТабДок     | |||
| 20
    
        vudo 25.09.12✎ 17:27 | 
        Да ладно языковой закон приняли. Пусть пишет. Вот только правда никто читать не станет. В 1С общепринятый язык программирования русский. Хотя может на компе вообще не быть установлен русский язык ;)
  А если по теме, то в (6) не сработает, сравнение c NULL так не пишут (ЕСТЬNULL) надо как-то так: и не ВЫРАЗИТЬ(АбітурієнтТабличнаяЧастьПільг.Документ КАК Документ.<ВидДокумента>) = Документ.<ВидДокумента>.ПустаяСсылка | |||
| 21
    
        pessok 25.09.12✎ 17:28 | 
        (18) тю. а чего срацца? каждый волен считать родным языком тот, который ему больше нравится. родной и государственный - разные вещи. просто меня умиляет, что люди сами выбирают родным языком тот, на котором нет ни одного мало-мальски приличного литературного произведения даже... я уж не говорю о том, что никто в мире кроме них самих его не знает...     | |||
| 22
    
        ОператорПК 25.09.12✎ 17:29 | 
        (19) то что в (6) нацарапано, не канает?     | |||
| 23
    
        pessok 25.09.12✎ 17:29 | 
        (19) сделать как в (9)     | |||
| 24
    
        V_V_V 25.09.12✎ 17:30 | 
        (21) Жаль белорусский... Жаль грузинский... И кто их знает? В мире-то???     | |||
| 25
    
        kolp821 25.09.12✎ 17:30 | 
        (23) поподробнее пожалуйста. Я сам админ, 1С только учусь.     | |||
| 26
    
        pessok 25.09.12✎ 17:30 | 
        + если надо сравнивать с пустой ссылкой, то юзайте ЗНАЧЕНИЕ(Документ.ИмяДокумента.ПустаяСсылка), если с NULL, то (НЕ) ПсевдонимТаблицы.ИмяПоля ЕСТЬ NULL     | |||
| 27
    
        pessok 25.09.12✎ 17:31 | 
        (24) кому их жаль? мне не жаль     | |||
| 28
    
        V_V_V 25.09.12✎ 17:32 | 
        (27) Даже не сомневался.     | |||
| 29
    
        vudo 25.09.12✎ 17:33 | 
        (26) +100
  (27) ты на грузинском или украинском читать не умеешь вот тебе и не жаль ;) (23) я не понял зачем ему еще один реквизит, если можно уменьшить количество в выборке | |||
| 30
    
        pessok 25.09.12✎ 17:35 | 
        (29) не умею, потому и не жаль. жаль будет программистов, которые будут искать помощи с кодом на грузинском :)
  а по поводу поля. чтобы по итогам потом легко разбросать саму выборку | |||
| 31
    
        pessok 25.09.12✎ 17:35 | 
        ему ж надо в две разных таблицы разбросать, или я плохо читал (0)     | |||
| 32
    
        ОператорПК 25.09.12✎ 17:36 | 
        (20) я ж написал "типа того" - точн осинтаксис не помню.... значит так должно канать:
  "ВЫБРАТЬ | АбітурієнтТабличнаяЧастьПільг.Документ КАК Документ | ИЗ | Справочник.Абітурієнт.ТабличнаяЧастьПільг КАК АбітурієнтТабличнаяЧастьПільг |ГДЕ | АбітурієнтТабличнаяЧастьПільг.Ссылка = &Абітурієнт и не ЕстьNull(АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка.0) = 0"; | |||
| 33
    
        ОператорПК 25.09.12✎ 17:36 | 
        "ВЫБРАТЬ
  | АбітурієнтТабличнаяЧастьПільг.Документ КАК Документ | ИЗ | Справочник.Абітурієнт.ТабличнаяЧастьПільг КАК АбітурієнтТабличнаяЧастьПільг |ГДЕ | АбітурієнтТабличнаяЧастьПільг.Ссылка = &Абітурієнт и не ЕстьNull(АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка,0) = 0"; | |||
| 34
    
        pessok 25.09.12✎ 17:36 | 
        ЕстьNull(АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка.0) = 0"
  эта пять! | |||
| 35
    
        ОператорПК 25.09.12✎ 17:37 | 
        (34) уже исправилсо     | |||
| 36
    
        pessok 25.09.12✎ 17:37 | 
        ВЫБРАТЬ
  ТаблицаЛьгот.Документ КАК Документ ИЗ Справочник.Абитуриенты.ТаблицаЛьгот КАК ТаблицаЛьгот ГДЕ ТаблицаЛьгот.Ссылка = &Абитуриент И НЕ ТаблицаЛьгот.Льгота ЕСТЬ NULL ИТОГИ ПО СЛьготой | |||
| 37
    
        pessok 25.09.12✎ 17:37 | 
        итоги убрать, итоги нинада. это я невнимательно читал (0) )))     | |||
| 38
    
        ОператорПК 25.09.12✎ 17:38 | 
        (36) так работать не будет. отличник...     | |||
| 39
    
        pessok 25.09.12✎ 17:39 | 
        с чего не будет то?     | |||
| 40
    
        vudo 25.09.12✎ 17:39 | 
        (32) Ты хотел сказать 
  "ЕстьNull(АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка,0) = 0" АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка не будет NULL, а будет Документ.<ВидДокумента>.ПустаяСсылка условие не работает! | |||
| 41
    
        pessok 25.09.12✎ 17:39 | 
        ну там пыльгу на документ поменять, смотря что отобрать хочет. я в его переменных уже запутался     | |||
| 42
    
        ОператорПК 25.09.12✎ 17:40 | 
        во первых сам проверь... во вторых твой запрос 9если бы даже работал) вернул не то что требуется ТП. накладывать ограничения надо не на Льготу а на поле "Документ"     | |||
| 43
    
        pessok 25.09.12✎ 17:41 | 
        (42) это да, это я в (41) написал. а работать будет. если не нравится NULL, проверять на И Документ <> ЗНАЧЕНИЕ(Документ.Пыльги.ПустаяСсылка)     | |||
| 44
    
        ОператорПК 25.09.12✎ 17:42 | 
        (40) кто сказал что известен Тип документа?     | |||
| 45
    
        ОператорПК 25.09.12✎ 17:42 | 
        (43) см (44)     | |||
| 46
    
        ОператорПК 25.09.12✎ 17:45 | 
        (39) ну как проверил свой мегакод?     | |||
| 47
    
        vudo 25.09.12✎ 17:45 | 
        (44) А что ты знаешь документы без типов?
  Не ну конечно если умозаключительно, то можно что-то придумать и без типов... Хотя может быть в принципе любого типа... Но на NULL не взлетит в любом случае... | |||
| 48
    
        pessok 25.09.12✎ 17:46 | 
        (46) пыльг нет, чтоб проверять. а код к ТЧ я не пишу, этим пусть чукчи занимаются. код рабочий. конечно, 
  Не ЕстьNull(АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка,0) = 0 тоже отработает, но это абзац | |||
| 49
    
        ОператорПК 25.09.12✎ 17:46 | 
        (47) слышал что нибуть про реквизиты составного типа?     | |||
| 50
    
        ОператорПК 25.09.12✎ 17:47 | 
        (48) твой рабочий код по любому не отработает     | |||
| 51
    
        vudo 25.09.12✎ 17:48 | 
        (49) Не умничай , я писал: "Хотя может быть в принципе любого типа... " ;) Но твой IS NULL тоже не взлетает ;)     | |||
| 52
    
        vudo 25.09.12✎ 17:49 | 
        (51) Где автор?     | |||
| 53
    
        ОператорПК 25.09.12✎ 17:51 | 
        (51) я проверил (не на базе АбітурієнтТабличнаяЧастьПіль конечно :)) но взлетает еще как.     | |||
| 54
    
        pessok 25.09.12✎ 17:51 | 
        (48) ну, вообще, да, не отработает. нулла там быть не может без соединения, согласен     | |||
| 55
    
        pessok 25.09.12✎ 17:52 | 
        чем ЭТО 
  ЕстьNull(АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка,0) = 0 отличается от ЭТОГО НЕ ТаблицаЛьгот.Льгота ЕСТЬ NULL ??? кроме количества букв? | |||
| 56
    
        pessok 25.09.12✎ 17:52 | 
        ну и типа переменной, ессна     | |||
| 57
    
        pessok 25.09.12✎ 17:53 | 
        ты ж понимаешь, что это одно и тоже, просто одно написано нормально, а другое, кхм... не очень?     | |||
| 58
    
        ОператорПК 25.09.12✎ 17:53 | 
        (57) это не одно и тоже ключевое различие это "Ссылка"     | |||
| 59
    
        ОператорПК 25.09.12✎ 17:54 | 
        +(58) именно по этому твой код не отработает ни когда     | |||
| 60
    
        pessok 25.09.12✎ 17:54 | 
        ссылку, забыл, гы, да :)
  писал прям в теме) | |||
| 61
    
        ОператорПК 25.09.12✎ 17:55 | 
        (60) предлагаю закончить на этой оптиместической ноте, автар красава задал вопрос и свалил...     | |||
| 62
    
        pessok 25.09.12✎ 17:59 | 
        (61) плюсую     | |||
| 63
    
        AkeHayc 25.09.12✎ 18:00 | 
        Здоровеньки Булы!)     | |||
| 64
    
        Stim 25.09.12✎ 18:15 | 
        что там? с автора долги за газ еще не требуют?     | |||
| 65
    
        kolp821 26.09.12✎ 09:45 | 
        (60) Автор не свалил, он пытается разобраться в коде и вчера был конец рабочего дня. Извиняюсь что тема вышла слишком "острая" для сообщества.     | |||
| 66
    
        kolp821 26.09.12✎ 09:46 | 
        сори не (60), а (61)     | |||
| 67
    
        pessok 26.09.12✎ 09:46 | 
        (65) нормальная тема, славянская, гыгы) результата добился, самое главное?     | |||
| 68
    
        kolp821 26.09.12✎ 09:49 | 
        (65) пока нет, 
  ЕстьNull(АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка,0) = 0 или НЕ ТаблицаЛьгот.Льгота ЕСТЬ NULL не дают того результата, выводится все льготы... | |||
| 69
    
        pessok 26.09.12✎ 09:51 | 
        (68) ты забыл НЕ     | |||
| 70
    
        pessok 26.09.12✎ 09:52 | 
        НЕ АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка ЕСТЬ NULL     | |||
| 71
    
        kolp821 26.09.12✎ 10:10 | 
        (70) возникает ошибка 
  {Документ.Договір(515)}: Ошибка при вызове метода контекста (Выполнить) ВыборкаПільг = Запрос3.Выполнить().Выбрать(); по причине: {(7, 97)}: Поле не найдено "АбітурієнтТабличнаяЧастьПільг.Документ.Ссылка" АбітурієнтТабличнаяЧастьПільг.Ссылка = &Абітурієнт И НЕ АбітурієнтТабличнаяЧастьПільг.Документ.<<?>>Ссылка ЕСТЬ NULL Если убрать "Ссылка" то не дает того результата, выводится все льготы. | |||
| 72
    
        pessok 26.09.12✎ 10:15 | 
        ну разверни АбітурієнтТабличнаяЧастьПільг.Документ и поищи там упоминания о ссылке     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |