Вход | Регистрация



Проверка выравнивание структуры подчиненности

Проверка выравнивание структуры подчиненности
Я
   falselight
 
10.11.16 - 10:30
Обычное приложение.
Имеется цепочка документов:
1. Заказ покупателя
2. Резервирование товаров
3. КомплектованиеЗаказаПокупателя
4. РеализацияТоваровУслуг
Точно не известно пока какая последовательность ввода документов.
Задача в отображении цепочки структуры подчиненности в каждом документе. Пока если открыть документ комплектование заказа покупателя, то там в структуре подчиненности только заказ покупателя и он. В структуре подчиненности же этого заказа покупателя прочие документы, но не имеется документа комплектование заказа покупателя (видимо потому что он не типовой). Как его правильно отобразить в структуре подчиненности документов всей цепочки, и в своей собственной, отобразить все документы учавствующие в цепочке.
 
 
   разработчик 1с
 
1 - 10.11.16 - 10:31
дописывай отчёт
   Ёпрст
 
2 - 10.11.16 - 10:35
Нобавить нужный вид дока в критерии отбора связанные документы и оно само будет выведено в отчете.
   Ёпрст
 
3 - 10.11.16 - 10:35
*добавить
   falselight
 
4 - 10.11.16 - 10:54
(1) -> (2)(3) Верно!! Если это правильно настроить то все само встанет на места.
   falselight
 
5 - 10.11.16 - 10:56
(3) Этот документ нужно добавить в состав, критерия отбора, связанные документы?
А как это делается? На вкладке состав критерия отбора связанные документы, есть список реквизитов документов туда добавленных, но нет кнопки добавить. Как они туда помещаются?
Какой именно реквизит нужного документа должен там появиться?
   falselight
 
6 - 10.11.16 - 10:59
Состав через свойства критерия отбора кажется можно изменять, какой же все таки реквизит нужного не типового документа нужно туда добавить?
   Ёпрст
 
7 - 10.11.16 - 11:11
(6) Тот, в котором есть ссылка на документ, обычно, это реквизит с именем ДокОснование/ДокументОснование и т.п
   falselight
 
8 - 10.11.16 - 11:12
(7) Да, добавил реквизит ДокументОснование, посмотрю что получилось.
   Ёпрст
 
9 - 10.11.16 - 11:13
(8) если этот реквизит в твоём документе не заполнен, то ничего не увидишь
   falselight
 
10 - 10.11.16 - 11:23
(9) да, получается не доработанный момент
пока что не могу обновить конфигурацию, занята пользователями
доработку на заполнение этого реквизита наверное можно будет обновить динамически
А в какой момент нужно заполнять этот реквизит?
В момент создания наверное, на основании другого документа,
и в момент когда создаются документы на его основании.
 
 Рекламное место пустует
   Ёпрст
 
11 - 10.11.16 - 11:49
(10) всего лишь прописать в ОбработкаЗаполнения в модуле документа
   falselight
 
12 - 10.11.16 - 11:53
(11) в процедуре обработки заполнения этого документа
    ИначеЕсли ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда
//        для каждого р из основание.метаданные().Реквизиты цикл

            Заполнитьзначениясвойств(ЭтотОбъект,Основание,,"Номер,ДокументОснование,Комментарий,Ответственный,ОтказПокупателя");
        ЗаполнитьДокументПоОснованиюУпр(Основание);
        ДокументОснование=Основание;
        Дата=Основание.Дата+1;
   falselight
 
13 - 10.11.16 - 11:54
(11) видимо заполняется, так как появились документы в отчете и структуре подчиненности

не знаю на сколько полно все заполняется только, может что ещё нужно дописать, например может в других документах, где этот документ является основанием
   falselight
 
14 - 10.11.16 - 11:59
Получил отзыв, что на основании кода что я взял
из обработки показывающей связанные документы
отчет долго формируется.
Думаю с этим ещё как быть...
   Ёпрст
 
15 - 10.11.16 - 12:00
(14) нам отсюда не видно, че ты там натворил
   falselight
 
16 - 10.11.16 - 12:09
(15) Подскажите пожалуйста куда выложить?
   falselight
 
17 - 10.11.16 - 12:23
   falselight
 
18 - 10.11.16 - 12:24
(15) взял функционал из обработки что показывала структуру подчиненности документов
   Ёпрст
 
19 - 10.11.16 - 12:34
(18) дык переписывай, чтоб не было запроса в цикле.
   Ёпрст
 
20 - 10.11.16 - 12:35
Все подчиненные докум получай еще в первом запросе и вперёд.
   Ёпрст
 
21 - 10.11.16 - 12:39
короче, запрос, который выполняется в ПолучитьСписокПодчиненныхДокументов пихай в первый запрос по своему заказу.
   Ёпрст
 
22 - 10.11.16 - 12:39
Делай итоги по виду документов и выводи свою структуру.
   falselight
 
23 - 10.11.16 - 12:41
(21) пока делаю запрос по регистру накопления и не пойму как правильно его сделать, выбирает какую то ерунду
   falselight
 
24 - 10.11.16 - 12:42
вот этот запрос выбирает какую то хрень, мне же нужно отбирать документы которые попадают в установленный период отбора

ВЫБРАТЬ
    ЗаказыПокупателейОстаткиИОбороты.ЗаказПокупателя КАК Ссылка
ИЗ
    РегистрНакопления.ЗаказыПокупателей.ОстаткиИОбороты(&НачДата, &КонДата, Регистратор, , ) КАК ЗаказыПокупателейОстаткиИОбороты
   Ildarovich
 
25 - 10.11.16 - 12:44
Вот еще можете посмотреть:
Вывод фиксированной структуры подчиненности непосредственно в журнале документов [http://catalog.mista.ru/public/293091/].
   falselight
 
26 - 10.11.16 - 13:06
   falselight
 
27 - 10.11.16 - 13:09
(26) Вот запрос который выбирает подчиненные документы.
Как в нем отобрать документы заказ покупателя?
Что бы в одном запросе выбрать и заказы покупателя за период и подчиненные им документы?
   falselight
 
28 - 10.11.16 - 13:20
(25) К сожелению у меня обычное приложение.
   Ёпрст
 
29 - 10.11.16 - 13:22
(26) ты похуже не мог файлопомойки найти ?
   falselight
 
30 - 10.11.16 - 13:24
   Ёпрст
 
31 - 10.11.16 - 13:28
(30) сам то пробовал оттуда скачать ?
   falselight
 
32 - 10.11.16 - 13:31
   Ёпрст
 
33 - 10.11.16 - 13:38
оставляешь в тексте запроса только те виды документов, которые реально будут подчиненными твоему заказу ( а не все гипотетические), заместо условия на критерийотбора втыкаешь ссылку из первого запроса.
 
 
   falselight
 
34 - 10.11.16 - 13:41
(33) Подскажите пожалуйста как правильно построить первый запрос?
Не досигаемо это сейчас для меня, голова отключилась ((((
   Ёпрст
 
35 - 10.11.16 - 13:42
(34) а че, тот который из регистра не работает ?
   falselight
 
36 - 10.11.16 - 13:55
(35) я ставлю период 1 день, а выбираются разные документы с другой датой, я и не понял почему так...

Как вот этот запрос заменить на выборку из регистра ЗаказПокупателя????

Тут понятно что выбираются документы что попадают в заданный отбор.

||
Запрос.Текст = "
    |ВЫБРАТЬ
    |    ЗаказПокупателя.Ссылка
    |ИЗ
    |    Документ.ЗаказПокупателя КАК ЗаказПокупателя
    |ГДЕ
    |    ЗаказПокупателя.Дата МЕЖДУ &НачДата И &КонДата
    |    И ЗаказПокупателя.ПометкаУдаления <> Истина";
   falselight
 
37 - 10.11.16 - 13:56
Прервусь.
Ничего не соображаю уже все равно.
   Ёпрст
 
38 - 10.11.16 - 14:25
(36) дык, что в измерении регистра стоит то и прилетает. Мот тебе того, смотреть регистратор в регистре, а не измерение его ?
   falselight
 
39 - 10.11.16 - 14:32
(38) Ок, сейчас приму душ.
Взбодрюсь немного, буду продолжать решение.
Нужно было голову освежить. Так как в ней перестали появляться мысли (.
   falselight
 
40 - 10.11.16 - 15:28
Выборка из регистра накопления, запроса
подобного (36) будет из виртуальной таблицы
остатки, обороты, остатки и обороты ?
   Ёпрст
 
41 - 10.11.16 - 15:33
(40) зависит от того, какую задачу решаешь.
   falselight
 
42 - 10.11.16 - 16:09
(41) Подскажите пожалуйста, как в этом запросе, правильно передать значения первого пакета во второй запрос? Заместо ЗначениеКритерияОтбора (что будет содержать список отобранных ссылок документа заказ покупателя).

https://cloud.mail.ru/public/3d5a/N3ZDMyTeB
   Ёпрст
 
43 - 10.11.16 - 16:29
(42)

Выбрать
   ссылка как ЗаказТвой
поместить Табличка
из откудатытамберешьеё
;
выбрать
    ссылка,ДокументОснование
Поместить ТабличкаПодчДоков
ИЗ Документ.КакойТо
где ДокументОснование в (выбрать ЗаказТвой Из Табличка)
Объединить все
выбрать
    ссылка,ДокументОснование
ИЗ Документ.Другой
где ДокументОснование в (выбрать ЗаказТвой Из Табличка)
......
;

выбрать
   Табличка.заказТвой,
   ЕстьNULL(ТабличкаПодчДоков.ССылка,"") как ПодчДокумент
из Табличка как Табличка
левое соединение ТабличкаПодчДоков как ТабличкаПодчДоков ПО
ТабличкаПодчДоков.ДокументОснование = Табличка.заказТвой
Итоги ПО Табличка.заказТвой
   falselight
 
44 - 10.11.16 - 16:31
так вот вышло, на первый взгляд работает
в запросе (42) инструкции

||
ГДЕ
    АккредитивПолученный.Сделка = &ЗначениеКритерияОтбора

||
заменены на
||

ГДЕ
    АккредитивПолученный.Сделка В    (ВЫБРАТЬ    ВТ_ЗаказПокупателя.Ссылка     ИЗ ВТ_ЗаказПокупателя)
   falselight
 
45 - 10.11.16 - 16:59
(43) Пока у меня получился вот такой запрос.
Он как я понимаю выбирает подчиненные документы
переданных в него заказов покупателя.
Скажите как сейчас в этом запросе добавить поле
самого документа ЗаказПокупателя?

https://cloud.mail.ru/public/jwUR/EodBRNz4X
   Ёпрст
 
46 - 10.11.16 - 17:01
(45) см. (43) , там 3 запроса в пакете
   falselight
 
47 - 10.11.16 - 17:04
(46) Ок, буду разбираться.
Пока не доходит уже.
А в том что в (45) нельзя вывести сам заказ
к выводимым документам, что является для них основанием?
   falselight
 
48 - 10.11.16 - 17:08
(47+) Пока не соображу как это можно сделать с запросом что в (45), и можно ли там вообще это сделать.
   Ёпрст
 
49 - 10.11.16 - 17:10
(48) поместить второй запрос во временную,
сделать третий запрос из первой таблички и левым соединением соединить со второй временной. См. (43)
 
 Рекламное место пустует
   falselight
 
50 - 10.11.16 - 17:10
так только (43) разбирать остается
   falselight
 
51 - 10.11.16 - 17:11
(49) в (45) 114 объединенных запросов в итоговом
   falselight
 
52 - 10.11.16 - 17:14
(49) второй запрос во временную, это весь этот с 114 объединенными запросами?
   falselight
 
53 - 10.11.16 - 17:14
(49) Ок, пробую!
   falselight
 
54 - 10.11.16 - 17:23
(49) там только не понятно с каким полем ДокументомОснованием связывать?
К примеру в первом из объединенных запросов из 114 идет

;
////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    АвансовыйОтчет.Ссылка,
    ВТ_ЗаказПокупателя.Ссылка КАК Ссылка1
ИЗ
    Документ.АвансовыйОтчет.Товары КАК АвансовыйОтчет,
    ВТ_ЗаказПокупателя КАК ВТ_ЗаказПокупателя
ГДЕ
    АвансовыйОтчет.Заказ В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ
   Ёпрст
 
55 - 10.11.16 - 17:32
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    АвансовыйОтчет.Ссылка,
    АвансовыйОтчет.Заказ КАК ДокументОснование

Поместить ТабличкаПодчиненныхДокументов
ИЗ
    Документ.АвансовыйОтчет.Товары КАК АвансовыйОтчет
ГДЕ
    АвансовыйОтчет.Заказ В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)
ОБЪЕДИНИТЬ

ВЫБРАТЬ
    АвансовыйОтчет.Ссылка,
    АвансовыйОтчет.Сделка
ИЗ
    Документ.АвансовыйОтчет.ОплатаПоставщикам КАК АвансовыйОтчет
ГДЕ
    АвансовыйОтчет.Сделка В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)
................
   falselight
 
56 - 11.11.16 - 10:09
(55)  Получился вот такой запрос. На форме наделал галок  Комплектование, Резервирование, Реализация, Корректировка. Как сейчас можно было бы оставляя на форме одну из этих галок осуществлять выборку только заказов у которых есть выбранный документ, или документы?

->

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЗаказыПокупателейОбороты.ЗаказПокупателя КАК Ссылка
ПОМЕСТИТЬ ВТ_ЗаказПокупателя
ИЗ
    РегистрНакопления.ЗаказыПокупателей.Обороты(&НачДата, &КонДата, Регистратор, ) КАК ЗаказыПокупателейОбороты
ГДЕ
    ЗаказыПокупателейОбороты.Период МЕЖДУ &НачДата И &КонДата
    И ЗаказыПокупателейОбороты.Регистратор ССЫЛКА Документ.ЗаказПокупателя
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    КорректировкаДолга.Ссылка,
    КорректировкаДолга.Сделка КАК ДокументОснование
ПОМЕСТИТЬ ВТ_ПодчиненныеДокументы
ИЗ
    Документ.КорректировкаДолга КАК КорректировкаДолга
ГДЕ
    КорректировкаДолга.Сделка В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    КорректировкаДолга.Ссылка,
    КорректировкаДолга.Сделка
ИЗ
    Документ.КорректировкаДолга.СуммыДолга КАК КорректировкаДолга
ГДЕ
    КорректировкаДолга.Сделка В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    КорректировкаДолгаПоВозвратнойТаре.Ссылка,
    КорректировкаДолгаПоВозвратнойТаре.Сделка
ИЗ
    Документ.КорректировкаДолгаПоВозвратнойТаре КАК КорректировкаДолгаПоВозвратнойТаре
ГДЕ
    КорректировкаДолгаПоВозвратнойТаре.Сделка В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.Сделка
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Сделка В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.ЗаказПокупателя
ИЗ
    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.ЗаказПокупателя В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.ЗаказПокупателя
ИЗ
    Документ.РеализацияТоваровУслуг.ВозвратнаяТара КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.ЗаказПокупателя В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.ЗаказПокупателя
ИЗ
    Документ.РеализацияТоваровУслуг.Услуги КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.ЗаказПокупателя В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка,
    РеализацияТоваровУслуг.Сделка
ИЗ
    Документ.РеализацияТоваровУслуг.ДокументыРасчетовСКонтрагентом КАК РеализацияТоваровУслуг
ГДЕ
    РеализацияТоваровУслуг.Сделка В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    РезервированиеТоваров.Ссылка,
    РезервированиеТоваров.Заказ
ИЗ
    Документ.РезервированиеТоваров КАК РезервированиеТоваров
ГДЕ
    РезервированиеТоваров.Заказ В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    СчетНаОплатуПокупателю.Ссылка,
    СчетНаОплатуПокупателю.ЗаказПокупателя
ИЗ
    Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ГДЕ
    СчетНаОплатуПокупателю.ЗаказПокупателя В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    СчетНаОплатуПокупателю.Ссылка,
    СчетНаОплатуПокупателю.ЗаказПокупателя
ИЗ
    Документ.СчетНаОплатуПокупателю.Товары КАК СчетНаОплатуПокупателю
ГДЕ
    СчетНаОплатуПокупателю.ЗаказПокупателя В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    СчетНаОплатуПокупателю.Ссылка,
    СчетНаОплатуПокупателю.ЗаказПокупателя
ИЗ
    Документ.СчетНаОплатуПокупателю.ВозвратнаяТара КАК СчетНаОплатуПокупателю
ГДЕ
    СчетНаОплатуПокупателю.ЗаказПокупателя В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    СчетНаОплатуПокупателю.Ссылка,
    СчетНаОплатуПокупателю.ЗаказПокупателя
ИЗ
    Документ.СчетНаОплатуПокупателю.Услуги КАК СчетНаОплатуПокупателю
ГДЕ
    СчетНаОплатуПокупателю.ЗаказПокупателя В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    КомплектованиеЗаказаПокупателя.Ссылка,
    КомплектованиеЗаказаПокупателя.ДокументОснование
ИЗ
    Документ.КомплектованиеЗаказаПокупателя КАК КомплектованиеЗаказаПокупателя
ГДЕ
    КомплектованиеЗаказаПокупателя.ДокументОснование В
            (ВЫБРАТЬ
                ВТ_ЗаказПокупателя.Ссылка
            ИЗ
                ВТ_ЗаказПокупателя)
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    ВТ_ЗаказПокупателя.Ссылка КАК ЗаказПокупателя,
    ВТ_ПодчиненныеДокументы.Ссылка
ИЗ
    ВТ_ЗаказПокупателя КАК ВТ_ЗаказПокупателя
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ПодчиненныеДокументы КАК ВТ_ПодчиненныеДокументы
        ПО ВТ_ЗаказПокупателя.Ссылка = ВТ_ПодчиненныеДокументы.ДокументОснование
   falselight
 
57 - 11.11.16 - 10:10
Какой то закрученный алгоритм вырисовывается.
Хотелось бы оптимальнее.
   falselight
 
58 - 11.11.16 - 10:13
Такой счас отчет

https://cloud.mail.ru/public/NDwQ/aMZjJHTjk
   falselight
 
59 - 11.11.16 - 10:14
(57) А ну в запросе и отслеживать тогда эти галки.
Делать те или иные выборки объединенных запросов.
Пробую!
   falselight
 
60 - 11.11.16 - 10:37
(59+) НО тут обрабатывать программно тогда получается.
Так как в первом запросе в любом случае отбираются
все документы заказ покупателя.
   falselight
 
61 - 11.11.16 - 12:15
кому интересно, версия отчета 2.1

https://cloud.mail.ru/public/2P6c/vpDq1XxRf
   falselight
 
62 - 11.11.16 - 12:29
Поступил запрос на доработку.
Нужно отобрать заказы без комплектаций и реализации.
Думаю как это все уложить что бы правильно и оптимально.

Ну что бы отобрать, добавить новый параметр в запрос, не комплектация и не реализация к примеру.
   falselight
 
63 - 11.11.16 - 12:41
Подскажите как отбирать документы заказ покупателя которые не имеют комплектации и реализации в подчинении????
Какое будет условие????
А то сейчас отбор идет так
если у документа есть 3 подчиненных документа, то документ отбирается если эти 3 условия ставятся в истину сразу все или внезависимости от друг друга


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует