Перейти к содержимому


- - - - -

(РЕШЕНО) Выборка


  • Вы не можете ответить в тему
Сообщений в теме: 23

#1 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 07 февраля 2012 - 14:32

Ит = СоздатьОбъект("БухгалтерскиеИтоги");   
    Ит.ВключатьСубсчета(1,1);
    Ит.ИспользоватьСубконто(ВидыСубконто.Студенты,СпСтудентов,);   
    Ит.ИспользоватьСубконто(ВидыСубконто.Группы,Группа);
    Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата,ВидНачисления,);
    Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);
    Ит.ВыбратьСубконто(1);  Сообщить("Ит.ПолучитьСубконто()--"+Ит.ПолучитьСубконто());
    Пока Ит.ПолучитьСубконто(1) = 1 Цикл 
	    ТекСтудент = Ит.Субконто(1); 
	    Ит.ВыбратьСубконто(2);
	    Пока Ит.ПолучитьСубконто(2) = 1 Цикл 
		    Ит.ВыбратьСубконто(3);
		    Пока Ит.ПолучитьСубконто(3) = 1 Цикл
			    СуммаНачислено = 0;
			    СуммаНачислено = Ит.СКК("С"); 
			    Если (СуммаНачислено = 0)  Тогда
				    Продолжить;
			    КонецЕсли;
		    КонецЦикла;
	    КонецЦикла;   
	   
	    Если (ПУСТОЕЗНАЧЕНИЕ(ТекСтудент)=0) И (СуммаНачислено>0) Тогда
		    Табл.НоваяСтрока();
		    Табл.Код = ТекСтудент.Код;
		    Табл.Сотр   = ТекСтудент;
		    Табл.Сумма  = СуммаНачислено;
	    КонецЕсли;
    КонецЦикла;

Немогу получить по 2,3 субконто данные, через сообщение видн что получитьСубконто =0
как только отключаю 2,3 использоватьСубконта оставляю 1 то видет, проводки по этому счету есть по всем 3 ем субконто непойму в чем дело

Сообщение отредактировал WaRDeR: 08 февраля 2012 - 08:51
Добавление тегов


#2 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 07 февраля 2012 - 14:45

1. Данные в переменной Счет это группа счетов или элемент?
2. Группа и ВидНачисления это что? Если там не список значений и вам нужен отбор по данным значениям, то 3-ий параметр в ИспользоватьСубконто установите в 2 и ВыбратьСубконто не нужно.

Сообщение отредактировал Requin: 07 февраля 2012 - 14:46

Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#3 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 07 февраля 2012 - 14:55

Просмотр сообщенияRequin (07 февраля 2012 - 14:45) писал:

1. Данные в переменной Счет это группа счетов или элемент?
2. Группа и ВидНачисления это что? Если там не список значений и вам нужен отбор по данным значениям, то 3-ий параметр в ИспользоватьСубконто установите в 2 и ВыбратьСубконто не нужно.
Счет = СчетПоКоду("3399"); Группа -реквезит документа и ВидНачисления-реквезит, чет я не понял что сделать?

#4 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 07 февраля 2012 - 15:05

Просмотр сообщенияvall-n-rol (07 февраля 2012 - 14:55) писал:

...чет я не понял что сделать?
Как-то так:

Ит.ИспользоватьСубконто(ВидыСубконто.Студенты,СпСтудентов);
Ит.ИспользоватьСубконто(ВидыСубконто.Группы,Группа, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата,ВидНачисления, 2);
Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);
Ит.ВыбратьСубконто(1);
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
	ТекСтудент = Ит.Субконто(1);
	СуммаНачислено = Ит.СКК("С");
	Если (СуммаНачислено = 0) Тогда
		Продолжить;
	КонецЕсли;

	Если (ПУСТОЕЗНАЧЕНИЕ(ТекСтудент)=0) И (СуммаНачислено>0) Тогда
		Табл.НоваяСтрока();
		Табл.Код = ТекСтудент.Код;
		Табл.Сотр = ТекСтудент;
		Табл.Сумма = СуммаНачислено;
	КонецЕсли;
КонецЦикла;


Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#5 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 08:32

Просмотр сообщенияRequin (07 февраля 2012 - 15:05) писал:

Как-то так:

Ит.ИспользоватьСубконто(ВидыСубконто.Студенты,СпСтудентов);
Ит.ИспользоватьСубконто(ВидыСубконто.Группы,Группа, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата,ВидНачисления, 2);
Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);
Ит.ВыбратьСубконто(1);
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
	ТекСтудент = Ит.Субконто(1);
	СуммаНачислено = Ит.СКК("С");
	Если (СуммаНачислено = 0) Тогда
		Продолжить;
	КонецЕсли;

	Если (ПУСТОЕЗНАЧЕНИЕ(ТекСтудент)=0) И (СуммаНачислено>0) Тогда
		Табл.НоваяСтрока();
		Табл.Код = ТекСтудент.Код;
		Табл.Сотр = ТекСтудент;
		Табл.Сумма = СуммаНачислено;
	КонецЕсли;
КонецЦикла;

и так я делал все равно через сообщение выводит
Ит.ПолучитьСубконто()--0
неможет получить не одного субконто из выборки 100 раз так делал первый раз неполучается гдето какаято мелоч блин немогу найти

#6 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 08 февраля 2012 - 08:46

Просмотр сообщенияvall-n-rol (08 февраля 2012 - 08:32) писал:

и так я делал все равно через сообщение выводит
Ит.ПолучитьСубконто()--0
...
Не указан индекс (порядковый номер вызова метода "ИспользоватьСубконто").
Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#7 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 08:50

Просмотр сообщенияvall-n-rol (08 февраля 2012 - 08:32) писал:

и так я делал все равно через сообщение выводит
Ит.ПолучитьСубконто()--0
неможет получить не одного субконто из выборки 100 раз так делал первый раз неполучается гдето какаято мелоч блин немогу найти
как тока реанимирую 2,3 фильтр по субконто все нормально отбор идет

Просмотр сообщенияvall-n-rol (08 февраля 2012 - 08:49) писал:

как тока реанимирую 2,3 фильтр по субконто все нормально отбор идет
нет все стоит

    Ит = СоздатьОбъект("БухгалтерскиеИтоги");   
//    Ит.ВключатьСубсчета(1,1);
    Ит.ИспользоватьСубконто(ВидыСубконто.Студенты,СпСтудентов,);   
    Ит.ИспользоватьСубконто(ВидыСубконто.Группы,Группа,2);
    Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата,ВидНачисления,2);
    Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);	 
    Ит.ВыбратьСубконто(1);  Сообщить("Ит.ПолучитьСубконто()--"+Ит.ПолучитьСубконто(1));
    Пока Ит.ПолучитьСубконто(1) = 1 Цикл 
	    ТекСтудент = Ит.Субконто(1); 
	    СуммаНачислено = 0;
	    СуммаНачислено = Ит.СКК("С"); 
	    Если (СуммаНачислено = 0)  Тогда
		    Продолжить;
	    КонецЕсли;
	   
	   
	    Если (ПУСТОЕЗНАЧЕНИЕ(ТекСтудент)=0) И (СуммаНачислено>0) Тогда
		    Табл.НоваяСтрока();
		    Табл.Код = ТекСтудент.Код;
		    Табл.Сотр   = ТекСтудент;
		    Табл.Сумма  = СуммаНачислено;
	    КонецЕсли;
    КонецЦикла;

Сообщение отредактировал WaRDeR: 08 февраля 2012 - 08:58


#8 WaRDeR

    Работа у меня такая ;)


  • 2 924 сообщений

Отправлено 08 февраля 2012 - 08:59

!!!Внимание!!!

Пользуйтесь тегами


Сообщение отредактировал WaRDeR: 08 февраля 2012 - 09:00

Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э.Йодан)

#9 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 08 февраля 2012 - 09:02

А СКК на счете с такими параметрами отбора точно есть?
Не используйте в Сообщить метод ПолучитьСубконто илучше внесите вывод сообщения внутрь цикла.

P.S. Попробуйте еще так:

Ит.ИспользоватьСубконто(ВидыСубконто.Группы,Группа, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата,ВидНачисления, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.Студенты,СпСтудентов);
Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);
Ит.ВыбратьСубконто(3);
Пока Ит.ПолучитьСубконто(3) = 1 Цикл
	ТекСтудент = Ит.Субконто(3);
	СуммаНачислено = Ит.СКК("С");
	Если (СуммаНачислено = 0) Тогда
		Продолжить;
	КонецЕсли;

	Если (ПУСТОЕЗНАЧЕНИЕ(ТекСтудент)=0) И (СуммаНачислено>0) Тогда
		Табл.НоваяСтрока();
		Табл.Код = ТекСтудент.Код;
		Табл.Сотр = ТекСтудент;
		Табл.Сумма = СуммаНачислено;
	КонецЕсли;
КонецЦикла;


Сообщение отредактировал Requin: 08 февраля 2012 - 09:03

Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#10 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 09:15

Просмотр сообщенияRequin (08 февраля 2012 - 09:02) писал:

А СКК на счете с такими параметрами отбора точно есть?
Не используйте в Сообщить метод ПолучитьСубконто илучше внесите вывод сообщения внутрь цикла.

P.S. Попробуйте еще так:

Ит.ИспользоватьСубконто(ВидыСубконто.Группы,Группа, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата,ВидНачисления, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.Студенты,СпСтудентов);
Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);
Ит.ВыбратьСубконто(3);
Пока Ит.ПолучитьСубконто(3) = 1 Цикл
	ТекСтудент = Ит.Субконто(3);
	СуммаНачислено = Ит.СКК("С");
	Если (СуммаНачислено = 0) Тогда
		Продолжить;
	КонецЕсли;

	Если (ПУСТОЕЗНАЧЕНИЕ(ТекСтудент)=0) И (СуммаНачислено>0) Тогда
		Табл.НоваяСтрока();
		Табл.Код = ТекСтудент.Код;
		Табл.Сотр = ТекСтудент;
		Табл.Сумма = СуммаНачислено;
	КонецЕсли;
КонецЦикла;

нет непомогает
а сообщить какой смысл в нутри цыкла ставить цикла то нет
Пока Ит.ПолучитьСубконто(3) = 1 Цикл =0 он неможет получить субконто

#11 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 08 февраля 2012 - 09:22

Просмотр сообщенияvall-n-rol (08 февраля 2012 - 09:15) писал:

нет непомогает...
Ну у меня только одна мысль: конечных остатков для указанных списка студентов, группы и вида начисления по указанным видам субконто на счете нет.
Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#12 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 09:24

Просмотр сообщенияRequin (08 февраля 2012 - 09:22) писал:

Ну у меня только одна мысль: конечных остатков для указанных списка студентов, группы и вида начисления по указанным видам субконто на счете нет.
так по оборотке по этому счету и по этим субконто проводка есть и по всем 3 субконто сумму выводит все как надо

#13 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 09:30

Просмотр сообщенияRequin (08 февраля 2012 - 09:22) писал:

Ну у меня только одна мысль: конечных остатков для указанных списка студентов, группы и вида начисления по указанным видам субконто на счете нет.
я уже перепроверил, я сам дал проводки по счету 3399 по 3 субконто Студент, группа, ВидНачесление,
формерую оборотку по счету по 3 субконто сумы эти весят на всех 3 субконто теперь мне надо сделать перечесление а вытащить немогу по 1 субконто видит по остальным не видет именно по студентам

#14 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 08 февраля 2012 - 09:36

Кстати по первому субконто фильтр тоже должен быть:
Ит.ИспользоватьСубконто(ВидыСубконто.Студенты, СпСтудентов, 2);

Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#15 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 09:48

Просмотр сообщенияRequin (08 февраля 2012 - 09:36) писал:

Кстати по первому субконто фильтр тоже должен быть:
Ит.ИспользоватьСубконто(ВидыСубконто.Студенты, СпСтудентов, 2);
нет не помогло

#16 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 08 февраля 2012 - 10:17

Просмотр сообщенияvall-n-rol (08 февраля 2012 - 09:48) писал:

нет не помогло
Попробуйте выполнить код:
Ит = СоздатьОбъект("БухгалтерскиеИтогил");
Ит.ИспользоватьСубконто(ВидыСубконто.Студенты, СпСтудентов, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.Группы);
Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата);
Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);
Ит.ВыбратьСубконто(1);
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
   ТекСтудент = Ит.Субконто(1);
   Ит.ВыбратьСубконто(2);
   Пока Ит.ПолучитьСубконто(2) = 1 Цикл
	  ТекГруппа = Ит.Субконто(2);
	  Ит.ВыбратьСубконто(3);
	  Пока Ит.ПолучитьСубконто(3) = 1 Цикл
		 ТекВидНачисления = Ит.Субконто(3);
		 Сообщить(СокрЛП(ТекСтудент) + " - " + СокрЛП(ТекГруппа) + " - " + СокрЛП(ТекВидНачисления) + " (" + ?((ТекГруппа = Группа) И (ТекВидНачисления = ВидНачисления), "+", "-") + ")");
	  КонецЦикла;
   КонецЦикла;
КонецЦикла;
В окно сообщений выведутся значения субконто через тире и в конце в скобках "+" (2 и 3 субконто совпадает с реквизитами) или "-" (не совпадает).
Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#17 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 10:22

Просмотр сообщенияRequin (08 февраля 2012 - 10:17) писал:

Попробуйте выполнить код:
Ит = СоздатьОбъект("БухгалтерскиеИтогил");
Ит.ИспользоватьСубконто(ВидыСубконто.Студенты, СпСтудентов, 2);
Ит.ИспользоватьСубконто(ВидыСубконто.Группы);
Ит.ИспользоватьСубконто(ВидыСубконто.ВидыНачисленийСтудентам_Оплата);
Ит.ВыполнитьЗапрос(,ДатаОкончанияПериода, Счет);
Ит.ВыбратьСубконто(1);
Пока Ит.ПолучитьСубконто(1) = 1 Цикл
   ТекСтудент = Ит.Субконто(1);
   Ит.ВыбратьСубконто(2);
   Пока Ит.ПолучитьСубконто(2) = 1 Цикл
	  ТекГруппа = Ит.Субконто(2);
	  Ит.ВыбратьСубконто(3);
	  Пока Ит.ПолучитьСубконто(3) = 1 Цикл
		 ТекВидНачисления = Ит.Субконто(3);
		 Сообщить(СокрЛП(ТекСтудент) + " - " + СокрЛП(ТекГруппа) + " - " + СокрЛП(ТекВидНачисления) + " (" + ?((ТекГруппа = Группа) И (ТекВидНачисления = ВидНачисления), "+", "-") + ")");
	  КонецЦикла;
   КонецЦикла;
КонецЦикла;
В окно сообщений выведутся значения субконто через тире и в конце в скобках "+" (2 и 3 субконто совпадает с реквизитами) или "-" (не совпадает).
нет неполучается, он сообщение вообще не выводит значит просто неоткрывается цикл как и в прошлом случае

#18 Бухгалтерский угодник

    Ветеран


  • 13 307 сообщений

Отправлено 08 февраля 2012 - 10:30

В ОСВ все выводится за период?
Конфа какая - самописка?
Ревкизит "Счет" как выбираете?
"Любая проблема имеет Фамилию, Имя, Отчество....." (И. Сталин)
Жмакнувшим Изображение буду благодарен.

#19 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 08 февраля 2012 - 10:47

Просмотр сообщенияБухгалтерский угодник (08 февраля 2012 - 10:30) писал:

В ОСВ все выводится за период?
Конфа какая - самописка?
Ревкизит "Счет" как выбираете?
нет конфа стандартная бухгалтерия для казахстана, я делаю начисление и перечесление степендии, документ начисления сделал проводки дал по счету 3399, по 3 субконто, все в ОСВ по этому счету и 3 субконто все отражает все отражает, теперь делаю документ перечесления хочу получить СКК по этому счету 3399 счет стоит в документе если дастаю по 1 субконто по студентам все видит если ставлю еще 2 то вообще нет ни какой выборки я запутался стандартная задача непойму в чем дело

#20 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 09 февраля 2012 - 12:15

Помогите люди добрые

#21 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 09 февраля 2012 - 13:34

Что такое СпСтудентов и как он формируется?
Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#22 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 09 февраля 2012 - 14:21

Просмотр сообщенияRequin (09 февраля 2012 - 13:34) писал:

Что такое СпСтудентов и как он формируется?
это список значений формеруется он выбркой из справочника "Студенты" по условию

#23 Requin

    Ветеран


  • 1 234 сообщений

Отправлено 09 февраля 2012 - 14:46

А субконто 2 и 3 на счете случаем не оборотные? В конфигураторе будет стоять птичка "Только обороты", в предприятии перед именем субконто (в плане счетов) "(об)".
Если тебе что-то не нравится, то не спеши это исправлять, если не помнишь, для чего это сделали.
Изображение

#24 vall-n-rol

    Участник


  • 194 сообщений

Отправлено 09 февраля 2012 - 14:46

Просмотр сообщенияvall-n-rol (09 февраля 2012 - 14:21) писал:

это список значений формеруется он выбркой из справочника "Студенты" по условию
все я понял проблему спасибо большое всем





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных