|
Неверный запрос партий | ☑ | ||
---|---|---|---|---|
0
apdate by
03.03.22
✎
16:50
|
Доброго дня!
Помогите туплю уже что то не понимаю в общем пусть 05.05.2020 15:00:00 двинули товар А на склад Дт. 41.1 (этого товара еще не-было) далее делаем перемещение запрашиваю остаток на конец дня так как мне нужно двинуть по партиям этот товар но тут что то идет не так :-( вот запрос Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто3, | ХозрасчетныйОстатки.Субконто4, | ХозрасчетныйОстатки.Организация, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.КоличествоОстатокДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &ВыбДата, | Счет = &ВыбСчет, | &ВидыСубконто, | Субконто1 = &ВыбСклад | И | Субконто2 = &ВыбСтавкаНДС | И | Субконто3 = &ВыбНоменклатура | ) КАК ХозрасчетныйОстатки"; ВидыСубконто = Новый Массив; ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склад); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтавкаНДС); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партия); НастройкиБУ = Константы.НастройкиБухгалтерскогоУчета.Получить(); Запрос.УстановитьПараметр("ВыбСклад",СкладОтправитель.Ссылка); Запрос.УстановитьПараметр("ВыбНоменклатура",Товар.Ссылка); Запрос.УстановитьПараметр("ВыбСтавкаНДС",Товар.Ссылка.СтавкаНДС); Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто); Запрос.УстановитьПараметр("ВыбДата", КонецДня(датаДок)); Запрос.УстановитьПараметр("ВыбСчет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.КоличествоОстатокДт > 0 Тогда НовСтрПартии = ТЗПартий.Добавить(); НовСтрПартии.ДатаПартии = ВыборкаДетальныеЗаписи.Субконто4.ПриходныйДокумент.Дата; НовСтрПартии.СкладМагазин = ВыборкаДетальныеЗаписи.Субконто1; НовСтрПартии.Партия = ВыборкаДетальныеЗаписи.Субконто4; НовСтрПартии.КоличествоОстаток = ВыборкаДетальныеЗаписи.КоличествоОстатокДт; НовСтрПартии.СуммаОстаток = ВыборкаДетальныеЗаписи.СуммаОстатокДт; КонецЕсли; КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА ТЗПартий.Сортировать("ДатаПартии Возр"); Возврат ТЗПартий; так Вот ТЗ пустая а если обороты запрашиваю то показывает как быть? мне необходимо получить все первые незакрытые партии даже те которые поступили сегодня |
|||
1
piter3
03.03.22
✎
16:52
|
показывай параметры
|
|||
2
apdate by
03.03.22
✎
16:55
|
Функция НайтиПервыеНезакрытыеПартииПоСкладу(Товар,СкладОтправитель,датаДок)
ТЗПартий = Новый ТаблицаЗначений; ТЗПартий.Колонки.Добавить("ДатаПартии"); ТЗПартий.Колонки.Добавить("СкладМагазин"); ТЗПартий.Колонки.Добавить("Партия"); ТЗПартий.Колонки.Добавить("КоличествоОстаток"); ТЗПартий.Колонки.Добавить("СуммаОстаток"); //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! |
|||
3
Homer
03.03.22
✎
16:59
|
и у вас пряма в программе 4 субконта на 41 счете?
|
|||
4
apdate by
03.03.22
✎
17:01
|
Да это самописная
|
|||
5
apdate by
03.03.22
✎
17:02
|
Субк1 = Склады
Субк2 = СтавкиНДС Субк3= Номенклатура Субк4= Партии |
|||
6
apdate by
03.03.22
✎
17:03
|
+(0) (так Вот ТЗ пустая) не верно написал Пордоньте )
в общем если были только обороты в запрошенном периоде тогда пусто если же сальдо на начало было тогда все ок |
|||
7
Homer
03.03.22
✎
17:06
|
(6) а где у вас в запросе про запрошенные период что то?
В чем проблема взять таблицу ОстаткиИОбороты |
|||
8
apdate by
03.03.22
✎
17:08
|
(7) | РегистрБухгалтерии.Хозрасчетный.Остатки(
| &ВыбДата, И Запрос.УстановитьПараметр("ВыбДата", КонецДня(датаДок)); вот период вернее на последюнюю дату |
|||
9
apdate by
03.03.22
✎
17:08
|
(7) что касаемо ОстаткиИОбороты то я пробовал но что то так-же не так
я всегда получаю по две записи одинаковые ( хоть она и одна ( |
|||
10
hhhh
03.03.22
✎
19:10
|
(8) КонецДня в остатках не катит, переделывайте.
|
|||
11
apdate by
04.03.22
✎
10:00
|
(10) перечитал запрос в типовой и не понял что изменить.
помогите исправить ситуацию пожалуйста что в моем запросе не так? |
|||
12
apdate by
04.03.22
✎
10:21
|
Что то не пойму здесь то же обсуждалось v8: Как получить остатки на конец периода по счету ?
у меня ничем не отличается запрос и при всем при этом все равно не получаю данные что за оно? |
|||
13
Homer
04.03.22
✎
10:25
|
(12)Ты же сам пишешь что тебе не просто надо остаток на конец но и обороты (6)
Что ты от нас просишь если ты не понимаешь сам что тебе надо! |
|||
14
apdate by
04.03.22
✎
10:27
|
(13) я верно понимаю
что если сальдо на начало нету и если есть обороты только то в этом же периоде не будет сальдо конечного? (просто я следовал логике что если оборот уже имеется то и конечное сальдо будет)? я не верно понял? |
|||
15
apdate by
04.03.22
✎
10:30
|
прост осмотрел на оборотку там сальдо показывает и подумал что получу его не смотря на обороты
в общем понял я, Спасибо буду рулить Остатки и обороты |
|||
16
Homer
04.03.22
✎
10:32
|
(14) Если на дату формирования запроса остатка нету, то ни при каких условиях эти данные не будут в запросе т к их нету физически в таблицах остатков.
Что вам надо я не знаю. |
|||
17
apdate by
04.03.22
✎
10:32
|
ПОдскажите
мне необходимо получить Сальдо по дебету (сумму и количество далее оборот по Кт (С/К) и оборот по Дт (С/К) и далее СКД = (КТОборот - ДтОборот) + Сальдо на начало верно? |
|||
18
apdate by
04.03.22
✎
10:33
|
(16) Мне необходимо получить партии товара в остатке что бы затем их списать
|
|||
19
Homer
04.03.22
✎
10:35
|
(18) вы приведите конкретный пример. Что у вас есть и что вы хотите получить.
|
|||
20
apdate by
04.03.22
✎
10:50
|
(19)
01 01 2022 16:00:00 Поступил товар А в количестве 2шт на сумму 2руб создана партия А1 01 01 2022 16:10:00 Поступил товар А в количестве 6шт на сумму 6руб создана партия А2 01 01 2022 16:30:00 Перемещаем этот товар на Магазин в количестве 3шт Так вот необходимо двинуть этот товар по Партии А1 - в количестве 2шт И ПО Партии А2 - в Количестве 3шт Как получить данные партии? |
|||
21
apdate by
04.03.22
✎
10:51
|
+(20) ошибся 01 01 2022 16:30:00 Перемещаем этот товар на Магазин в количестве не 3шт а 5шт перемещаем :-)
|
|||
22
apdate by
04.03.22
✎
10:52
|
(19/20) товары лежат на Дт счете 41.1
|
|||
23
Homer
04.03.22
✎
10:56
|
Перемещение изначально делает движения? и какие
|
|||
24
Homer
04.03.22
✎
10:57
|
и что если есть остатки на начало или такого не бывает
|
|||
25
apdate by
04.03.22
✎
11:04
|
Остатки конечно на начало могут быть
движения перемещение делает Дт 41.2 Кт 41.1 в разрезе партий вот накидал запрос новый Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Период, | ХозрасчетныйОстаткиИОбороты.Счет, | ХозрасчетныйОстаткиИОбороты.Субконто1, | ХозрасчетныйОстаткиИОбороты.Субконто2, | ХозрасчетныйОстаткиИОбороты.Субконто3, | ХозрасчетныйОстаткиИОбороты.Субконто4, | ХозрасчетныйОстаткиИОбороты.КоличествоНачальныйОстатокДт, | ХозрасчетныйОстаткиИОбороты.КоличествоОборотДт, | ХозрасчетныйОстаткиИОбороты.КоличествоОборотКт, | ХозрасчетныйОстаткиИОбороты.КоличествоКонечныйОстатокДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты( | &ВыбДатаНачало, | &ВыбДатаКонец, | Месяц, | ДвиженияИГраницыПериода, | Счет = &ВыбСчет, | &ВидыСубконто, | Субконто1 = &ВыбТовар | И | Субконто3 = &ВыбНоменклатура | ) КАК ХозрасчетныйОстаткиИОбороты"; ВидыСубконто = Новый Массив; ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склад); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтавкаНДС); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партия); НастройкиБУ = Константы.НастройкиБухгалтерскогоУчета.Получить(); Запрос.УстановитьПараметр("ВыбСклад",СкладОтправитель.Ссылка); Запрос.УстановитьПараметр("ВыбНоменклатура",Товар.Ссылка); //Товар.Ссылка.Код = "УТ-00027382" //Запрос.УстановитьПараметр("ВыбСтавкаНДС",Товар.Ссылка.СтавкаНДС); Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто); Запрос.УстановитьПараметр("ВыбДатаНачало", НачалоДня(датаДок)); Запрос.УстановитьПараметр("ВыбДатаКонец", КонецДня(датаДок)); Запрос.УстановитьПараметр("ВыбСчет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); РезультатЗапроса = Запрос.Выполнить(); щас буду отлаживать |
|||
26
apdate by
04.03.22
✎
11:40
|
(25) пусто даже оборотов не получаю (
|
|||
27
apdate by
04.03.22
✎
11:43
|
+(26) запрос выполняется только если есть начальный остаток
обороты он не показывает что здесь не так то? |
|||
28
apdate by
04.03.22
✎
11:55
|
Всем спасибо
запрос работает верно просто что то именно с этим товаром не так ( дело в том что точно такая же ситуация (в движениях я имею в виду) с другим товаром и все нормлаьно отрабатывает и к Стате даже сальо на конец показывает!! тоесть другой совсем товар у него только оборот по Дебету и запрос вывел мне сальдо а именно по этому товару какая то ерунда |
|||
29
apdate by
04.03.22
✎
12:03
|
В общем разобрался :-)
ДВА ДНЯ ВОЗИЛСЯ НЕ МОГ ПОНЯТЬ В ЧЕМ ДЕЛО В общем программу писал кто то другой до меня в ней по сути вдаётся только товарный учет то есть приходуются товары на склад и выгружаются на кассы а бухгалтерия ведется вообще в 7-ке и к тому же там суммовой учет но из за перехода на общую систему необходимо работать немного по другому а так как товары хранятся в регистрах я решил сделать в программе движения вт/ч по Бух счетам так вот проблема вся в том что тот кто до меня работал он допустил ошибку и контроль остатка работал не верно и тут повилась проблема в общем партионный учет я решил сделать следующим обр я создал документ ЗакрытиеМесяца В котором заполняются все документы которые двигают склад и далее сортируются по дате и времени далее я обхожу вс еэти документы и формирую проводки вс ебы нечего да вот попался такой товар который 05 05 2020 в 18 30 00 был оприходован А перемещение было сделано 05 05 2020 в 15 20 00 Тут то и проблема когда я игнорил остаток и проводил документы далее смотрел оборотку там вс ебыло тип топ я знал что приход сделали позже поэтому в парамтер добавил КОнецДня( Но я не учел что двигаю то эти документы из отсортированного списка а следовательно в тот момент когда я двигал перемещение я еще ниразу не двинул приход товара ) |
|||
30
apdate by
04.03.22
✎
12:19
|
Перепровел приход новым временем и все взлетело ))
Мой запрос из (0) прекрасно работает даже если нету сальдо на начало а только обороты я всеравно получаю конечное сальдо ТЗПартий = Новый ТаблицаЗначений; ТЗПартий.Колонки.Добавить("ДатаПартии"); ТЗПартий.Колонки.Добавить("СкладМагазин"); ТЗПартий.Колонки.Добавить("Партия"); ТЗПартий.Колонки.Добавить("КоличествоОстаток"); ТЗПартий.Колонки.Добавить("СуммаОстаток"); //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1, | ХозрасчетныйОстатки.Субконто2, | ХозрасчетныйОстатки.Субконто3, | ХозрасчетныйОстатки.Субконто4, | ХозрасчетныйОстатки.Организация, | ХозрасчетныйОстатки.СуммаОстатокДт, | ХозрасчетныйОстатки.КоличествоОстатокДт |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки( | &ВыбДата, | Счет = &ВыбСчет, | &ВидыСубконто, | Субконто1 = &ВыбСклад | И | Субконто2 = &ВыбСтавкаНДС | И | Субконто3 = &ВыбНоменклатура | ) КАК ХозрасчетныйОстатки"; ВидыСубконто = Новый Массив; ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Склад); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.СтавкаНДС); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Номенклатура); ВидыСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконтоХозрасчетные.Партия); НастройкиБУ = Константы.НастройкиБухгалтерскогоУчета.Получить(); Запрос.УстановитьПараметр("ВыбСклад",СкладОтправитель.Ссылка); Запрос.УстановитьПараметр("ВыбНоменклатура",Товар.Ссылка); //Товар.Ссылка.Код = "УТ-00027382" Запрос.УстановитьПараметр("ВыбСтавкаНДС",Товар.Ссылка.СтавкаНДС); Запрос.УстановитьПараметр("ВидыСубконто", ВидыСубконто); Запрос.УстановитьПараметр("ВыбДата", КонецДня(датаДок)); Запрос.УстановитьПараметр("ВыбСчет", ПланыСчетов.Хозрасчетный.ТоварыНаСкладах); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Если ВыборкаДетальныеЗаписи.КоличествоОстатокДт > 0 Тогда НовСтрПартии = ТЗПартий.Добавить(); НовСтрПартии.ДатаПартии = ВыборкаДетальныеЗаписи.Субконто4.ПриходныйДокумент.Дата; НовСтрПартии.СкладМагазин = ВыборкаДетальныеЗаписи.Субконто1; НовСтрПартии.Партия = ВыборкаДетальныеЗаписи.Субконто4; НовСтрПартии.КоличествоОстаток = ВыборкаДетальныеЗаписи.КоличествоОстатокДт; НовСтрПартии.СуммаОстаток = ВыборкаДетальныеЗаписи.СуммаОстатокДт; КонецЕсли; КонецЦикла; //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА ТЗПартий.Сортировать("ДатаПартии Возр"); Возврат ТЗПартий; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |