Имя: Пароль:
1C
1С v8
Обработка ЗаказПоставщика в ТЧ есть реквизит с типом Булево
0 DmitriiKr
 
24.11.20
09:57
Доброго времени суток. Застрял вроде на простом вопросе...не могу подтянуть реквизит табличной части в типом булево.

ТаблЗнач = ЭтотОбъект.ТЧ.Выгрузить();
ТаблЗначСв = ТаблЗнач.Скопировать();
ТаблЗначСв.Свернуть("Поставщик","");
Для Каждого СтрСв Из ТаблЗначСв Цикл

СтруктураПоиска = Новый Структура();
СтруктураПоиска.Вставить("Поставщик",СтрСв.Поставщик);
НайденныеСтроки = ТаблЗнач.НайтиСтроки(СтруктураПоиска);
Если НайденныеСтроки.Количество() > 0 Тогда


ДокументЗаказПоставщику = Документы.ЗаказПоставщику.СоздатьДокумент();
ДокументЗаказПоставщику.Дата = ТекущаяДата();
ДокументЗаказПоставщику.Контрагент = СтрСв.Поставщик;
ДокументЗаказПоставщику.Склад = Склад;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| СУММА(Товары.Количество) КАК Количество,
| Товары.Сумма КАК Сумма
|ПОМЕСТИТЬ Товары
|ИЗ
| Документ.ЗаказПокупателя.Товары КАК Товары
|ГДЕ
| Товары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура,
| Товары.Сумма
|
|ИНДЕКСИРОВАТЬ ПО
| Номенклатура
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура,
| ПРЕДСТАВЛЕНИЕССЫЛКИ(Товары.Номенклатура) КАК НоменклатураПредставление,
| Товары.Количество КАК Количество,
| ЕСТЬNULL(Остатки.КоличествоОстаток, 0) КАК Остаток,
| Товары.Сумма КАК Сумма,
| ЦеныПоставщиковСрезПоследних.Цены КАК Цены
|ИЗ
| Товары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказанныеТовары.Остатки(
| ,
| Номенклатура В
| (ВЫБРАТЬ
| Товары.Номенклатура КАК Номенклатура
| ИЗ
| Товары КАК Товары)
| И Склад = &Склад) КАК Остатки
| ПО Товары.Номенклатура = Остатки.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК
ЦеныПоставщиковСрезПоследних
| ПО Товары.Номенклатура = ЦеныПоставщиковСрезПоследних.Номенклатура
|
|СГРУППИРОВАТЬ ПО
| Товары.Номенклатура.Поставщик,
| Товары.Номенклатура,
| Товары.Количество,
| Товары.Сумма,
| ЕСТЬNULL(Остатки.КоличествоОстаток, 0),
| ЦеныПоставщиковСрезПоследних.Цены";

Запрос.УстановитьПараметр("Дата1", ДатаНачала);
Запрос.УстановитьПараметр("Дата2", ДатаОкончания);
Запрос.УстановитьПараметр("Склад", Склад);
РезультатЗапроса = Запрос.Выполнить();

// 3. Обход результатов запроса
ВыборкаТовары = РезультатЗапроса.Выбрать();


Для Каждого строка Из НайденныеСтроки Цикл

Пока ВыборкаТовары.Следующий() Цикл

// 4. Проверка на достаточность товаров
Дефицит =ВыборкаТовары.Количество-(ВыборкаТовары.Остаток);

Если Дефицит > 0 Тогда
НоваяСтрокаТЧДокумента = ДокументЗаказПоставщику.Товары.Добавить();
НоваяСтрокаТЧДокумента.Номенклатура = строка.Номенклатура;
НоваяСтрокаТЧДокумента.Сумма = ВыборкаТовары.Цены;
НоваяСтрокаТЧДокумента.Количество = Дефицит;
ДокументЗаказПоставщику.Записать();
ДокументЗаказПоставщику.Записать(РежимЗаписиДокумента.Проведение);
Иначе

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Товара уже заказан "+ строка.Номенклатура+" в количестве
"+ВыборкаТовары.Количество+" шт." + " на склад " + Склад;
Сообщение.Сообщить();

КонецЕсли;
КонецЦикла;

КонецЦикла;
Элементы.СозданиеЗаказаПотавщику.Доступность = Истина;

КонецЕсли;
КонецЦикла;

Может быть кто что подскажет?
1 ДенисЧ
 
24.11.20
10:00
Вопроса и проблемы не вижу. Как и "реквизита типа булево"
2 DmitriiKr
 
24.11.20
10:04
нСтроки = ЭтотОбъект.ТЧ.НайтиСтроки(Новый Структура("ВыборПокупки", Истина));
Для каждого текСтрока Из нСтроки Цикл


Пытался делать так в начале процедуры....
Но не идет.
3 Kassern
 
24.11.20
10:13
(0)
1)Зачем 2 раза сподряд записываешь документ?
ДокументЗаказПоставщику.Записать();
ДокументЗаказПоставщику.Записать(РежимЗаписиДокумента.Проведение);
2)Зачем это делаешь еще и в цикле для каждой строчки?
3) Зачем запрос номенклатуры в цикле, у тебя даже параметры для запроса не зависят от элемента цикла?
И еще много много зачем....
4 Kassern
 
24.11.20
10:15
(2) что не идет то? Какая ошибка? Проверь тип данных и ключ структуры. он должен совпадать с полем для отбора.
5 DmitriiKr
 
24.11.20
10:33
Да там не ошибка выходит. Вот этим нСтроки = ЭтотОбъект.ТЧ.НайтиСтроки(Новый Структура("ВыборПокупки", Истина));
создал выборку структуры со строками в которых строка с реквизитом Булево = Истина.

А потом когда обхожу эту структуру и иду дальше по процедуре то записывается все что нашлось. т.е. Структура с реквизитом булево ни чего не решает.
6 Kassern
 
24.11.20
11:28
(5) как ты обходишь "структуру", если НайтиСтроки возвращает массив строк... И куда записывается "все что нашлось"? Тут без ванги и 100 грамм вопрос явно не решить. Сформулируйте правильно вопрос и получите тогда адекватный ответ. Откройте СП и почитайте про метод НайтиСтроки. Проверьте тип поля ВыборПокупки в вашей ТЧ. Если все верно, то с данной структурой отбора в массиве строк будут все строки где поле ВыборПокупки = Истина.
7 DmitriiKr
 
24.11.20
11:40
Обхожу структуру через:
Для каждого текСтрока Из нСтроки Цикл

Но так как у меня много циклов...я уже запутался в них.
Тип реквизита (ВыборПокупки) булево.

По Вашему совету вывел запрос из цикла, т.е. теперь запрос вышел из цикла и теперь код выглядит вот так:

ВыборкаТовары = РезультатЗапроса.Выбрать();
            
    ДокументЗаказПоставщику = Документы.ЗаказПоставщику.СоздатьДокумент();
    ДокументЗаказПоставщику.Дата = ТекущаяДата();
    ДокументЗаказПоставщику.Склад = Склад;
    
    ТаблЗнач = ЭтотОбъект.ТЧ.Выгрузить();
    ТаблЗначСв = ТаблЗнач.Скопировать();
    ТаблЗначСв.Свернуть("Поставщик","");
    Для Каждого СтрСв Из ТаблЗначСв Цикл
        
        СтруктураПоиска = Новый Структура();
        СтруктураПоиска.Вставить("Поставщик",СтрСв.Поставщик);
        НайденныеСтроки  = ТаблЗнач.НайтиСтроки(СтруктураПоиска);
        Если НайденныеСтроки.Количество() > 0 Тогда
            
            
            ДокументЗаказПоставщику.Контрагент = СтрСв.Поставщик;
            
            
            Для Каждого строка Из НайденныеСтроки Цикл
                
                                    
                Пока ВыборкаТовары.Следующий() Цикл   //МНЕ КАЖЕТСЯ ЧТО ВОТ СЮДА НУЖНО КУДАТО ДОБАВЛЯТЬ ОТБОР ПО БУЛЕВО.
                    

                    //  4. Проверка на достаточность товаров
                    Дефицит = ВыборкаТовары.Количество-(ВыборкаТовары.Остаток);
                    
                    Если Дефицит > 0 Тогда
                        НоваяСтрокаТЧДокумента = ДокументЗаказПоставщику.Товары.Добавить();
                        НоваяСтрокаТЧДокумента.Номенклатура = строка.Номенклатура;
                        НоваяСтрокаТЧДокумента.Сумма = ВыборкаТовары.Цены;
                        НоваяСтрокаТЧДокумента.Количество = Дефицит;
                        
                    Иначе
                        
                        Сообщение = Новый СообщениеПользователю;
                        Сообщение.Текст = "Товара уже заказан "+ строка.Номенклатура+" в количестве
                                                                  "+ВыборкаТовары.Количество+" шт." + " на склад " + Склад;
                        Сообщение.Сообщить();
                        
                    КонецЕсли;
                    
                КонецЦикла;
                
            КонецЦикла;
            Элементы.СозданиеЗаказаПотавщику.Доступность = Истина;
            
        КонецЕсли;
    КонецЦикла;
     ДокументЗаказПоставщику.Записать(РежимЗаписиДокумента.Проведение);
8 ZDenis
 
24.11.20
11:51
(7) Задача в чем?
По твоему коду создается 1 документ Заказа и потом в нем много раз меняется контрагент, а дальше вообще не понять что происходит, да еще и в цикле.
9 Kassern
 
24.11.20
12:03
(7) 100 грамм еще не принял, но попробую вангануть. Вы пытаетесь создать документ и заполнить его ТЧ программно. Для этого у вас есть ТЧ с отмеченными строчками и именно их необходимо перенести в документ и для них получить цену с количеством. Нужно сделать всего 1 запрос и вызвать его 1 раз! Для этого Вы можете поступить 2 способами
1) Получить массив номенклатуры, которую отменили и в условии запроса указать, что Номенклатура В (&МассивНоменклатуры).
2) Создать виртуальую таблицу с полями номенклатура (можно добавить еще поля из ТЧ, чтобы ими потом заполнить документ). Далее делать левое соединение с данной таблицей с ценами и остатками.
Когда результат запроса готов, можете в цикле его обойти и с помощью ЗаполнитьЗначениеСвойств(НовСтрока,Выборка) заполнить новую строку ТЧ создаваемого документа. После цикла уже записываете данный документ.
10 Kassern
 
24.11.20
12:03
(9) *1) которую отмеТили
11 DmitriiKr
 
24.11.20
12:10
Задача вот какая:

1. Есть документы ЗаказПокупателя за какйото промежуток времени их может быть несколько, а так же каждом заказе есть несколько номенклатур с одинаковым поставщиком.
2. Нужно создать заказПоставщику что бы создавался один документ в который попадет только та номенклатура у которой одинаковый поставщик. С этим вроде как справился.
3. А теперь еще вот какая задачка: должна быть возможность выбора только тех позиций которые нужно заказать (Как раз реквизит в ТЧ создан с типом булево). И вот я ни как не могу понять куда мне нужно запихать эту хрень.
Запутался с этими циклами.
12 ZDenis
 
24.11.20
12:14
(11) "И вот я ни как не могу понять куда мне нужно запихать эту хрень".
В первоначальный запрос, там где ты отбираешь номенклатуру и поставщиков из документа ЗаказПокупателя
13 DmitriiKr
 
24.11.20
12:17
Т.е. мне получается не нужна структура которая сворачивает сторки по поставщику?
14 Kassern
 
24.11.20
12:18
(13) Я правильно понимаю, в заказе могут быть позиции от разных поставщиков? В этом случае на каждого поставщика должен создаться свой документ так?
15 DmitriiKr
 
24.11.20
12:20
Да в заказеПокупателя может быть одна номенклатура с одним поставщиком, другая с другим, потом другой документ там могут быть опять другие...
16 ZDenis
 
24.11.20
12:20
(13) Тебе по факту надо создать столько заказав, сколько поставщиков. А у тебя сейчас только на единственного поставщика создается документ. Поэтому сразу в первом запросе, где отбираются заказы и группируй по поставщикам и номенклатуре с отбором по нужным (у тех которые Истина в нужном месте)
17 Kassern
 
24.11.20
12:24
(14) Вообще это все дело решается в одном запросе. Просто делаешь итоги по поставщику и далее:
ВыборкаПоставщик=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоставщик.Следующий() Цикл
         Док=Документы.ТвойДок.СоздатьДокумент();
         Док.Поставщик=ВыборкаПоставщик.Поставшик;
         ЗапполняемРеквизитыДок(Док);
         ВыборкаНоменклатуры=ВыборкаПоставщик.Выбрать();
         Пока ВыборкаНоменклатуры.Следующий() Цикл
            НовСтрока=Док.ТЧ.Добавить();
            ЗаполнитьЗначенияСвойств(НовСтрока,ВыборкаНоменклатуры);
         КонецЦикла;
         Док.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;
18 Kassern
 
24.11.20
12:30
(17)В запросе получаем ТЧ заказов за период в первом пакете с отбором ЧТ.ВыборПокупки=Истина, далее прикручиваем к полученной таблице цены и остаток. В итоговом запросе группируем итоги по поставщику.
19 DmitriiKr
 
24.11.20
12:36
"ВЫБРАТЬ
    |    Товары.Номенклатура КАК Номенклатура,
    |    СУММА(Товары.Количество) КАК Количество,
    |    Товары.Сумма КАК Сумма,
    |    Товары.Номенклатура.Поставщик КАК НоменклатураПоставщик    // добавляем поставщика в запрос (первый запрос)
    |ПОМЕСТИТЬ Товары
    |ИЗ
    |    Документ.ЗаказПокупателя.Товары КАК Товары
    |ГДЕ
    |    Товары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    |
    |СГРУППИРОВАТЬ ПО
    |    Товары.Номенклатура,
    |    Товары.Сумма,
    |    Товары.Номенклатура.Поставщик
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Товары.Номенклатура КАК Номенклатура,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Товары.Номенклатура) КАК НоменклатураПредставление,
    |    Товары.Количество КАК Количество,
    |    ЕСТЬNULL(Остатки.КоличествоОстаток, 0) КАК Остаток,
    |    Товары.Сумма КАК Сумма,
    |    ЦеныПоставщиковСрезПоследних.Цены КАК Цены
    |ИЗ
    |    Товары КАК Товары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказанныеТовары.Остатки(
    |                ,
    |                Номенклатура В
    |                        (ВЫБРАТЬ
    |                            Товары.Номенклатура КАК Номенклатура
    |                        ИЗ
    |                            Товары КАК Товары)
    |                    И Склад = &Склад) КАК Остатки
    |        ПО Товары.Номенклатура = Остатки.Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК ЦеныПоставщиковСрезПоследних
    |        ПО Товары.Номенклатура = ЦеныПоставщиковСрезПоследних.Номенклатура
    |
    |СГРУППИРОВАТЬ ПО
    |    Товары.Номенклатура.Поставщик,                                      // тут сгрупировали по поставщику.
    |    Товары.Номенклатура,
    |    Товары.Количество,
    |    Товары.Сумма,
    |    ЕСТЬNULL(Остатки.КоличествоОстаток, 0),
    |    ЦеныПоставщиковСрезПоследних.Цены"


ну дальше устанавливаем параметры...

ВыборкаПоставщик=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоставщик.Следующий() Цикл
         Док=Документы.ЗаказПоставщику.СоздатьДокумент();
         Док.Поставщик=ВыборкаПоставщик.Поставшик;
         ЗапполняемРеквизитыДок(Док);                        //Вот это не понятно??
         ВыборкаНоменклатуры=ВыборкаПоставщик.Выбрать();
         Пока ВыборкаНоменклатуры.Следующий() Цикл
            НовСтрока=Док.ТЧ.Добавить();
            ЗаполнитьЗначенияСвойств(НовСтрока,ВыборкаНоменклатуры);
         КонецЦикла;
         Док.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;
20 ZDenis
 
24.11.20
12:49
(19) В первом запросе убери сумму, она тебе не нужна и добавь в условие после (Товары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2) И (Товары.ТвойРеквизитСБулевом)
21 Kassern
 
24.11.20
12:52
(19) не понятно, как заполнять реквизиты документа? Вам ведь нужно дату указать, поставщика, скорее всего договор, валюту, курс, кратность и т.д. Чтобы это дело не расписывать я написал просто ЗапполняемРеквизитыДок(Док);
22 DmitriiKr
 
24.11.20
12:56
Ну да заполнить шапку документа это я понял уже.

ВыборкаПоставщик=Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаПоставщик.Следующий() Цикл
         Док=Документы.ЗаказПоставщику.СоздатьДокумент();
         Док.Контрагент=ВыборкаПоставщик.НоменклатураПоставщик;
                 Док.Дата = ТекущаяДата();
                 Док.Склад = Склад;
                 ВыборкаНоменклатуры=ВыборкаПоставщик.Выбрать();
         Пока ВыборкаНоменклатуры.Следующий() Цикл
            НовСтрока=Док.ТЧ.Добавить();
            НовСтрока.Номенклатура = ВыборкаНоменклатуры.Номенклатура;
                        НовСтрока.Сумма = ВыборкаНоменклатуры.Цены;
                        НовСтрока.Количество = ВыборкаНоменклатуры.Количество;
         КонецЦикла;
         Док.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;

Только вот создаются столько документов сколько их нашлось в табличной части.
23 ZDenis
 
24.11.20
12:56
+21 Если делаешь запрос по документу, то желательно добавлять условие на Проведен, иначе попадут и удаленные и не проведенные
24 ZDenis
 
24.11.20
12:57
(22) потому что у тебя группировка по сумме, убрал?
25 DmitriiKr
 
24.11.20
12:57
А в запрос добавить Товары.РеквизитСБулево не получается....Это реквизит на форме.
26 Kassern
 
24.11.20
13:00
(19) А где итоги то? Должно быть в  конце запроса
|ИТОГИ ПО
|Номенклатура.Поставщик ";
27 DmitriiKr
 
24.11.20
13:01
"ВЫБРАТЬ
    |    Товары.Номенклатура КАК Номенклатура,
    |    Товары.Количество КАК Количество,
    |    Товары.Номенклатура.Поставщик КАК НоменклатураПоставщик
    |ПОМЕСТИТЬ Товары
    |ИЗ
    |    Документ.ЗаказПокупателя.Товары КАК Товары
    |ГДЕ
    |    Товары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Товары.Номенклатура КАК Номенклатура,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Товары.Номенклатура) КАК НоменклатураПредставление,
    |    Товары.Количество КАК Количество,
    |    ЕСТЬNULL(Остатки.КоличествоОстаток, 0) КАК Остаток,
    |    ЦеныПоставщиковСрезПоследних.Цены КАК Цены,
    |    Товары.НоменклатураПоставщик КАК НоменклатураПоставщик
    |ИЗ
    |    Товары КАК Товары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказанныеТовары.Остатки(
    |                ,
    |                Номенклатура В
    |                        (ВЫБРАТЬ
    |                            Товары.Номенклатура КАК Номенклатура
    |                        ИЗ
    |                            Товары КАК Товары)
    |                    И Склад = &Склад) КАК Остатки
    |        ПО Товары.Номенклатура = Остатки.Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК ЦеныПоставщиковСрезПоследних
    |        ПО Товары.Номенклатура = ЦеныПоставщиковСрезПоследних.Номенклатура";
    
    Запрос.УстановитьПараметр("Дата1", ДатаНачала);
    Запрос.УстановитьПараметр("Дата2", ДатаОкончания);
    Запрос.УстановитьПараметр("Склад", Склад);

Вот... Теперь правда ТЧ не заполняется))))
28 ZDenis
 
24.11.20
13:02
(25) "3. А теперь еще вот какая задачка: должна быть возможность выбора только тех позиций которые нужно заказать".
В каком документе это все указывается? Я думал в заказе
29 Kassern
 
24.11.20
13:03
(25) блин какой бред, почему признак Выбор покупки вы в базу не записываете? Каждый раз при открытии заказа заставляете проставлять галочки?
30 ZDenis
 
24.11.20
13:03
(27) Куда в первом запросе группировки пропали?
31 DmitriiKr
 
24.11.20
13:04
Спасибо.

Ну вот так хочет руководитель.

Так получилось создать один документ ЗаказПоставщика (с одинаковым поставщиком)
А вот с Булевом так и не понял
32 DmitriiKr
 
24.11.20
13:05
А в первом запросе группировки должны быть по количеству, номенклатуре и количеству?
33 ZDenis
 
24.11.20
13:07
(32) У тебя было правильно по номенклатуре и поставщику. Сумму надо было убрать (и из группировок и из выбора)
34 DmitriiKr
 
24.11.20
13:08
"ВЫБРАТЬ
    |    Товары.Номенклатура КАК Номенклатура,
    |    СУММА(Товары.Количество) КАК Количество,
    |    Товары.Номенклатура.Поставщик КАК НоменклатураПоставщик
    |ПОМЕСТИТЬ Товары
    |ИЗ
    |    Документ.ЗаказПокупателя.Товары КАК Товары
    |ГДЕ
    |    Товары.Ссылка.Дата МЕЖДУ &Дата1 И &Дата2
    |
    |СГРУППИРОВАТЬ ПО
    |    Товары.Номенклатура,
    |    Товары.Номенклатура.Поставщик
    |
    |ИНДЕКСИРОВАТЬ ПО
    |    Номенклатура
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    Товары.Номенклатура КАК Номенклатура,
    |    ПРЕДСТАВЛЕНИЕССЫЛКИ(Товары.Номенклатура) КАК НоменклатураПредставление,
    |    Товары.Количество КАК Количество,
    |    ЕСТЬNULL(Остатки.КоличествоОстаток, 0) КАК Остаток,
    |    ЦеныПоставщиковСрезПоследних.Цены КАК Цены,
    |    Товары.НоменклатураПоставщик КАК НоменклатураПоставщик
    |ИЗ
    |    Товары КАК Товары
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказанныеТовары.Остатки(
    |                ,
    |                Номенклатура В
    |                        (ВЫБРАТЬ
    |                            Товары.Номенклатура КАК Номенклатура
    |                        ИЗ
    |                            Товары КАК Товары)
    |                    И Склад = &Склад) КАК Остатки
    |        ПО Товары.Номенклатура = Остатки.Номенклатура
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныПоставщиков.СрезПоследних КАК ЦеныПоставщиковСрезПоследних
    |        ПО Товары.Номенклатура = ЦеныПоставщиковСрезПоследних.Номенклатура
    |ИТОГИ ПО
    |    НоменклатураПоставщик"


Вот так получается. создается один документ и он суммирует по количеству и по номенклатуре.
35 DmitriiKr
 
24.11.20
13:09
А вот с Булево хрень.....
Может через структуру сделать будет правильно???
36 Kassern
 
24.11.20
13:09
(31) Вобщем я умываю руки...Это просто бесполезно. Изучите итоги запросов и обход результата по группировкам. Добавьте реквизит ВыборПокупки в ТЧ заказа покупателя. Чтобы этот выбор хранился в базе. Если вы сделаете все что я написал в (17) (18)  все у вас получится, в противном случае - наймите специалиста.
37 ZDenis
 
24.11.20
13:16
(35) Если данные по нужным позициям не хранятся в базе, то и брать их не откуда.
38 DmitriiKr
 
24.11.20
13:17
Понял, ща попробую добавить реквизит в ТЧ ЗаказПокупателя. Спасибо Вам большое.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.