|   |   | 
| 
 | v7: ВремРегистры формируются для текущей фирмы? Как сформировать для указанной? | ☑ | ||
|---|---|---|---|---|
| 0
    
        И Р 05.09.18✎ 20:59 | 
        Здравствуйте! Ситуация в следующем, пытаюсь совместить расчёт дебиторской задолженности при реализации объединяя баланс контрагента по двум фирмам.
 " ВремРегистры = СоздатьОбъект("Регистры"); ВремЗаявки = ВремРегистры.Заявки; ВремЗаказыЗаявки = ВремРегистры.ЗаказыЗаявки; ВремОстаткиТМЦ = ВремРегистры.ОстаткиТМЦ; ВремРезервыТМЦ = ВремРегистры.РезервыТМЦ; ВремПартииНаличие = ВремРегистры.ПартииНаличие; ВремПокупатели = ВремРегистры.Покупатели;" " спрФирмы = СоздатьОбъект("Справочник.Фирмы"); Если спрФирмы.НайтиПоКоду("007") = 1 Тогда Фирма1 = спрФирмы.ТекущийЭлемент(); Сообщить (Фирма1); КонецЕсли; Если спрФирмы.НайтиПоКоду("09") = 1 Тогда Фирма2 = спрФирмы.ТекущийЭлемент(); Сообщить (Фирма2); КонецЕсли; " " ТекущийДолг1 = ВремПокупатели.СводныйОстаток(Фирма1,,,,,"СуммаВал"); ТекущийДолг2 = ВремПокупатели.СводныйОстаток(Фирма2,,,,,"СуммаВал"); " Проблема заключается в том, что при попытке вывести значений ТекущийДолг1 и ТекущийДолг2 выводится правильно только та фирма, которая указана в реализации как Фирма, т.е. создаётся ощущение что регистры рассчитываются не для всех фирм, а только для той, которая указана в реализации. Вопрос: Как указать чтобы ВремПокупатели имели данные хотябы о 2-х фирмах одновременно? | |||
| 1
    
        Попытка1С 05.09.18✎ 21:04 | 
        первое измерение не заполняй в СводныйОстаток, будет по всем фирмам.     | |||
| 2
    
        И Р 05.09.18✎ 21:07 | 
        (1) Тут понимаете в чём дело, допустим в реализации указано в качестве фирмы:
 Фирма1 ТекущийДолг1 покажет реальную дебиторку по Фирма1 ТекущийДолг2 ничего не покажет! Хотя по идее должен показать реальную дебиторку по Фирма2 А мне нужно бы, чтобы вне завистимости от того какая фирма указана в реализации ТекущийДолг1 и ТекущийДолг2 показывали реальные дебиторки по Фирма1 и Фирма2 соответственно. | |||
| 3
    
        Попытка1С 05.09.18✎ 21:21 | 
        (2) может у вас там расчет какой уже есть с отбором по фирме1     | |||
| 4
    
        И Р 05.09.18✎ 21:27 | 
        Более того, проверил, если убираю первое измерение то показывает не по всем фирмам, а только по той которая указана как Фирма в реализации.  
 Возможно как то задаются параметры формирования этих регистров? Например вот тут: Процедура ПроведениеПоРегистрам() Перем ТаблСписПартий, ТаблСписПартийКом; Перем ВремРегистры; Перем ВремЗаявки, ВремЗаказыЗаявки, ВремОстаткиТМЦ, ВремРезервыТМЦ, ВремПартииНаличие, ВремПокупатели; // Удаление движений по регистрам. Для Номер = 1 По Метаданные.Регистр() Цикл ОчиститьДвижения("Регистр."+Метаданные.Регистр(Номер).Идентификатор); КонецЦикла; ТаблицаУслуг = СоздатьОбъект("ТаблицаЗначений"); ТаблицаТМЦ = глПодготовитьТаблицуДокумента(Контекст,1,ТаблицаУслуг); ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма); СписокПараметров=СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(ТекущийДокумент(),"ТекДок"); СписокПараметров.ДобавитьЗначение(Склад, "Склад"); СписокПараметров.ДобавитьЗначение(Фирма, "Фирма"); СписокПараметров.ДобавитьЗначение(ФирмаДляОстатковТМЦ,"ФирмаДляОстатковТМЦ"); СписокПараметров.ДобавитьЗначение(Контрагент, "Контрагент"); СписокПараметров.ДобавитьЗначение(Договор, "Договор"); // Сформируем список статусов партий СтатусПартии = СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(КодОперации, "КодОперации"); ВремРегистры = СоздатьОбъект("Регистры"); | |||
| 5
    
        hhhh 05.09.18✎ 21:30 | 
        (4) ну вот ты указал
 ФирмаДляОстатковТМЦ = глФирмаДляОстатковТМЦ(Фирма); убери это | |||
| 6
    
        И Р 05.09.18✎ 23:07 | 
        (5) Учитывая что дальше по типовому решению значения временных регистров используются решил не создавать проблем и сформировать ВремРегистры2 по второй фирме, однако столкнулся с проблемой:
 ФирмаДляОстатковТМЦ2 = глФирмаДляОстатковТМЦ(Фирма2); СписокПараметров=СоздатьОбъект("СписокЗначений"); СписокПараметров.ДобавитьЗначение(ТекущийДокумент(),"ТекДок"); СписокПараметров.ДобавитьЗначение(Склад, "Склад"); СписокПараметров.ДобавитьЗначение(Фирма2, "Фирма"); СписокПараметров.ДобавитьЗначение(ФирмаДляОстатковТМЦ2,"ФирмаДляОстатковТМЦ"); СписокПараметров.ДобавитьЗначение(Контрагент, "Контрагент"); СписокПараметров.ДобавитьЗначение(Контрагент.ОсновнойДоговор, "Договор"); ВремРегистры2 = СоздатьОбъект("Регистры"); ВремПокупатели2 = ВремРегистры2.Покупатели; . Не могу понять почему ВремПокупатели2 показывают долги всех контрагентов перед Фирма2 что не так я указал в параметрах формирования регистра? Может быть Контрагент.ОсновнойДоговор содержит Основной Договор с 1-й фирмой(основной, которая указана в документе)? | |||
| 7
    
        big 06.09.18✎ 04:47 | 
        Есть в глобальном модуле в ТиС такая функция глФильтрДолгов, она то как раз и фильтрует остатки в разрезе фирмы (списка фирм) и договора (договоров) контрагента.  В примере из (6) она вызывается или нет?     | |||
| 8
    
        И Р 06.09.18✎ 09:10 | 
        (7) В коде модуля встречается такая строка:
 Если КодОперации=Перечисление.КодыОпераций.Продажа Тогда глФильтрДолгов (Контекст, Договор, СписокПараметров, ВремПокупатели ); КонецЕсли; | |||
| 9
    
        HawkEye 06.09.18✎ 09:14 | 
        (0) т.е. тебя не смущает, что ты на один и тот-же объект (регистр) пытаешься натянуть в один фильтр - две фирмы?     | |||
| 10
    
        uno-group 06.09.18✎ 10:39 | 
        Где то есть 
 ВремПокупатели.УстановитьФильтр("Фирма",ВыбФирма)или наподобие. а тебе нужно туда засунуть список фирм. А лучше сделать еще свой регистр и на него свои фильтры накладывать. ВремПокупатели2 = ВремРегистры.Покупатели; | |||
| 11
    
        И Р 06.09.18✎ 23:37 | 
        Если 0 = Контекст.ИтогиАктуальны() Тогда
 ВремПокупатели2.ВременныйРасчет(); КонецЕсли; Выдаёт ошибку: Если 0 = <<?>>Контекст.ИтогиАктуальны() Тогда {Документ.Реализация.Модуль Документа(98)}: Ожидается логическое выражение Разве это не логическое выражение? | |||
| 12
    
        big 07.09.18✎ 04:56 | 
        (11) В модуле документа Контекст применять не нужно, там уже "всё в контексте"     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |