Имя: Пароль:
1C
1С v8
ИНВ-17 по счетам без документов взаиморасчетов
0 tertva_1C
 
08.11.11
10:26
Всем привет, катаю приложение к ИНВ-17, и основная проблема заключается в том чтобы получить документы образовавшие остаток.
Для счетов у которых придудусмотрен документ взаиморасчетов (60,62) запрос выглядит следующим образом:

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


Нужна идея как сделать нечто подобное для 68 76 69 50....
1 Cube
 
08.11.11
10:28
Автоматом можно получить только последние документы по методу ФИФО, но никто не говорит, что это будет правильный результат...
2 tertva_1C
 
08.11.11
10:32
вто то вся и проблема
3 Naumov
 
08.11.11
10:34
какого лешего в ИНВ-17 должен делать 50-й?
4 tertva_1C
 
08.11.11
10:38
не ну не брать же типовую ОСВ по счету и не крутить в цикле с отбором по контрагентам, физлицам, ИФНС....

(3) не должен и не будет вопрос то не в этом...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший