#0
by Dallas
Ситуация следующая: конфа - Комплекс для Украины. Работники хотят видеть в отчете по Взаиморасчетам(поставщиков и покупателей)выборку по типу продукции. Есть несколько видов продукции; приход-расход-оплата происходят исключительно по видам продукции. Добавлять измерение/реквизит в регистры не совсем подходит: в день проводят 150-300 накладных,- перепроводить их нереально. Добавил реквизит ТипПродукции в документы и написал обработку по автозаполнению, но с отчетом ничего не получается. Подскажите, пожалуйста, решение, может кто сталкивался :-(
#3
by Alexaha
2. если другие доки регистр не двигают, тогда этого будет достаточно, а иначе придется через внешнюю функцию фильтровать
#4
by Dallas
ивыбрал все документы двигающие регистр (простая обработка)и ВО ВСЕХ этих документах добавил реквизит ТипПродукции. При выполнении запроса была ругань "Поле агрегатного объекта не обнаружено (ТипПродукции): 2", чего-то считает.......|Докум=Регистр.ВзаиморасчетыПокупателей.ТекущийДокумент,Регистр.ВзаиморасчетыПоставщиков.ТекущийДокумент;...
#6
by leshik
А начальных остатков и не будет... у тебя же ТекущийДокумент = это предопределенная группировка, если бы у тебя было измерение типа Документ (в разрезе каких документов долг храниться...) но как быть тогда с авансами :-)
#7
by Alexaha
5.|Докум=Регистр.ВзаиморасчетыПокупателей.ТекущийДокумент,Регистр.ВзаиморасчетыПоставщиков.ТекущийДокумента где идентификатор документа?
#8
by Dallas
----------------Запрос[9] : Неверно заданный путь 'ТипПродукции'(Alexaha) а как через внешнюю функцию фильтровать? Пользователь не обязательно захочет видеть взаиморасчеты в разрезе документов, а просто по Клиенту... :-( SOS!!!
#9
by mvk
Ну еще можно добавить измерение в регистр, а потом обработкой напрямую в таблицу соответствующего RA... заполнить поле значениями типа продукции и выполнить пересчет итогов регистра, чтобы RG заполнилось.
#10
by Dallas
К сожалению не могу перепроводить такую кипу документов, а так бы выкрутился измерением/реквизитом.Я ведь не могу загнать в движение регистра реквизит без перепроведения документа, породившего это движение. Поэтому родилась идея выкрутиться просто реквизитом документов. Пользователи хотят видеть информацию по взаиморасчетам именно в разрезе видов продукции. Может есть другие варианты без проведения документов?
#11
by IchRovan
надо делать либо общий реквизит либо в запросе перечислять все(!) типы документов двигающих регистрТекДок=Регистр.ВзаиморасчетыПокупателей.ТакойтоДок1.ТекущийДокумент,Регистр.ВзаиморасчетыПокупателей.ТакойтоДок2.ТекущийДокумент, ... ;
#12
by Dallas
(mvk) А что это за обработка? Есть ли какой-то опыт ее использования, насколько корректно она работает. (УРБД: Центр-DBF, периферия-SQL и DBF)
#14
by mvk
Общий реквизит даст возможность писать запрос без типизации документа:ТипПродукции=Регистр.ВзаиморасчетыПокупателей.ТекущийДокумент.ТипПродукции; Нет такой обработки - это прямое вмешательство в данные. Нужно писать под тебя, причем не на 1С, а извне.
#15
by Dallas
Общий реквизит даст возможность писать запрос без типизации документа....С этим все в порядке, большене ругается, но по прежнему не видно ни начального ни конечного остатков, а хотелось бы увидеть.Очень!!!
#16
by Саха
и Остатки берутся ТОЛЬКО по ИЗМЕРЕНИЯМ, а не по реквизитам Документа !!!!!!статок(<?>,)Синтаксис:Остаток(<Измерен1>,<Измерен2>...,<ИмяРесурса>)Назначение:Возвращает значение остатка заданного ресурса регистра.Параметры:<Измерен1>,<Измерен2>... - значения измерений регистра;<ИмяРесурса> - название требуемого ресурса регистра.Замечание:Метод используется только для регистров
#17
by Шурик71
Как засунуть данные по новому измерению в регистр.1)В регистре снимается галка "Авт. удаление движений".2)Во всех доках, двигающих регистрв ОбработкуПроведения добавляется параметр//// Процедура ОбработкаПроведения(ПарПроведения)4) Затем пишется: (в начале процедуры)КонецЕсли;3) Код процедур (функций) "СохранитьДвиженияДокумента" и "ПровестиДокументПоТЗ(Тз)" напишешь сам :)4) Пишешь обработку, которая будет вызывать Док.Провести(,"ПроставитьРеквизитХХХ");
#18
by Dallas
Спасибо, интересное решение, сам бы не додумался.НО!!! Опять натыкаемся на перепроведение документов, что при исходных условиях недопустимо: документооборот немаленький, одновременно работают до 20 человек, выходных нет, также работает ночной оператор у которого тоже немало работыSOS!!!
#19
by Шурик71
Запусти перепроведение ночью, порциями через обработку ожидания.Т.е. при запуске обработкипо нажатию кнопки, запихнуть в список значений все документы для перепроведения, и последней строкой Форма.ОбработкаОжидания("ПроводитьПорцией",Интервал);В форме процедура ПроводитьПорцией - проводит "служебно" по 10 документов и ждет, к примеру, 3 минуты (чтобы другие работали).Служебное проведение будет быстрым, т.к. расчеты не нужны.За ночь проведется :)
#20
by Dallas
(Шурик71) Огромное спасибо! Перепроводится действительно быстро (попробую еще с транзакцией)!Возьми меня к себе, в Страну Умных!!!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Горизонтальная прокрутка табличного поля
- OFF: Не принимаются/отправляются сообщения ICQ.
- Печать документа в 1С
- Как задать минимальный остаток товара на складе?
- Как программно получить движения документа?
- 7.7 УСН - книга доходов и расходов.....
- Помогите по 1С++, (с чего начать ?)
- Как установить монопольный режим?
- Тестирование и исправление базы
- Изменить шрифт в меню УПП 8.0
- Обход полей в форме документа
- Управление торговым предприятием. Где находятся цены номенклатуры и штрих код.
- Универсальный обмен данными в XML, MCEXP.ERT, Номер за пределами значения.
- Как очистить ячейку табличной части документа
- Можно ли в 7-ке сделать запрос по "таблице значений"?
- Как отловить раскрытие автогруппировки строк/колонок в табличном документе?
- Как свернуть остатки в бюджете ред.5?
- Прошу помощи. OLE - ЗначениеИзСтрокиВнутр - Проблема с заменой кавычек.
- Парсинг конфигурации 1С V8 SQL
- Отключить отбор