Имя: Пароль:
1C
 
По СКД вопрос. Не понимаю.
0 UFOdriver
 
17.04.21
17:27
Всем привет.

Есть Справочник контрагенты, у него физический реквизит ИНН. Длина 12. Строка(! Серьезно, гляньте УТ10, кто не верит).
ВСЕ ИНН 12 символов - проверил обработкой.

Пишу, значит
...
ВЫБОР
            КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
                ТОГДА КорректировкаРеализации.Номенклатура.Производитель.ИНН
            ИНАЧЕ КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.ИНН
        КОНЕЦ КАК ВозвратИННПроизводителя,
...

Да, условие по сериям - у всех стоит. 100%.
Выводит почти все ИННы за исключением тех, у которых он тоже в карточке есть. Мистика?

Долго думал, пишу так

ВЫРАЗИТЬ(ВЫБОР
            КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
                ТОГДА КорректировкаРеализации.Номенклатура.Производитель.ИНН
            ИНАЧЕ КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.ИНН
        КОНЕЦ КАК СТРОКА(12)) КАК ВозвратИННПроизводителя

И ура! Выводит ВСЕ.

Это приколы СКД или что?
1 PR
 
17.04.21
17:48
(0) ИНН?! Длина 12?!! Строка?!!! Да еще в УТ 10?!!!!
И что?
2 UFOdriver
 
17.04.21
17:51
Что с СКД я не так сделал? В консоли выводит всех. Макет не крутил. Никакие там форматы - тоже.
3 UFOdriver
 
17.04.21
17:52
На кой хер выражать как строка 12 реквизит с длиной 12 и с данными всеми длиной в 12 символов как 12 символов?
4 PR
 
17.04.21
17:52
(2) Да черт с ней с СКД
Что, реально в УТ 10 ИНН строка 12 символов?!!
5 UFOdriver
 
17.04.21
17:52
11, там 10 - нету. В запроснике проверил.
6 UFOdriver
 
17.04.21
17:53
(4) Скрин дать?
7 PR
 
17.04.21
17:53
(3) Не знаю на кой, тебе виднее
Ты кинул выражение одного поля и такой НИФИГА СЕБЕ, КАК ОНО В ЖИЗНИ БЫВАЕТ!
8 PR
 
17.04.21
17:54
(6) Да не, не надо, для меня нормально, что ИНН 12 символов
Я просто хочу понять, что в этом повергло в шок тебя
9 UFOdriver
 
17.04.21
17:54
(7) Объясни, или ткни носом где понять. Пока не вижу ошибки своей.
10 UFOdriver
 
17.04.21
17:55
(8) Не меня, а алкодекларацию, когда у некоторых производителей пошел пустой ИНН/КПП при этом в карточках заполненный.
11 PR
 
17.04.21
17:58
Капец
Да выложи уже полный текст запроса что ли хотя бы
А еще лучше проверь, будет ли такой же фокус, если не использовать СКД
12 UFOdriver
 
17.04.21
17:59
ВЫБРАТЬ
    астТоварноТранспортныеНакладныеИзЕГАИС.СсылкаНаДокумент КАК РеализацияТоваровУслуг
ПОМЕСТИТЬ РеализацияТоваровУслугВТ
ИЗ
    Документ.астТоварноТранспортныеНакладныеИзЕГАИС КАК астТоварноТранспортныеНакладныеИзЕГАИС
ГДЕ
    астТоварноТранспортныеНакладныеИзЕГАИС.Проведен
    И астТоварноТранспортныеНакладныеИзЕГАИС.СтатусТТН В (ЗНАЧЕНИЕ(Перечисление.астСтатусыТТН_ЕГАИС.ОтправленАктПодтверждения), ЗНАЧЕНИЕ(Перечисление.астСтатусыТТН_ЕГАИС.Загружена))
    И астТоварноТранспортныеНакладныеИзЕГАИС.СсылкаНаДокумент.ОтражатьВБухгалтерскомУчете
    И НЕ астТоварноТранспортныеНакладныеИзЕГАИС.Ссылка В
                (ВЫБРАТЬ
                    астАктыТоварноТранспортныхНакладныхИзЕГАИС.ДокументОснование
                ИЗ
                    Документ.астАктыТоварноТранспортныхНакладныхИзЕГАИС КАК астАктыТоварноТранспортныхНакладныхИзЕГАИС
                ГДЕ
                    астАктыТоварноТранспортныхНакладныхИзЕГАИС.Проведен
                    И астАктыТоварноТранспортныхНакладныхИзЕГАИС.Дата >= &НачалоПериода
                    И астАктыТоварноТранспортныхНакладныхИзЕГАИС.ВидАкта В (ЗНАЧЕНИЕ(Перечисление.астВидыАктовТоварноТранспортныхНакладныхЕГАИС.ОтказОтТТН), ЗНАЧЕНИЕ(Перечисление.астВидыАктовТоварноТранспортныхНакладныхЕГАИС.ОтказОтТТНЗапокупателя)))
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВЫРАЗИТЬ(КонтактнаяИнформация.Представление КАК СТРОКА(500)) КАК Адрес,
    ВЫРАЗИТЬ(КонтактнаяИнформация.Объект КАК Справочник.ДоговорыКонтрагентов) КАК ДоговорКонтрагента
ПОМЕСТИТЬ АдресаВТ
ИЗ
    РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ГДЕ
    КонтактнаяИнформация.Объект В
            (ВЫБРАТЬ
                РеализацияТоваровУслугВТ.РеализацияТоваровУслуг.ДоговорКонтрагента
            ИЗ
                РеализацияТоваровУслугВТ КАК РеализацияТоваровУслугВТ)
    И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
    И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресПоДоговоруКонтрагента)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СведенияОбАлкогольнойПродукции.ВидПродукции.Наименование КАК Поле1,
    СведенияОбАлкогольнойПродукции.ВидПродукции.КодВидаПродукции КАК КодВидаПродукции,
    РеализацияТоваровУслугТовары.Ссылка,
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(СведенияОбАлкогольнойПродукции.КоэффПересчетаДал, 0) = 0
                ТОГДА РеализацияТоваровУслугТовары.Количество * 0.1
            ИНАЧЕ РеализацияТоваровУслугТовары.Количество * СведенияОбАлкогольнойПродукции.КоэффПересчетаДал
        КОНЕЦ) КАК ОбъемПоставленнойПродукции,
    СУММА(ВЫБОР
            КОГДА ЕСТЬNULL(СведенияОбАлкогольнойПродукции.КоэффПересчетаДал, 0) = 0
                ТОГДА -КорректировкаРеализации.Количество * 0.1
            ИНАЧЕ -КорректировкаРеализации.Количество * СведенияОбАлкогольнойПродукции.КоэффПересчетаДал
        КОНЕЦ) КАК ВозвратОбъемПоставленнойПродукции,
    КорректировкаРеализации.Ссылка.Номер КАК ВозвратНомер,
    КорректировкаРеализации.Ссылка.Дата КАК ВозвратДата,
    ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Ссылка.Контрагент.НаименованиеПолное КАК СТРОКА(500)) КАК ВозвратНаименованиеОрганизации,
    ВЫБОР
        КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
            ТОГДА (ВЫРАЗИТЬ(КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))) + " / " + (ВЫРАЗИТЬ(КорректировкаРеализации.Номенклатура.Производитель.НаименованиеПолное КАК СТРОКА(500)))
        ИНАЧЕ ВЫРАЗИТЬ(КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))
    КОНЕЦ КАК ВозвратНаименованиеПроизводителяИмпортера,
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
                ТОГДА КорректировкаРеализации.Номенклатура.Производитель.ИНН
            ИНАЧЕ КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.ИНН
        КОНЕЦ КАК СТРОКА(12)) КАК ВозвратИННПроизводителя,
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
                ТОГДА КорректировкаРеализации.Номенклатура.Производитель.КПП
            ИНАЧЕ КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.КПП
        КОНЕЦ КАК СТРОКА(9)) КАК ВозвратКПППроизводителя,
    РеализацияТоваровУслугТовары.Ссылка.Дата,
    РеализацияТоваровУслугТовары.Ссылка.Номер,
    РеализацияТоваровУслугТовары.Ссылка.ДоговорКонтрагента.КПП КАК КПППолучателя,
    РеализацияТоваровУслугТовары.Ссылка.Контрагент.ИНН КАК ИННПолучателя,
    ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Ссылка.Контрагент.НаименованиеПолное КАК СТРОКА(500)) КАК НаименованиеОрганизации,
    ВЫБОР
        КОГДА РеализацияТоваровУслугТовары.Номенклатура.ВестиУчетПоСериям
            ТОГДА (ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))) + " / " + (ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.Производитель.НаименованиеПолное КАК СТРОКА(500)))
        ИНАЧЕ ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))
    КОНЕЦ КАК НаименованиеПроизводителяИмпортера,
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА РеализацияТоваровУслугТовары.Номенклатура.ВестиУчетПоСериям
                ТОГДА РеализацияТоваровУслугТовары.Номенклатура.Производитель.ИНН
            ИНАЧЕ РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.ИНН
        КОНЕЦ КАК СТРОКА(12)) КАК ИННПроизводителя,
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА РеализацияТоваровУслугТовары.Номенклатура.ВестиУчетПоСериям
                ТОГДА РеализацияТоваровУслугТовары.Номенклатура.Производитель.КПП
            ИНАЧЕ РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.КПП
        КОНЕЦ КАК СТРОКА(9)) КАК КПППроизводителя,
    АдресаВТ.Адрес КАК МестоНахождения,
    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
    РеализацияТоваровУслугТовары.Номенклатура
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СведенияОбАлкогольнойПродукции КАК СведенияОбАлкогольнойПродукции
        ПО РеализацияТоваровУслугТовары.Номенклатура = СведенияОбАлкогольнойПродукции.Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ АдресаВТ КАК АдресаВТ
        ПО РеализацияТоваровУслугТовары.Ссылка.ДоговорКонтрагента = АдресаВТ.ДоговорКонтрагента
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.КорректировкаРеализации.Товары КАК КорректировкаРеализации
        ПО РеализацияТоваровУслугТовары.Ссылка = КорректировкаРеализации.Ссылка.ДокументРеализации
            И РеализацияТоваровУслугТовары.Номенклатура = КорректировкаРеализации.Номенклатура
            И (ТИПЗНАЧЕНИЯ(КорректировкаРеализации.Ссылка) = ТИП(Документ.КорректировкаРеализации))
ГДЕ
    РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И РеализацияТоваровУслугТовары.Ссылка.Проведен
    И РеализацияТоваровУслугТовары.Ссылка.ОтражатьВБухгалтерскомУчете
    И РеализацияТоваровУслугТовары.Ссылка В
            (ВЫБРАТЬ
                РеализацияТоваровУслугВТ.РеализацияТоваровУслуг
            ИЗ
                РеализацияТоваровУслугВТ КАК РеализацияТоваровУслугВТ)
    И РеализацияТоваровУслугТовары.Номенклатура.ВидНоменклатуры.Наименование = "Алкогольная продукция"

СГРУППИРОВАТЬ ПО
    ВЫБОР
        КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
            ТОГДА (ВЫРАЗИТЬ(КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))) + " / " + (ВЫРАЗИТЬ(КорректировкаРеализации.Номенклатура.Производитель.НаименованиеПолное КАК СТРОКА(500)))
        ИНАЧЕ ВЫРАЗИТЬ(КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))
    КОНЕЦ,
    РеализацияТоваровУслугТовары.Ссылка,
    РеализацияТоваровУслугТовары.Ссылка.Дата,
    РеализацияТоваровУслугТовары.Ссылка.Номер,
    РеализацияТоваровУслугТовары.Ссылка.ДоговорКонтрагента.КПП,
    РеализацияТоваровУслугТовары.Ссылка.Контрагент.ИНН,
    ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Ссылка.Контрагент.НаименованиеПолное КАК СТРОКА(500)),
    АдресаВТ.Адрес,
    РеализацияТоваровУслугТовары.Ссылка.Контрагент,
    СведенияОбАлкогольнойПродукции.ВидПродукции.Наименование,
    СведенияОбАлкогольнойПродукции.ВидПродукции.КодВидаПродукции,
    РеализацияТоваровУслугТовары.Номенклатура,
    КорректировкаРеализации.Ссылка.Номер,
    КорректировкаРеализации.Ссылка.Дата,
    ВЫБОР
        КОГДА РеализацияТоваровУслугТовары.Номенклатура.ВестиУчетПоСериям
            ТОГДА (ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))) + " / " + (ВЫРАЗИТЬ(КорректировкаРеализации.Номенклатура.Производитель.НаименованиеПолное КАК СТРОКА(500)))
        ИНАЧЕ ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))
    КОНЕЦ,
    ВЫБОР
        КОГДА РеализацияТоваровУслугТовары.Номенклатура.ВестиУчетПоСериям
            ТОГДА (ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))) + " / " + (ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.Производитель.НаименованиеПолное КАК СТРОКА(500)))
        ИНАЧЕ ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.НаименованиеПолное КАК СТРОКА(500))
    КОНЕЦ,
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА РеализацияТоваровУслугТовары.Номенклатура.ВестиУчетПоСериям
                ТОГДА РеализацияТоваровУслугТовары.Номенклатура.Производитель.ИНН
            ИНАЧЕ РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.ИНН
        КОНЕЦ КАК СТРОКА(12)),
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
                ТОГДА КорректировкаРеализации.Номенклатура.Производитель.ИНН
            ИНАЧЕ КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.ИНН
        КОНЕЦ КАК СТРОКА(12)),
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА КорректировкаРеализации.Номенклатура.ВестиУчетПоСериям
                ТОГДА КорректировкаРеализации.Номенклатура.Производитель.КПП
            ИНАЧЕ КорректировкаРеализации.Номенклатура.ПроизводительЕГАИС.КПП
        КОНЕЦ КАК СТРОКА(9)),
    ВЫРАЗИТЬ(ВЫБОР
            КОГДА РеализацияТоваровУслугТовары.Номенклатура.ВестиУчетПоСериям
                ТОГДА РеализацияТоваровУслугТовары.Номенклатура.Производитель.КПП
            ИНАЧЕ РеализацияТоваровУслугТовары.Номенклатура.ПроизводительЕГАИС.КПП
        КОНЕЦ КАК СТРОКА(9)),
    ВЫРАЗИТЬ(РеализацияТоваровУслугТовары.Ссылка.Контрагент.НаименованиеПолное КАК СТРОКА(500))
13 UFOdriver
 
17.04.21
18:01
(11) Не использовать СКД уже лень *PARDON*
Я уже привык к стилю 1С - поводи мышой и напиши программу.
14 UFOdriver
 
17.04.21
18:04
Еще раз. В консоли, в запроснике, этот код выводит ВСЕ ИНН.
15 UFOdriver
 
17.04.21
18:04
Без ВЫРАЗИТЬ. В СКД, только с ВЫРАЗИТЬ.
16 UFOdriver
 
17.04.21
18:06
Я вам тут выложил код - он на вражеском сайте до х.. денег стоит)))
Мысли хоть дайте свои? Я же еще только учусь!)
17 UFOdriver
 
17.04.21
18:07
В консоли выводит всё. СКД некоторые - нет.
18 Dotoshin
 
17.04.21
18:09
(14) Попробуй посмотреть в консоли отчётов, какой получается результирующий текст запроса. Дело в том, что СКД любит оптимизировать исходный текст. Поэтому иногда результат оказывается неожиданный...
19 UFOdriver
 
17.04.21
18:10
(18) Вот это уже ближе к истине. Спасибо.
20 Cthulhu
 
17.04.21
19:41
с галочками поиграйся. с авто-заполнением там всяким и прочими...