|
v7: Отчет о несоответсвии | ☑ | ||
---|---|---|---|---|
0
dima-zgr
12.10.15
✎
06:35
|
Добрый день. Нужен совет.
Есть код //******************************************* // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Товар = Документ.РасходнаяНакладная.Товар; |КппПроизводителя = Документ.РасходнаяНакладная.КппПроизводителя; |Группировка Товар; |Группировка КппПроизводителя; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Товар Таб.ВывестиСекцию("Товар"); Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей КппПроизводителя Таб.ВывестиСекцию("КппПроизводителя"); КонецЦикла; КонецЦикла; // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры Он выводит товар и кпп производителя из документа расх накладная, как сделать чтоб еще выводил столбец сбоку "кпп производителя" из справочника "СерииНоменклатуры" чтобы сравнивать соответсвуют ли КПП в документе с КПП в справочнике. |
|||
1
dima-zgr
12.10.15
✎
06:35
|
Никогда не работал с 1с 7.7=(((
|
|||
2
vcv
12.10.15
✎
06:52
|
А что такое СерииНоменклатуры? Где есть и как заполняется? И какое отношение имеет к документу?
Может реализовывать не запросом, а выборкой? Док = СоздатьОбъект("Документ.РасходнаяНакладная"); Док.ВыбратьДокументы(ВыбНачПериода,ВыбКонПериода); Пока Док.ПолучитьДокумент() = 1 Цикл Док.ВыбратьСтроки(); Пока Док.ПолучитьСтроку() = 1 Цикл Если Док.КппПроизводителя <> Док.СерияНоменклатуры.КппПроизводителя Тогда Таб.ВывестиСекцию("КппПроизводителяСОшибкой"); Иначе Таб.ВывестиСекцию("КппПроизводителя"); КонецЕсли; КонецЦикла; КонецЦикла; |
|||
3
dima-zgr
12.10.15
✎
06:58
|
Ну это справочник из которого заполняется в документ расх накладная. но есть криворучки которые косячат и в доке меняют
|
|||
4
dima-zgr
12.10.15
✎
07:06
|
не получается у меня выборкой=(
|
|||
5
Забияка
12.10.15
✎
07:15
|
(0)А серии в документе есть?
|
|||
6
dima-zgr
12.10.15
✎
07:17
|
и серия и кпп в документе есть. вот мне нужно сравнить кпп из справочника и серию в документе.
|
|||
7
Злопчинский
12.10.15
✎
07:32
|
|КппПроизводителя = Документ.РасходнаяНакладная.КппПроизводителя;
|КппСерия = Документ.РасходнаяНакладная.Серия.КппПроизводителя; |
|||
8
dima-zgr
12.10.15
✎
07:40
|
(7)я добавляю это и у меня присоединяется пустая колонка. и еще почему то по исходному коду который я писал выше. выходит по две строчки
Товар Кпп наименование1 (пусто) наименование1 013244 |
|||
9
dima-zgr
12.10.15
✎
07:42
|
делаю вот так, и он выводит пустую колонку слева
//******************************************* // Процедура генерации запроса Сформировать. // Процедура Сформировать() Перем Запрос, ТекстЗапроса, Таб; //Создание объекта типа Запрос Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(Сформировать) |Период с ВыбНачПериода по ВыбКонПериода; |Товар = Документ.РасходнаяНакладная.Товар; |КппПроизводителя = Документ.РасходнаяНакладная.КппПроизводителя; |ПроизводительКПП = Справочник.СерияНоменклатуры.ПроизводительКПП; |Группировка Товар без групп; |Группировка КппПроизводителя; |Группировка ПроизводительКПП; |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; // Подготовка к заполнению выходных форм данными запроса Таб = СоздатьОбъект("Таблица"); Таб.ИсходнаяТаблица("Сформировать"); // Заполнение полей "Заголовок" Таб.ВывестиСекцию("Заголовок"); Состояние("Заполнение выходной таблицы..."); Таб.Опции(0, 0, Таб.ВысотаТаблицы(), 0); Пока Запрос.Группировка(1) = 1 Цикл // Заполнение полей Товар Таб.ВывестиСекцию("Товар"); Пока Запрос.Группировка(2) = 1 Цикл // Заполнение полей КппПроизводителя Таб.ВывестиСекцию("КппПроизводителя"); Пока Запрос.Группировка(3) = 1 Цикл // Заполнение полей ПроизводительКПП Таб.ВывестиСекцию("ПроизводительКПП"); КонецЦикла; КонецЦикла; КонецЦикла; // Вывод заполненной формы Таб.ТолькоПросмотр(1); Таб.Показать("Сформировать", ""); КонецПроцедуры |
|||
10
dima-zgr
12.10.15
✎
07:43
|
ой, справа)))
|
|||
11
шаэс
12.10.15
✎
08:15
|
(9) скрин документа с обведенным красным что с чем хотите сравнить и скрин структуры документа "РасходнаяНакладная" из конфигуратора
|
|||
12
dima-zgr
12.10.15
✎
08:24
|
эм... а как выложить скрин?
|
|||
13
dima-zgr
12.10.15
✎
08:28
|
||||
14
dima-zgr
12.10.15
✎
08:28
|
||||
15
dima-zgr
12.10.15
✎
08:29
|
вот то есть по товару надо сравнить КПП в документе(1 скрин) с КПП в справочнике(2 скрин)
|
|||
16
HawkEye
12.10.15
✎
08:35
|
(0) "КппПроизводителя" - это реквизит Документа РасходнаяНакладная?
а "ПроизводительКПП" - реквизит Справочника.СерияНоменклатуры? это кто-же такое придумал? )) |
|||
17
dima-zgr
12.10.15
✎
08:39
|
(16) все верно) да хз) вот как их сравнить?
|
|||
18
HawkEye
12.10.15
✎
08:43
|
(17) как справочник СерияНоменклатуры связан с Документом РасходнаяНакладная?
|
|||
19
Масянька
12.10.15
✎
08:46
|
Все понятно. Абсолютно. Кроме одного: а в док-те КПП - это что? Тип.
PS И я бы все-таки КПП сменила на другое название. |
|||
20
HawkEye
12.10.15
✎
08:49
|
(19) КПП обычно строка ))) хотя конечно везде есть исключения )
|
|||
21
dima-zgr
12.10.15
✎
08:50
|
тип -строка
|
|||
22
Масянька
12.10.15
✎
08:52
|
(21) А теперь - подумай и ответь на (17).
|
|||
23
шаэс
12.10.15
✎
08:54
|
(22) перебором
|
|||
24
Масянька
12.10.15
✎
08:56
|
(23) Издеваешься? :)))
Перебором чего? |
|||
25
HawkEye
12.10.15
✎
08:59
|
повторюсь...
Серии подчинен Номенклатуре - ок. но как справочник СерияНоменклатуры связан с Документом РасходнаяНакладная? |
|||
26
шаэс
12.10.15
✎
09:03
|
(24) берешь соответствие товара и КПП из РН и сравниваешь с такой же связкой из Серий.
|
|||
27
HawkEye
12.10.15
✎
09:05
|
(26) мне одному кажется, что задача поставлена иначе? ))
|
|||
28
Масянька
12.10.15
✎
09:09
|
(26) Да ну на фиг!
(27) Нет. Ты не один. |
|||
29
HawkEye
12.10.15
✎
09:10
|
(28) это радует )))
|
|||
30
шаэс
12.10.15
✎
09:10
|
(27) я вообще слабо понимаю, как можно такое сравнивать, если производителей больше одного. только на предмет наличия связки из РН с такой же связкой в Сериях
|
|||
31
Масянька
12.10.15
✎
09:11
|
Если КПП в док-те должно соответствовать КПП справочника, то и тип в док-те должен быть справочник, а не строка.
|
|||
32
Масянька
12.10.15
✎
09:11
|
(30) А я вообще не понимаю - зачем сравнивать? :)
|
|||
33
шаэс
12.10.15
✎
09:14
|
(32) отслеживать движения?
тут пока не стоит задача - как это должно работать в идеале. пока стоит задача, чтобы сравнить то, что уже набито |
|||
34
HawkEye
12.10.15
✎
09:14
|
(31) нет ))
(30) видимо все-таки в Расходной накладной где-то есть Серия... у Серии есть КПП... в документе есть КПП... имхо надо понять, все ли КПП из серий в документе соответствуют КПП документа. |
|||
35
Масянька
12.10.15
✎
09:16
|
(33) Автоматизация бардака приведет к автоматизированному бардаку (С)
(34) Почему - нет? |
|||
36
HawkEye
12.10.15
✎
09:19
|
(35) потому что КПП строка,
есть справочник Серии, у него реквизит КПП - строка в документе реквизит КПП - строка в документе так-же должен быть реквизит Серии - тип Справочник, но сравнивать все рано надо КППсерии с КППдокумента, т.е. строку со строкой, надо определить поставщик серии и поставщик документа один и тот-же или нет, по крайней мере я так понял.... |
|||
37
Масянька
12.10.15
✎
09:28
|
(36) Уговорили...
Ну, сравнили и ... Дальше что? |
|||
38
HawkEye
12.10.15
✎
09:32
|
(37) ну видимо отметили что не совпадает )) это уже к автору...
|
|||
39
dima-zgr
12.10.15
✎
09:50
|
Если не совпадают, то даешь по башке тому кто исправил и он переделывает!)
|
|||
40
dima-zgr
12.10.15
✎
09:51
|
(36) верно, именно так и надо, сравнивать кпп в документе товара с кпп товара в справочнике
|
|||
41
Масянька
12.10.15
✎
09:53
|
(39) По башке надо дать "специалисту", который завел неправильный реквизит и дал пользователю возможность изменять в док-те.
|
|||
42
HawkEye
12.10.15
✎
09:54
|
(40) Серия - реквизит табличной части документа? как называется?
|
|||
43
dima-zgr
12.10.15
✎
10:02
|
(42) серия так и есть реквизит серия в таб части документа. но мне то сравнивать надо по кпп! а не по сериям, это разное
|
|||
44
Масянька
12.10.15
✎
10:05
|
(43) КПП к чему относится?
|
|||
45
dima-zgr
12.10.15
✎
10:06
|
http://i008.radikal.ru/1510/62/58ee895d29b5.png
вот ссылка на фото справочника "Серии номенклатуры" откуда и берет кпп в документ |
|||
46
HawkEye
12.10.15
✎
10:06
|
Ну тогда как-то так:
|Период с ВыбНачПериода по ВыбКонПериода; |Товар = Документ.РасходнаяНакладная.Товар; |КППСерии = Документ.РасходнаяНакладная.Серия.КПП; |КппПроизводителя = Документ.РасходнаяНакладная.КппПроизводителя; |Группировка Товар; потом в ТЗ и цикл по ТЗ сравниваешь СокрЛП(ТЗ.КППСерии) и СокрЛП(ТЗ.КппПроизводителя) |
|||
47
HawkEye
12.10.15
✎
10:07
|
(45) это же форма списка... туда что угодно можно вынести... надо метаданные смотреть...
|
|||
48
Масянька
12.10.15
✎
10:13
|
(45) Ты её сделал строкой и открыл для редактирования. Поэтому (47).
|
|||
49
Злопчинский
12.10.15
✎
16:03
|
(8) Логично что выводит двес троки. У тебя группировка Товар-КППпроизводителя - есть серии, в которых не задан КППпроизводителя...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |