|   |   | 
| 
 | v7: Подскажите по методу ИспользоватьКорСубконто() БУХ Учет 4.5 | ☑ | ||
|---|---|---|---|---|
| 0
    
        CepeLLlka 22.11.16✎ 15:35 | 
        В общем нужно вытащить корреспонденцию по счету 10.3, чтобы знать сколько с основного склада ГСМ за месяц переместили на другие.
 Для этого пишу следующий код: Процедура Сформировать() Склад = ЗначениеИзСтроки("{""Справочник"",""МестаХранения"",""00001""}"); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2); Ит.ИспользоватьСубконто(ВидыСубконто.Материалы,, 1); //Ит.ИспользоватьКорСубконто(ВидыСубконто.МестаХранения,, 1); Ит.ВыполнитьЗапрос(НачДата, КонДата, "10.3",,,3,, "К"); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Ит.ВыбратьСубконто(2,,,,,"Наименование"); Пока Ит.ПолучитьСубконто(2) = 1 Цикл Сообщить(""+Ит.Субконто(2)+" СНД - "+Ит.СНД(3)+" ДО - "+Ит.ДО(3)+" КО - "+Ит.КО(3)+" СКД - "+Ит.СКД(3)); КонецЦикла; КонецЦикла; КонецПроцедуры Мне выдаёт всё четко, как по оборотке, по каждой номенклатуре. Если же добавляю метод - "ИспользоватьКорСубконто", мне сразу же выдаёт совсем другие цифры, оборота по дебету, вообще нет, есть только по кредиту и конечный остаток причём в сумме, по всем субконто сразу. Может я что-то не так пытаюсь сделать, подскажите пожалуйста, как правильно нужно использовать метод ИспользоватьКорСубконто()? | |||
| 1
    
        CepeLLlka 22.11.16✎ 15:54 | 
        Стариков уже не осталось? :)     | |||
| 2
    
        CepeLLlka 22.11.16✎ 16:33 | 
        Делаю всё как по учебнику карочи, не работает :(
 http://www.mista.ru/tutor_1c/buh_zapros.htm | |||
| 3
    
        CepeLLlka 22.11.16✎ 19:54 | 
        Нууу? Кто ещё не спит? :)     | |||
| 4
    
        asady 22.11.16✎ 20:18 | 
        Юзай метод КорДО() и КорКО() вместо До() и КО()     | |||
| 5
    
        CepeLLlka 22.11.16✎ 21:03 | 
        (4)Это ничего не меняет, цифры теже     | |||
| 6
    
        Хряк 22.11.16✎ 21:11 | 
        поищи в конфе по корсубконто, поизучай код
 ты фсё поймёшь | |||
| 7
    
        RoRu 22.11.16✎ 21:12 | 
        может дело в том, что по местам хранения вообще только количественный учёт ?     | |||
| 8
    
        Pahomich 22.11.16✎ 21:12 | 
        (5) Конструктором попробуй...костяк     | |||
| 9
    
        Pahomich 22.11.16✎ 21:15 | 
        Может попробовать убрать "только по количеству" в запросе     | |||
| 10
    
        RoRu 22.11.16✎ 21:26 | 
        мне вообще непонятно, что ты хочешь получить в таком коде ? 
 зачем добавлено использовать корр субконто | |||
| 11
    
        CepeLLlka 22.11.16✎ 21:38 | 
        (10)Я получаю данные по 10.3 счету, с отбором по Субконто - "МестаХранения", по элементу - "Основной склад".
 Затем делаю выборку по субконто - Номенклатура, то есть хочу понять, сколько той или иной номенклатуры было на начало, пришло, ушло и какое сальдо на конец. И перебирая номенклатуру я хочу получить всё вышеперечисленное в разрезе КоррСубконто - МестаХранения. Другими словами хочу узнать, какое количество товара и на какой склад было перемещено со склада "ОсновнойСклад". | |||
| 12
    
        zak555 22.11.16✎ 21:44 | 
        (11)
 Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.Материалы,, 1); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2); Ит.ИспользоватьКорСубконто(ВидыСубконто.МестаХранения,, 1); Ит.ВыполнитьЗапрос(НачДата, КонДата, "10.3","10.3",,3,, "К"); Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл //получаем номенклатуру и остатки Ит.ВыбратьКорСубконто(1); Пока Ит.ПолучитьКорСубконто(1) = 1 Цикл //получаем корАналитику МХ и корДО КонецЦикла; КонецЦикла; | |||
| 13
    
        CepeLLlka 22.11.16✎ 21:48 | 
        (12)Да, но меня это не устраивает, я хочу после 
 Пока Ит.ПолучитьСубконто(1) = 1 Цикл Чтобы можно было получить ДО и КО в общем по этому Субконто, без разреза по КорСубконто, а это не работает почему-то :( | |||
| 14
    
        zak555 22.11.16✎ 21:49 | 
        (13) тебе общая сумма нужна по всем МХ ?     | |||
| 15
    
        CepeLLlka 22.11.16✎ 22:16 | 
        (14)Мне не нужны суммы, мне нужно количество. Общее количество ДО и КО по всей Номенклатуре, а не по МХ.     | |||
| 16
    
        CepeLLlka 22.11.16✎ 22:32 | 
        Мне нужно при переборке Субконто, получать СНД, ДО, КО, и СКД суммой по всем КорСубконто, а когда я уже перебираю КорСубконто получать КорКО по этому КорСубконто. Как в 8ке группировки типа. А тут это не работает. Если я использую - ИспользоватьКорСубконто, то ДО и КО по Субконто уже не работают.     | |||
| 17
    
        zak555 22.11.16✎ 22:43 | 
        (15) т.е. на какие склады тебе информация не нужна ?     | |||
| 18
    
        CepeLLlka 22.11.16✎ 22:48 | 
        (16)Нужна тоже     | |||
| 19
    
        CepeLLlka 22.11.16✎ 22:48 | 
        (17)Зак, ты снова шутишь, или я непонятно объясняю?     | |||
| 20
    
        zak555 22.11.16✎ 22:51 | 
        (18) так чем тебя мой код не устраивает ?
 на первой выборке получаешь инфу о номенклатуре и начальных остатках и сколько итого ушло на все МХ на второй группировке смотришь на какие склады скинулось и сколько | |||
| 21
    
        CepeLLlka 22.11.16✎ 22:55 | 
        (20)Не получает сколько итого ушло не показывает, возвращает 0, что КО, что ДО. А мне ещё нужно сколько всего на Склад = ЗначениеИзСтроки("{""Справочник"",""МестаХранения"",""00001""}");
 Вот это то и неустраивает. | |||
| 22
    
        CepeLLlka 22.11.16✎ 22:56 | 
        (21)+ .... А мне ещё надо сколько всего ПРИШЛО на Склад = ЗначениеИзСтроки("{""Справочник"",""МестаХранения"",""00001""}");... 
 Недописал.. | |||
| 23
    
        zak555 22.11.16✎ 22:59 | 
        ты похоже сам не понимаешь, что хочешь
 с 12 ты можешь получить для выбранного склада 1. остатки позиции начало и конец 2. на какие склады делалось перемещение по данному счету и в каком объёме | |||
| 24
    
        CepeLLlka 22.11.16✎ 23:00 | 
        (23)Да, а мне надо ещё в 1. получать сколько всего пришло на этот склад. А этого нет.     | |||
| 25
    
        zak555 22.11.16✎ 23:01 | 
        (24) сколько поступило от поставщика ?     | |||
| 26
    
        CepeLLlka 22.11.16✎ 23:03 | 
        (25)Да, именно. Потому что то что ты пишешь не работает, Остаток на конец показывает неверный, без учёта приходов, даже с обороткой не сходится.     | |||
| 27
    
        CepeLLlka 22.11.16✎ 23:03 | 
        (25)Вот так мне надо. Если конечно код нормально отразится.
 Процедура Сформировать() Склад = ЗначениеИзСтроки("{""Справочник"",""МестаХранения"",""00001""}"); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2); Ит.ИспользоватьСубконто(ВидыСубконто.Материалы,, 1); Ит.ИспользоватьКорСубконто(ВидыСубконто.МестаХранения,, 1); Ит.ВыполнитьЗапрос(НачДата, КонДата, "10.3",,,3,, "К"); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Ит.ВыбратьСубконто(2,,,,,"Наименование"); Пока Ит.ПолучитьСубконто(2) = 1 Цикл Ит.СНД(3)//Получаю начальный остаток; Это работает Ит.ДО(3) //Получаю сколько всего пришло на основной склад за период; Это НЕ РАБОТАЕТ. ИТ.СКД(3) //Получаю остаток на конец; Вычисляет неправильно, так как ДО = 0, А КО отрабаывает, показывает всё в минуса. Дальше Делаю переборку по КорСубконто Пока Ит.ПолучитьКорСубконто(1) = 1 Цикл //Перебираю все КорСубконто Ит.КорКО(3) //Получаю сколько перемещенно на конкретное КорСубконто и т.д. по циклу КонецЦикла КонецЦикла; КонецЦикла; КонецПроцедуры | |||
| 28
    
        zak555 22.11.16✎ 23:08 | 
        Ит = СоздатьОбъект("БухгалтерскиеИтоги");
 Ит.ИспользоватьСубконто(ВидыСубконто.Материалы,, 1); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2); Ит.ИспользоватьКорСубконто(,, 1); Ит.ВыполнитьЗапрос(НачДата, КонДата, "10.3",СЗ_из_10_6_и_60,,3,, "К"); Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл //получаем номенклатуру и остатки ит.ВыбратьКорСчета() Пока Ит.ПолучитьКорСчет()=1 Цикл Если Ит.Счет = СчетПоКоду("10.6") Тогда //получаем как раньше по МХ Ит.ВыбратьКорСубконто(1); Пока Ит.ПолучитьКорСубконто(1) = 1 Цикл //получаем корАналитику МХ и корДО КонецЦикла; Иначе //получаем сколько пришло от поставщика -- //Ит.КорДо() КонецЦикла; | |||
| 29
    
        CepeLLlka 22.11.16✎ 23:14 | 
        (28)Спс, Зак. Завтра попробую. Только не буду перебирать счета. Там вроде жёстко можно указать после Ит.ВыбратьКорСчета(), Ит.ПолучитьСчет("60"), а потом другой счёт и перебирать корсубконто.
 Огромное тебе спасибо, надеюсь всё получится. Не люблю когда не получается, грустно становится сразу очень :( | |||
| 30
    
        zak555 22.11.16✎ 23:16 | 
        (29) так у тебя в сз будет только два счёта     | |||
| 31
    
        CepeLLlka 23.11.16✎ 11:20 | 
        (30)Без указания вида КорСубконто, у когда идёт перебор КорСубконто, то он идёт по номенклатуре, а не по контрагентам.. Такие дела..     | |||
| 32
    
        zak555 23.11.16✎ 11:23 | 
        (31) ааа
 итспользуй два раза ИспользоватьКорСубонто и иди по второй группировке, т.к. на счёте 10.6 аналитика номенклатура и мх, а на 60 -- контрагент договор | |||
| 33
    
        CepeLLlka 23.11.16✎ 11:26 | 
        (32)Тоже пробовал, 2 раза использую метод - "ИспользоватьКорСубонто" один раз по Контрагентам, другой раз по МестамХранения. Тогда вообще ничего не возвращает. Даже Ит.ВыбратьКорСчета() возвращает 0, при условии что в выполнить запрос у меня указано "10.1,60.1"..
 В общем 1С 77 это такое себе развлечение, танцы с бубнами тут присутствуют :) Сижу вот методом проб и ошибок пытаюсь получить что-нибудь.. | |||
| 34
    
        zak555 23.11.16✎ 11:30 | 
        Ит = СоздатьОбъект("БухгалтерскиеИтоги");
 Ит.ИспользоватьСубконто(ВидыСубконто.Материалы,, 1); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2); Ит.ИспользоватьКорСубконто(,, ); Ит.ИспользоватьКорСубконто(,, ); // СЗ_из_10_6_и_60 --- список значений из двух значений счетПоКоду Ит.ВыполнитьЗапрос(НачДата, КонДата, "10.3",СЗ_из_10_6_и_60,,3,, "К"); Ит.ВыбратьСубконто(1); Пока Ит.ПолучитьСубконто(1) = 1 Цикл //получаем номенклатуру и остатки ит.ВыбратьКорСчета() Пока Ит.ПолучитьКорСчет()=1 Цикл Если Ит.КорСчет = СчетПоКоду("10.6") Тогда //получаем как раньше по МХ Ит.ВыбратьКорСубконто(2); Пока Ит.ПолучитьКорСубконто(2) = 1 Цикл //получаем корАналитику МХ и корКО КонецЦикла; Иначе //получаем сколько пришло от поставщика -- //Ит.КорДо() КонецЦикла; | |||
| 35
    
        CepeLLlka 23.11.16✎ 13:39 | 
        Ит.ВыбратьКорСубконто(2);
 Пока Ит.ПолучитьКорСубконто(2) = 1 Цикл //получаем корАналитику МХ и корКО Второй раз не вызывается метод - Ит.ВыбратьКорСубконто(2), возвращает 0. Так это работает видимо только с явным указанием вида субконто. | |||
| 36
    
        CepeLLlka 23.11.16✎ 13:57 | 
        (35)+А если явно указать два раза, разные КорСубконто, БухИтоги не выберут из базы ничего видимо, так как нет таких счетов корреспондирующих у которых будет такие два субконто как МестоХранения и Контрагент сразу.     | |||
| 37
    
        CepeLLlka 23.11.16✎ 15:07 | 
        Вот так только получилось...
 Процедура Сформировать() Склад = ЗначениеИзСтроки("{""Справочник"",""МестаХранения"",""00001""}"); СкладБелянцевИВ = ЗначениеИзСтроки("{""Справочник"",""МестаХранения"",""00265""}"); Ит1 = СоздатьОбъект("БухгалтерскиеИтоги"); Ит1.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2); Ит1.ИспользоватьСубконто(ВидыСубконто.Материалы,, 1); Ит1.ВыполнитьЗапрос(НачДата, КонДата,"10.3",,,3,, "К"); Ит1.ВыбратьСчета(); Ит = СоздатьОбъект("БухгалтерскиеИтоги"); Ит.ИспользоватьСубконто(ВидыСубконто.МестаХранения, Склад, 2); Ит.ИспользоватьСубконто(ВидыСубконто.Материалы,, 1); Ит.ИспользоватьКорСубконто(ВидыСубконто.МестаХранения,, 1); Ит.ВыполнитьЗапрос(НачДата, КонДата,"10.3",,,2,, "К"); Ит.ВыбратьСчета(); Пока Ит.ПолучитьСчет() = 1 Цикл Ит1.ПолучитьСчет(Ит.Счет); Ит1.ВыбратьСубконто(2); Ит.ВыбратьСубконто(2,,,,,"Наименование"); Пока Ит.ПолучитьСубконто(2) = 1 Цикл Ит1.ПолучитьСубконто(2,,Ит.Субконто(2)); Сообщить(""+Ит1.Субконто(2)+" Остаток на начало - "+Ит1.СНД(3)+" Приход - "+Ит1.ДО(3)+" Конечный остаток - "+Ит1.СКД(3)); Ит.ВыбратьКорСубконто(1); Пока Ит.ПолучитьКорСубконто(1) = 1 Цикл Сообщить(""+Ит.Субконто(2)+" ДО - "+Ит.КорДО(3)+" КО - "+Ит.КорКО(3)+" "+Ит.КорСубконто(1)); КонецЦикла; КонецЦикла; КонецЦикла; КонецПроцедуры | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |