![]() |
![]() |
![]() |
|
ИспользоватьСубконто() | ☑ | ||
---|---|---|---|---|
0
CepeLLlka
18.04.11
✎
17:08
|
Подскажите пожалуйста..
Как мне спозиционироваться на определённом субконто, зная только его наименование.. ну чтобы человек не мог в диалоге выбирать нужное субконто.. а я позиционировался на нём, а не ловил его при помощи Если БИП.Субконто().ПолнНаименование = "ОФИС" Тогда А то мне кажется из-за этого дольше работает... |
|||
1
ДенисЧ
18.04.11
✎
17:09
|
В список, из которого ывбирает зверь, добавляй ВидыСубконто...
|
|||
2
zak555
18.04.11
✎
17:10
|
(1) ты понял, что надо ?
|
|||
3
ДенисЧ
18.04.11
✎
17:10
|
(2) Ага. Аналог выбора субконтов в анализе оного субконто.
|
|||
4
CepeLLlka
18.04.11
✎
17:14
|
%)
Юзер вобще не выбирает.. тут не нужен выбор.. статическое субконто.. я просто не знаю как спозиционироваться на нём :( |
|||
5
CepeLLlka
18.04.11
✎
17:18
|
Вот смарите
Мне нужно сальдо на каждый день в периоде(месяц) Я как понял я могу получить это только лишь делая запрос на каждый день... и тогда я зациклил это БИП.ВыбратьСубконто(1); Пока БИП.ПолучитьСубконто(1) = 1 Цикл Если БИП.Субконто().ПолнНаименование = "ОФИС" Тогда // Сообщить("Контрагент"+БИП.Субконто()+" Долг "+БИП.СКК()+" - Дата"+КонечДата); ОфисДолг = БИП.СКК(); КонецЕсли; КонецЦикла; И вот если бы он у меня не делал этот цикл 19749817287897 раз.. тогда может быстрее было бы.. но я не знаю как :( |
|||
6
CepeLLlka
18.04.11
✎
17:26
|
Зак... ну ты ведь мой друг..
Если в месяце 31 день.. то я 31 раз делаю БИП.ВыполнитьЗапрос() Это не правельно? :( Научи пожалуйста.. |
|||
7
DrHiHi
18.04.11
✎
17:43
|
А если применить ИспользоватьСубконто??
|
|||
8
DrHiHi
18.04.11
✎
17:44
|
да еще в выполнитьзапрос есть такое как периодичность
|
|||
9
CepeLLlka
18.04.11
✎
17:51
|
Хорошо.. посмарю.. спасибочки..
Тык вот я и пробую - Использовать Субконто(), но мне нужно спозиционироваться на нём.. |
|||
10
DrHiHi
18.04.11
✎
17:54
|
(9) можно еще ПолучитьСубконто(<Индекс>, <Номер>, <Субконто>)
|
|||
11
Джинн
18.04.11
✎
17:55
|
Найди элемент справочника по наименованию и подсунь его в запрос.
|
|||
12
zak555
18.04.11
✎
18:34
|
> Если БИП.Субконто().ПолнНаименование = "ОФИС" Тогда
за такое "убивать" (!) =) |
|||
13
CepeLLlka
18.04.11
✎
20:06
|
(10)
Тык вот я так и пытался.. нашёл элемент справочника и подставлял его в ПолучитьСубконто.. Но не прокатило.. хз пчму |
|||
14
CepeLLlka
18.04.11
✎
20:06
|
Вернее ясно пчму.. потому что у мя там тип - справочник.. а там нужен субконто видимо..
|
|||
15
CepeLLlka
19.04.11
✎
16:08
|
Нифига не получается :(
|
|||
16
CepeLLlka
19.04.11
✎
16:12
|
Делаю так
СпрСуб = СоздатьОбъект("Справочник.Контрагенты"); СпрСуб.НайтиПоНаименованию("ОФИС"); Он у мя находит.. А когда я уже делаю БИП.ПолучитьСубконто(,,СпрСуб.ТекущийЭлемент()) Нифига не получает он его :( |
|||
17
zak555
19.04.11
✎
16:13
|
всё правильно
|
|||
18
Джинн
19.04.11
✎
16:16
|
Учу читать СП. Дорого.
ИспользоватьСубконто(<?>,,,) Синтаксис: ИспользоватьСубконто(<ВидСубконто>,<Субконто>,<ТипФильтра>,<ПоГруппам>) Назначение: Устанавливает режим получения итогов методом ''ВыполнитьЗапрос'' в разрезе субконто.Метод слудет вызывать до вызова метода ''ВыполнитьЗапрос''. Метод может вызываться последовательно несколько раз. В этом случае установки, выполняемые этим методом суммируются. Параметры: <ВидСубконто> - значение типа ''ВидСубконто'' - расчет временных итогов будет выполнен только для субконто указанного вида. <Субконто> - значение Субконто, по которому будут отобраны итоги по аналитике. Если параметр не задан - то считается пустым значением субконто. <ТипФильтра> - число - тип фильтра по субконто. Может принимать следующие значения: 1 - разворачивать по данному субконто, 2 - отбирать по данному субконто, 3 - не учитывать это субконто вообще. По умолчанию 1. <ПоГруппам> - число - группировка итогов по субконто. Параметр <ПоГруппам> имеет смысл, если параметр <ТипФильтра> равен 1, а вид субконто, заданный параметром <ВидСубконто>, имеет тип значения ''Справочник''. Параметр может принимать значения: 0 - не показывать итоги по группам справочника; 1 - показывать итоги по группам справочника. По умолчанию 0. |
|||
19
CepeLLlka
19.04.11
✎
16:20
|
Ну так у меня то вот так там
БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты); |
|||
20
CepeLLlka
19.04.11
✎
16:29
|
Зак.. ну чё ты злорадствуешь.. видешь какой я тупой.. помоги же :(
|
|||
21
Джинн
19.04.11
✎
16:35
|
(20) См. <Субконто>,<ТипФильтра>
|
|||
22
Джинн
19.04.11
✎
16:37
|
Пример: БИ.ИспользоватьСубконто(ВидыСубконто.ВидыПлатежейВФонды, Перечисление.ВидыПлатежейВФонды.Взносы, 2);
|
|||
23
CepeLLlka
19.04.11
✎
16:37
|
Джин.. я не могу там задать только один субконто - ОФфис..
Потому что у меня в этом запросе по другому счёту используются вобще другие контрагенты.. а не только этот.. А два раза ИспользоватьСубконто() с одинаковым видом субконто он не разрешает.. вот.. |
|||
24
CepeLLlka
19.04.11
✎
16:38
|
Одно дело перечисление.. оно работает.. а ты попробуй
ПолучитьСубконто и чтобы там тип справочник был.. |
|||
25
KishMish
19.04.11
✎
16:43
|
(0)
1. можно получить по коду ЗначениеИзСтроки("{""Справочник"",""ВидЗалога"","""+СокрЛП(Таблица.ВидЗалога)+"""}"); 2. можно спозиционировать спр.найтипонаименованию |
|||
26
CepeLLlka
19.04.11
✎
21:21
|
Джин.. прости меня пожалуйста.. :(
Ты очень терпеливый и хороший.. желаю добра и денег тебе кучу.. Спасибо. |
|||
27
Эльниньо
19.04.11
✎
22:23
|
Как свалится на голову Джинну куча добра и монет.
|
|||
28
CepeLLlka
19.04.11
✎
22:26
|
Парни.. вот смотрите..
Вот так у меня всё работает.. СтрСч = "62,76.5"; ИтогоРазмерДолга = 0; ИтогоДолг = 0; СпрСуб = СоздатьОбъект("Справочник.Контрагенты"); СпрСуб.НайтиПоКоду("00003510"); Оффис = СпрСуб.ТекущийЭлемент(); СпрСуб.НайтиПоКоду("00004076"); ТРЕС = СпрСуб.ТекущийЭлемент(); Фирмы = СоздатьОбъект("СписокЗначений"); Фирмы.ДобавитьЗначение(Оффис); Фирмы.ДобавитьЗначение(ТРЕС); ТЭСД = 0; ТЭСК = 0; БИП = СоздатьОбъект("БухгалтерскиеИтоги"); ТАБ = СоздатьОбъект("Таблица"); ТАБ.ВывестиСекцию("Верх"); КонечДата = НачМесяца(НачДата); Для А = 1 По ДатаЧисло(КонМесяца(НачДата)) Цикл БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Фирмы, 2); БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч); // БИП.ВыбратьПериоды(); // Пока БИП.ПолучитьПериод() = 1 Цикл БИП.ВыбратьСчета(); БИП.ПолучитьСчет(,СчетПоКоду("76,5")); БИП.ВыбратьСубконто(1); БИП.ПолучитьСубконто(1,,Оффис); ОфисДолг = БИП.СКК(); БИП.ПолучитьСчет(,СчетПоКоду("62")); БИП.ВыбратьСубконто(1); БИП.ПолучитьСубконто(1,,ТРЕС); ТЭСД = БИП.СКД(); ТЭСК = БИП.СКК(); Если ТЭСД > 0 Тогда Долг = ОфисДолг-ТЭСД; РазмерДолга = ((ОфисДолг-ТЭСД-200000000)*Проц/100)/365; Иначе Долг = ОфисДолг+ТЭСК; РазмерДолга = ((ОфисДолг+ТЭСК-200000000)*Проц/100)/365; КонецЕсли; Таб.ВывестиСекцию("Строка"); КонечДата = КонечДата+1; ИтогоДолг = ИтогоДолг+Долг; ИтогоРазмерДолга = ИтогоРазмерДолга+РазмерДолга; КонецЦикла; А вот так нет СтрСч = "62,76.5"; ИтогоРазмерДолга = 0; ИтогоДолг = 0; СпрСуб = СоздатьОбъект("Справочник.Контрагенты"); СпрСуб.НайтиПоКоду("00003510"); Оффис = СпрСуб.ТекущийЭлемент(); СпрСуб.НайтиПоКоду("00004076"); ТРЕС = СпрСуб.ТекущийЭлемент(); Фирмы = СоздатьОбъект("СписокЗначений"); Фирмы.ДобавитьЗначение(Оффис); Фирмы.ДобавитьЗначение(ТРЕС); ТЭСД = 0; ТЭСК = 0; БИП = СоздатьОбъект("БухгалтерскиеИтоги"); ТАБ = СоздатьОбъект("Таблица"); ТАБ.ВывестиСекцию("Верх"); // КонечДата = НачМесяца(НачДата); // Для А = 1 По ДатаЧисло(КонМесяца(НачДата)) Цикл БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Фирмы, 2); БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч,,,,"День"); БИП.ВыбратьПериоды(); Пока БИП.ПолучитьПериод() = 1 Цикл БИП.ВыбратьСчета(); БИП.ПолучитьСчет(,СчетПоКоду("76,5")); БИП.ВыбратьСубконто(1); БИП.ПолучитьСубконто(1,,Оффис); ОфисДолг = БИП.СКК(); БИП.ПолучитьСчет(,СчетПоКоду("62")); БИП.ВыбратьСубконто(1); БИП.ПолучитьСубконто(1,,ТРЕС); ТЭСД = БИП.СКД(); ТЭСК = БИП.СКК(); Если ТЭСД > 0 Тогда Долг = ОфисДолг-ТЭСД; РазмерДолга = ((ОфисДолг-ТЭСД-200000000)*Проц/100)/365; Иначе Долг = ОфисДолг+ТЭСК; РазмерДолга = ((ОфисДолг+ТЭСК-200000000)*Проц/100)/365; КонецЕсли; Таб.ВывестиСекцию("Строка"); // КонечДата = КонечДата+1; ИтогоДолг = ИтогоДолг+Долг; ИтогоРазмерДолга = ИтогоРазмерДолга+РазмерДолга; КонецЦикла; У меня не выбираются счета.. и получитьсчет() = 0 После того как я сделал ВыбратьПериоды.. счета уже не выбираются.. и ПолучитьСубконто(1,,Трес) тоже = 0 Не работает пчму то.. а пчму не знаю.. как нужно сделать.. подскажите плиз.. |
|||
29
CepeLLlka
19.04.11
✎
22:31
|
Все уже спят? Или в моём бреду даже копаться стыдно? :(
|
|||
30
CepeLLlka
19.04.11
✎
22:32
|
Эээм
|
|||
31
CepeLLlka
19.04.11
✎
22:52
|
И ещё... поставил сейчас вот такую штуку
БИП.ВыбратьПериоды(,,,1); До моего ума никак не доходит фраза "Разворачивать по сальдо" Какое ещё РАЗВОРАЧИВАТЬ %) Вобщем у меня к примеру за 9 и 11 и 31 число считает правильно.. а в других случаях не правильно.. Кажется что он их по проводкам берёт чтоли.. У меня ведь в любом случае должны быть остатки по этим субконто на каждый день.. пусть и одинаковые(Если проводок не было) Подскажите пожалуйста.. пчму так |
|||
32
CepeLLlka
20.04.11
✎
07:05
|
Доброе утро всем вам... может кто-нибудь проснулся уже? Напишите мне чего-нибудь :)
|
|||
33
CepeLLlka
20.04.11
✎
08:14
|
Ну чё вы... Джинн.. ты тут?
МОжет у меня осталось два желания? |
|||
34
Джинн
20.04.11
✎
08:20
|
(33) Чуть попозже подними. Сейчас в дороге на работу.
|
|||
35
KishMish
20.04.11
✎
09:18
|
(28)
если все равно не проверяешь на наличие кода в справочнике, то вот это СпрСуб = СоздатьОбъект("Справочник.Контрагенты"); СпрСуб.НайтиПоКоду("00003510"); Оффис = СпрСуб.ТекущийЭлемент(); можно заменить на Оффис = ЗначениеИзСтроки("{""Справочник"",""Контрагенты"",""00003510""}"); |
|||
36
CepeLLlka
20.04.11
✎
09:40
|
Пойду почитаю про ЗначениеИзСтроки.. я такого не видел даже вроде..
Это чтобы не создаватьобъектов, да? Меньше кода и т.д? Пасибки тебе.. У нас в холдинге, в ресторанной компании одна кафешка так нызывалась раньше - Киш-Миш. Она была деревянная и её решили закрыть после какой-то там Лошади.. |
|||
37
G-Re
20.04.11
✎
10:02
|
Еще один вариант, не совсем кошерный, но надежный, так как Наименование это такое дело, его могут и переназвать.
Заведи Константу с типом, какой у твоего Субконто, назначь ее. А потом уже используй ее значение, там, где надо, через Константа.ТвояКонстанта. |
|||
38
CepeLLlka
20.04.11
✎
10:13
|
(35)
А как ты узнал о формате строки? Сделал сначала ЗначениеВСтроку и потом подглядел, да? Потому что в книжке и в СП нету описания как формировать эту строку.. только лишь используя ЗначениеВСтроку |
|||
39
CepeLLlka
20.04.11
✎
10:15
|
А С Периодом то чё? Пчму не работает у меня это?
|
|||
40
KishMish
20.04.11
✎
10:33
|
(38) - ну в принципе да, сформировал поглядел и использую
кстатит если ты поучишь строку ЗначениеВСтрокуВнутр и потом будешь использовать как ЗначениеИзСтрокиВнутр то даже при изменении кода будет обращение именно к этому товарищу. этол для того чтобы учесть возможность изменения кода пользователем. (39) с периодмо не смотрел я, код большой. но дума так. ты смотришоь остатки, а периоды рассчитываются только те, где былиобороты. использую ВыбратьПериоды с флагом ВСЕ, непомню какой параметр по счету - использовать ВСЕ ПЕРИОДЫ ВОШЕДШИЕ В ЗАПРОС. и еще если ты используешь получитьСчет(конретный счет) и ПолучитьлСубконто(конертное субконто) то не надо использовать ВыбратьСубконто и выбратьсчета они используются только доля перебора в конструкции ВыбратьСубокнто(); Пока ПолучитьСубконто()=1 Цикл |
|||
41
zak555
20.04.11
✎
10:34
|
в выборке будут не верные результаты
|
|||
42
Джинн
20.04.11
✎
10:37
|
Что за задача вообще?
|
|||
43
zak555
20.04.11
✎
10:57
|
если у тебя счета АП - то у тебя будут свернуты по субконто - что неверно
сейчас придёт RayCon и заклюёт код =) |
|||
44
CepeLLlka
20.04.11
✎
11:06
|
Ну просто задача... у нас филиальная сеть.. и вот управляющей компании самый главный филиал должен бабла.. и нужно вот высчитывать сколько он должен.. вот и считаю типа..
|
|||
45
zak555
20.04.11
✎
11:08
|
(44) спроси, что конкретно нужно
|
|||
46
Джинн
20.04.11
✎
11:09
|
"Должен бабла" - это по одному контрагенту выбрать счета и сложить сальдо?
|
|||
47
CepeLLlka
20.04.11
✎
11:21
|
Ну там ещё другого контрагента нужно учитывать и удалять его долг.. я точно не знаю всех их махинации..
|
|||
48
zak555
20.04.11
✎
11:22
|
(47) развернуто сальдо
|
|||
49
Джинн
20.04.11
✎
11:26
|
(47) В переводе на 1С как это перевести?
|
|||
50
CepeLLlka
20.04.11
✎
11:32
|
(76.5 счет.. контра офис СКК на каждый день) - (62 счет "трес" контрагент СКК или СКД на каждый день) - 200кк * на проценты / 100 и / 365
Вот так.. |
|||
51
CepeLLlka
20.04.11
✎
11:35
|
(40)
Спасибо за ВыбратьСубконто() и ВыбратьСчета() А вот в ВыбратьПериоды() пробовал все флаги.. и 1 и 2 - ВыбратьПериоды(1) или (2) и ничё не изменилось :( Там ещё есть -2 чтоли.. хз даже не понятно |
|||
52
zak555
20.04.11
✎
11:36
|
СКК - свернутое будет сальдо
а в осв не бось показывается развёрнутое |
|||
53
CepeLLlka
20.04.11
✎
11:39
|
в(28) то первый вариант то работает.. и считает всё правельно.. так же как бух в ручную высчитывал..
|
|||
54
Джинн
20.04.11
✎
11:43
|
Создаешь список, добавляешь этих двух контрагентов, подсовываешь список в ИспользоватьСубконто. Дальше запрос, ВыбратьСубконто, ВыбратьСчета, ВыбратьПериоды.
Посмотри типовой АнализСубконто в бухии. |
|||
55
CepeLLlka
20.04.11
✎
11:48
|
Я так и делаю
Но в АнализСубконто не выводит ифну по каждому дню.. а мне нужно за каждый день |
|||
56
chief accountant
20.04.11
✎
11:54
|
(55) Карточка субконто выводит по дням
|
|||
57
CepeLLlka
20.04.11
✎
11:58
|
Не выводит по дням.. выводит только по тем дням.. в которых были обороты.. так же как и у меня..
У меня считается правильно только на те дни когда были обороты.. а не на каждый день.. |
|||
58
zak555
20.04.11
✎
11:59
|
для н = дата1 по дата2 цикл
бухИт.ПолучитьПериод(,,н); |
|||
59
CepeLLlka
20.04.11
✎
12:02
|
Так у меня почти так же сделано ведь.. или ты не вникал мой бредовый код?
(58) Так я вобще каждый период получаю.. и без того.. какой смысл в этом? это получается я просто сделаю ручной перебор.. Без использования ВыбратьПериоды() Или я не так что-то понимаю? |
|||
60
CepeLLlka
20.04.11
✎
12:04
|
<ФлагВсе> - число: 0 - отбирать те счета, которые имели итоги на этом уровне обхода итогов запроса; 1 - включить в выборку все счета, которые имели итоги в данном запросе; -1, -2 : включить в выборку счета, которые имели итоги в группировке n-го вышестоящего уровня. По умолчанию - 0.
Вот из этого текста.. помогите понять это.. -1, -2 : включить в выборку счета, которые имели итоги в группировке n-го вышестоящего уровня. Это что и как мне нужно писать, чтобы попробовать это.. ВыбратьПериоды(-1,,,1); Так? Это правильно? |
|||
61
CepeLLlka
20.04.11
✎
12:10
|
Если я выполняю ВыполнитьЗапрос()
31 раз.. то работает.. а по периодам не работает.. :( Но по периодам быстрее выполняет раза в 3.. Прям нажал на кнопку и всё.. а так чуть медленнее.. |
|||
62
CepeLLlka
20.04.11
✎
12:25
|
Джинн Смотри (28) Вот.. такая задача то.. чтобы при помощи ПолучитьПериод() я получал остатки на начало периода и на конец, даже если не было проводок в этот день..
|
|||
63
zak555
20.04.11
✎
12:29
|
(61) запрос один + обход всех дней в (58)
|
|||
64
CepeLLlka
20.04.11
✎
12:33
|
(63) А у меня сейчас также ведь
ЗапросОдин.. и обход всех дней.. ВыбратьПериоды() Пока ПолучитьПериод() = 1 Цикл КонецЦикла; 31 раз будет это.. Все дни.. но дело то не в этом.. дело в том.. что не выводит он СКК если не было проводки.. |
|||
65
CepeLLlka
20.04.11
✎
12:33
|
Хочешь по ТимВиверу тебе покажу? о_О
|
|||
66
Джинн
20.04.11
✎
12:34
|
(57) Так и должно быть. Это особенность запроса. Нужны даты с пустыми оборотами - добавляй их сам.
|
|||
67
zak555
20.04.11
✎
12:35
|
ВыбратьПериоды();
для н = дата1 по дата2 цикл бухИт.ПолучитьПериод(,,н); конецЦикла; |
|||
68
CepeLLlka
20.04.11
✎
12:37
|
Да я понял.. что это изменит то? :) Тоже самое на выходе получу ведь.. или нет?
|
|||
69
CepeLLlka
20.04.11
✎
12:38
|
Пойду попробую раз ты так настаиваешь.. по моему ты создаёшь тот же самый перебор только вручную.
|
|||
70
CepeLLlka
20.04.11
✎
12:44
|
И наверное ПолучитьПериод(н) А не ПолучитьПериод(,,н)
Это номер выборки в ВыбратьПериоды(,,н) является на третьей позиции |
|||
71
zak555
20.04.11
✎
13:10
|
почитай уже сп
|
|||
72
CepeLLlka
20.04.11
✎
13:13
|
Так я постоянно читаю.. Зак.. Ну не злись.. чё ты..
|
|||
73
CepeLLlka
20.04.11
✎
13:16
|
Мне кажется что ты просто ошибся.. и злишься теперь :(
|
|||
74
zak555
20.04.11
✎
13:20
|
вот так : одна зпт была лишняя
ВыбратьПериоды(); для н = дата1 по дата2 цикл бухИт.ПолучитьПериод(,н); конецЦикла; |
|||
75
CepeLLlka
20.04.11
✎
13:26
|
Вобщем ни к чему это всё.. оставлю первый вариант.. и ок
|
|||
76
KishMish
20.04.11
✎
13:40
|
(75) ну как это "ни к чему это все" - разве ты не узнал чего-то нового, не получил драгоценной експы? )))
|
|||
77
CepeLLlka
20.04.11
✎
13:48
|
(76)Неее, Экспы то получил..
Спасибо всем за это большое Я к тому что не на много скорость вывода результатов увеличивается если делать по другому.. но по другому никак не сделать :( ПолучитьПериод вобще используется в примере после - ВыбратьСчета(); ПолучитьСчет(); Воть... Это мне придётся в табличной части ПрисоединитьСекцию(); ДЕлать или я хз.. Потом может попробую ещё.. Спасибо тебе ещё раз. |
|||
78
zak555
20.04.11
✎
13:57
|
(75) тогда что было в (59) ?
|
|||
79
CepeLLlka
20.04.11
✎
14:08
|
В смысле что было?
в 59 я тебе обьяснял что ты делаешь тот же самый цикл, только в ручную.. Вот и всё.. |
|||
80
zak555
20.04.11
✎
14:12
|
(79) разница существенная : у меня один раз запрос выполняется, а у тебя 31 раз
|
|||
81
CepeLLlka
20.04.11
✎
14:26
|
(80)
Зак.. так не получается же так.. он считает только за те дни за которые есть проводки по этому субконто..а если нету.. то не считает.. В этом то и проблема.. изначально.. |
|||
82
zak555
20.04.11
✎
14:32
|
(81) ты чукча-писатель ?
выбратьСбуконто() Пока ПолдучитьСубконто() ВыбратьПериоды(); для н = дата1 по дата2 цикл бухИт.ПолучитьПериод(,н); конецЦикла; |
|||
83
zak555
20.04.11
✎
14:32
|
или наоборт выборку
|
|||
84
zak555
20.04.11
✎
14:52
|
слил ?
|
|||
85
CepeLLlka
20.04.11
✎
15:10
|
Всмысле слил? В (28) видешь как у меня?
То что в (82) это я уже потом понял.. Но мне нужно за один период получать информацию по 2ум счетам и 2ум субконто, а не только по одному.. И что ещё за слил? Я тут не спорю с тобой.. какой смысл с тобой спорить мне, если я глупый и мало знаю, а ты умный и много знаешь.. я просто совета прошу всегда.. |
|||
86
zak555
20.04.11
✎
15:12
|
кто мешает получать одни запросом по 10тю счетам и трём субконтом ?
|
|||
87
CepeLLlka
20.04.11
✎
15:21
|
Выполнять - ВыбратьПериоды() Можно только после ВыбратьСчета();
ПолучитьСчет(); ПолучитьСубконто(); И у меня пойдёт цикл по одному субконто.. А тут у меня идёт цикл сразу по двум и в этом же цикле выводится строка в таблицу.. А там то как будет? :( У меня там будет два цикла получается.. для каждого субконто - цикл.. иначе то никак получается.. |
|||
88
zak555
20.04.11
✎
15:22
|
(87) > Можно только после
врёшь |
|||
89
CepeLLlka
20.04.11
✎
15:28
|
Так в примере из ЖКК
Я использовал до.. но получилось я уже говорил что.. Он выдаёт информацию только за те дни когда были проводки.. за другие дни он просто не видит этого субконто.. |
|||
90
CepeLLlka
20.04.11
✎
15:28
|
Если не веришь.. добро пожаловать в мой комп через тимвивер
|
|||
91
zak555
20.04.11
✎
15:29
|
(89) ты издеваешься ?
|
|||
92
zak555
20.04.11
✎
15:29
|
может 1с вообще не твоё ?
|
|||
93
CepeLLlka
20.04.11
✎
15:33
|
Я не издеваюсь.. и 1С - моё...
Зак.. пчму ты мне не веришь? Говорю ведь не показывает данные он :( Зачем мне врать? Ты ведь сам знаешь что я уже давно и много тут пишу и если получается то.. то я отстаю.. я не вру ведь.. |
|||
94
zak555
20.04.11
✎
15:34
|
ты мне покажи код, который не показывает
|
|||
95
Evgenchik
20.04.11
✎
15:36
|
до 500 постов дотянете?
|
|||
96
zak555
20.04.11
✎
15:46
|
(95) думаю больше =)
|
|||
97
CepeLLlka
20.04.11
✎
16:05
|
Ща попробую.. сек.
|
|||
98
CepeLLlka
20.04.11
✎
16:12
|
Вот это не показывает
БИП = СоздатьОбъект("БухгалтерскиеИтоги"); ТАБ = СоздатьОбъект("Таблица"); ТАБ.ВывестиСекцию("Верх"); КонечДата = НачМесяца(НачДата); // Для А = 1 По ДатаЧисло(КонМесяца(НачДата)) Цикл БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Фирмы, 2); БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч,,,,"День"); БИП.ВыбратьПериоды(,,,1); Для А = НачДата По КонДата Цикл БИП.ПолучитьПериод(,А); БИП.ПолучитьСчет(,СчетПоКоду("76,5")); БИП.ПолучитьСубконто(1,,Оффис); ОфисДолг = БИП.СКК(); БИП.ПолучитьСчет(,СчетПоКоду("62")); БИП.ПолучитьСубконто(1,,ТРЕС); ТЭСД = БИП.СКД(); ТЭСК = БИП.СКК(); Если ТЭСД > 0 Тогда Долг = ОфисДолг-ТЭСД; РазмерДолга = ((ОфисДолг-ТЭСД-200000000)*Проц/100)/365; Иначе Долг = ОфисДолг+ТЭСК; РазмерДолга = ((ОфисДолг+ТЭСК-200000000)*Проц/100)/365; КонецЕсли; Таб.ВывестиСекцию("Строка"); КонечДата = КонечДата+1; ИтогоДолг = ИтогоДолг+Долг; ИтогоРазмерДолга = ИтогоРазмерДолга+РазмерДолга; КонецЦикла; |
|||
99
KishMish
20.04.11
✎
16:27
|
БИП.ВыбратьПериоды(1);
Пока БИП.ПолучитьПериод() = 1 Цикл Должно обрабатывать все периоды и это что КонечДата = НачМесяца(НачДата); ? |
|||
100
KishMish
20.04.11
✎
16:29
|
+(99) следующее
надо использовать конструкцию Если БИП.ПолучитьСчет(,СчетПоКоду("76,5"))=1 Тогда Если БИП.ПолучитьСубконто(1,,Оффис)=1 ОфисДолг = БИП.СКК(); КонецЕсли; КонецЕсли; а то он у тебя не спозиционируется и покажет "что нибудь" |
|||
101
CepeLLlka
20.04.11
✎
16:33
|
(99)
Это мне нужно было :) Это тут не мешает и не влияет.. У меня Всегда БИП.ПолучитьСчет(,СчетПоКоду("76,5"))=0 Я в отладчике смотрел.. А потом в СП глянул пример.. и увидел что ВыбратьПериоды там используется уже после того как спозиционировались на счете.. я об этом Заку сказал.. но он сказал что не верно :( |
|||
102
KishMish
20.04.11
✎
16:35
|
(101) КонечДата = НачМесяца(НачДата);
с использованием в (БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч,,,,"День");) объясни смысл этого выражения. |
|||
103
CepeLLlka
20.04.11
✎
16:55
|
Это там не используется же.. где ты видишь чтобы это там использовалось?
|
|||
104
CepeLLlka
20.04.11
✎
17:14
|
Это я использую тогда когда делаю 31 запрос..
Чтобы получить первую самую дату.. получается что я циклом делаю 31 запрос периодом - 1 день.. И в конце каждого цикла пишу так КонечДата = КонечДата+1 Вот и всё.. |
|||
105
zak555
20.04.11
✎
18:15
|
(104) не надо 100 запросов
|
|||
106
zak555
20.04.11
✎
18:34
|
> ВыбратьПериоды там используется уже после того как спозиционировались на счете..
где написано ? |
|||
107
zak555
20.04.11
✎
18:34
|
+ что в СтрСч ?
|
|||
108
CepeLLlka
20.04.11
✎
22:16
|
В (28) написано - СтрСч = "62,76.5";
Ну я ведь говорю что делаю вот так как ты написал.. ну не работает же :( |
|||
109
CepeLLlka
20.04.11
✎
22:25
|
(106)
И я не говорю что написано.. я ещё раз говорю Я посмотрел в ЖКК там пример и там ВыбратьПериоды там используется уже после того как спозиционировались на счете.. |
|||
110
zak555
20.04.11
✎
23:06
|
(109) покуй
|
|||
111
zak555
20.04.11
✎
23:06
|
(108) выборка была по счету "76,5"
=> ничего не понимать |
|||
112
CepeLLlka
22.04.11
✎
07:47
|
Парни а может ли флаг на форме быть реквизитом?
|
|||
113
zak555
22.04.11
✎
08:51
|
(112) иди запрос пиши
|
|||
114
KishMish
22.04.11
✎
09:15
|
(112) да
|
|||
115
CepeLLlka
22.04.11
✎
09:42
|
(113) А ты всё ненавидишь меня? :)
Я сделал флаг уже.. я сделал.. и тупанул.. проверил не там где сделал... впрочем как всегда.. я ведь м у д а к.. |
|||
116
zak555
22.04.11
✎
09:44
|
(115) у тебя по-прежнему 31 запрос ? о+_О
|
|||
117
CepeLLlka
22.04.11
✎
10:02
|
Да :) 31 :)
|
|||
118
CepeLLlka
22.04.11
✎
10:03
|
Зак... ну я хз как сделать то.. ты сам попробуй сделай чтобы у тебя работало.. а то ты говоришь что должно работать.. я проверяю а там 8===э
|
|||
119
zak555
22.04.11
✎
10:03
|
(118) я не видел код, который у тебя не рабаотает
|
|||
120
CepeLLlka
22.04.11
✎
10:05
|
Ну погляди (98), увидь..
А ещё вот чё.. существует ли такая обработка уже написанная для 1С.. чтобы прям из 1С сканировать и сохранять картинки в 1С? |
|||
121
zak555
22.04.11
✎
10:06
|
что такое : СчетПоКоду("76,5") ???
может точка там должна быть 7 |
|||
122
CepeLLlka
22.04.11
✎
10:09
|
Где там? 76"."5 Эта точка?
ну я хз.. мой вариант то и без точки работает же.. ща проверю отладчиком... |
|||
123
CepeLLlka
22.04.11
✎
10:10
|
Поставил точку за место запятой.. ничё не изменилось..
|
|||
124
CepeLLlka
22.04.11
✎
10:12
|
Мне видимо везло что он у меня сразу позиционировался на 76.5
Спасибо за это тебе.. Зак.. но всё равно не помогло же :( |
|||
125
zak555
22.04.11
✎
11:39
|
БИП = СоздатьОбъект("БухгалтерскиеИтоги");
БИП.ВключатьСубсчета(0); БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Фирмы, 2); БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч,,,,"День"); БИП.ВыбратьПериоды(,,,1); Для А = НачДата По КонДата Цикл ЕстьРезультат = БИП.ПолучитьПериод(,А); Если ЕстьРезультат=1 Тогда Сообщить("" + БИП.НачДата); КонецЕсли; КонецЦикла; |
|||
126
CepeLLlka
22.04.11
✎
11:41
|
Ну и? Дату он сообщит.. а данные не сообщит.. потом что их нет
|
|||
127
CepeLLlka
22.04.11
✎
11:42
|
У меня дату тоже сообщает.. и всё норм.. прям по дням..
|
|||
128
CepeLLlka
22.04.11
✎
11:45
|
А вот СКК он мне по нужному мне субконто он мне сообщается только за те дни, за которые есть обороты..
|
|||
129
zak555
22.04.11
✎
11:46
|
т.е. он тебе вывел 31 дату ?
|
|||
130
CepeLLlka
22.04.11
✎
11:51
|
Да.. мне выводило 31 строку.. ну это если месяц март.. если апрель то 30 выдавал офк..
Где в 5 строках он правильно считал.. поотму что находил данные.. а в остальных не правельно.. потому что не позиционировался на нужном субконто(т.к. не было там данных видимо, так Киш Миш сказал и я так думаю) и брал значение с прошлого - с ОФиса.. и получалось хз что... но в 5 строках всё было норм.. именно за те датые за которые были обороты.. |
|||
131
zak555
22.04.11
✎
11:56
|
что у тебя в Фирмы ?
|
|||
132
CepeLLlka
22.04.11
✎
11:58
|
Долг одной организации по отношению к управляющей компании..
400+кк Воть что там у меня.. |
|||
133
zak555
22.04.11
✎
11:59
|
что там находится ????????????
|
|||
134
zak555
22.04.11
✎
11:59
|
что выведет это :
БИП = СоздатьОбъект("БухгалтерскиеИтоги"); БИП.ВключатьСубсчета(0); БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Фирмы, 2); БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч,,,,"День"); БИП.ВыбратьПериоды(,,,1); Для А = НачДата По КонДата Цикл ЕстьРезультат = БИП.ПолучитьПериод(,А); //Если ЕстьРезультат=1 Тогда // Сообщить("" + БИП.НачДата); //КонецЕсли; БИП.ВыбратьСчета(1,,,1); Если БИП.ПолучитьСчет(,СчетПоКоду("76.5"))=1 Тогда Сообщить("есть на 76.5"); КонецЕСли; Если БИП.ПолучитьСчет(,СчетПоКоду("62"))=1 Тогда Сообщить("есть на 62"); КонецЕСли; КонецЦикла; |
|||
135
CepeLLlka
22.04.11
✎
12:02
|
:( Чередует видимо 31 раз..
|
|||
136
CepeLLlka
22.04.11
✎
12:03
|
Ща попробую подставлю субконто..
|
|||
137
zak555
22.04.11
✎
12:03
|
что выводит ?
ты глупый ? |
|||
138
zak555
22.04.11
✎
12:03
|
я не умею смотреть в твой монитор
|
|||
139
CepeLLlka
22.04.11
✎
12:05
|
Сообщения выводит.. 31 раз
Есть на 62 Есть на 76 Есть на 62 Есть на 76 Я так и сказал ( Чередует видимо 31 раз.. |
|||
140
zak555
22.04.11
✎
12:09
|
так что выводит :
БИП = СоздатьОбъект("БухгалтерскиеИтоги"); БИП.ВключатьСубсчета(0); БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Фирмы, 2); БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч,,,,"День"); БИП.ВыбратьПериоды(,,,1); Для А = НачДата По КонДата Цикл ЕстьРезультат = БИП.ПолучитьПериод(,А); //Если ЕстьРезультат=1 Тогда // Сообщить("" + БИП.НачДата); //КонецЕсли; БИП.ВыбратьСчета(1,,,1); Если БИП.ПолучитьСчет(,СчетПоКоду("76.5"))=1 Тогда //Сообщить("есть на 76.5"); Если БИП.ПолучитьСубконто(1,,Оффис)=1 Тогда Сообщить("есть по офису"); КонецЕсли; КонецЕСли; Если БИП.ПолучитьСчет(,СчетПоКоду("62"))=1 Тогда //Сообщить("есть на 62"); Если БИП.ПолучитьСубконто(1,,ТРЕС)=1 Тогда Сообщить("есть по ТРЕС"); КонецЕсли; КонецЕСли; КонецЦикла; |
|||
141
CepeLLlka
22.04.11
✎
12:11
|
есть по офису
есть по офису есть по офису есть по офису есть по офису есть по офису есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС есть по ТРЕС |
|||
142
CepeLLlka
22.04.11
✎
12:12
|
Вот это кстати я не разбирал.. не знаю пчму у меня только за 5 дней в табличке норм считает.. а потом фигушки.. пишет что типа нету на оффисе нифига.. это обман.. там всё есть..
Мои 31 запросов показывают ведь это.. и девчёнки проверяют.. говорят - Ок |
|||
143
CepeLLlka
22.04.11
✎
12:13
|
Как вот так?
Только что код работал.. а субконто выводит хз как.. А первый код чётко отработал.. все 62 строчки. |
|||
144
zak555
22.04.11
✎
12:15
|
БИП = СоздатьОбъект("БухгалтерскиеИтоги");
БИП.ВключатьСубсчета(0); БИП.ИспользоватьСубконто(ВидыСубконто.Контрагенты, Фирмы, 2); БИП.ВыполнитьЗапрос(НачДата,КонДата,СтрСч,,,,"День"); БИП.ВыбратьПериоды(,,,1); Для А = НачДата По КонДата Цикл ЕстьРезультат = БИП.ПолучитьПериод(,А); //Если ЕстьРезультат=1 Тогда // Сообщить("" + БИП.НачДата); //КонецЕсли; БИП.ВыбратьСчета(1,,,1); Если БИП.ПолучитьСчет(,СчетПоКоду("76.5"))=1 Тогда //Сообщить("есть на 76.5"); ОфисДолг = 0; Если БИП.ПолучитьСубконто(1,,Оффис)=1 Тогда //Сообщить("есть по офису"); ОфисДолг = БИП.СКК(); КонецЕсли; КонецЕСли; Если БИП.ПолучитьСчет(,СчетПоКоду("62"))=1 Тогда //Сообщить("есть на 62"); ТЭСД = 0; ТЭСК = 0; Если БИП.ПолучитьСубконто(1,,ТРЕС)=1 Тогда //Сообщить("есть по ТРЕС"); ТЭСД = БИП.СКД(); ТЭСК = БИП.СКК(); КонецЕсли; КонецЕСли; КонецЦикла; |
|||
145
zak555
22.04.11
✎
12:16
|
(142) чего-чего ?
|
|||
146
CepeLLlka
22.04.11
✎
12:21
|
(145)
Ну я в твой код подставил субконто.. и чтобы на печать выводил.. выводит как и во втором варианте у тебя только 5 строк.. потом бардак.. |
|||
147
zak555
22.04.11
✎
12:22
|
(146) не понимаю
|
|||
148
CepeLLlka
22.04.11
✎
12:29
|
Ты выводил всё это в Сообщить..
А я в печатную форму.. и всё.. Последний код отработал так же как и код в (140) |
|||
149
zak555
22.04.11
✎
12:55
|
так в чём проблема ?
|
|||
150
zak555
22.04.11
✎
12:56
|
открывай карточки счета за период
и смотри по офису 76.5 по ТРЕС 62 |
|||
151
CepeLLlka
22.04.11
✎
15:59
|
Ну так что насчёт сканирование из 1С?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |