|
УТ 11.5. РегистрыСведений.ТоварныеОграничения | ☑ | ||
---|---|---|---|---|
0
sanyaka
02.05.23
✎
20:25
|
Подскажите, программно не получается получить МинимальноеКоличествоЗапаса из РегистрыСведений.ТоварныеОграничения.
Наполняю регистры следующим образом: КлючЗаписиТовара = РегистрыСведений.ТоварныеОграничения.КлючЗаписиНоменклатуры(); КлючЗаписиТовара.Номенклатура = номен; КлючЗаписиТовара.Склад = Склад; ПараметрыМинМакс = РегистрыСведений.ТоварныеОграничения.ПараметрыМинМакс(); ПараметрыМинМакс.МинимальноеКоличествоЗапаса = МинКол; ПараметрыМинМакс.МаксимальноеКоличествоЗапаса = "1"; РегистрыСведений.ТоварныеОграничения.ДобавитьПоддержаниеЗапасаМинМакс(КлючЗаписиТовара, ПараметрыМинМакс); Код добавления регистров отрабатывает нормально. При попытке получить регистры следующим образом: СтруктураОтбор = Новый Структура; СтруктураОтбор.Вставить("Номенклатура", Товар); СтруктураОтбор.Вставить("Склад", Склад); СтруктураОстатков = РегистрыСведений.ТоварныеОграничения.ПолучитьПоследнее(ТекущаяДата(), СтруктураОтбор); Получаю СтруктураОстатков = неопределенно. Что тут не так? |
|||
1
sanyaka
03.05.23
✎
05:01
|
Только изучаю работу с регистрами сведений. Как правильно с ними работать?
Код записи получил из штатной обработки по работе с товарными ограничениями. Код получения быстро не получилось выдернуть из обработки, т.к кода много. Буду продолжать разбираться. Может получение нужно делать так? Вечером попробую МойРегистр = РегистрыСведений.МойРегистр.СоздатьМенеджерЗаписи(); МойРегистр.Измерение1 = ЗначениеИзмерения1; ................ МойРегистр.ИзмерениеN = ЗначениеИзмеренияN; МойРегистр.Прочитать(); |
|||
2
sanyaka
03.05.23
✎
10:48
|
Никто не подскажет? Никто не работает с регистрами сведений?)
|
|||
3
asady
03.05.23
✎
10:57
|
(0) Используй запросы для получения данных.
|
|||
4
OldCondom
03.05.23
✎
10:59
|
(0) "Получаю СтруктураОстатков = неопределенно. Что тут не так?"
Если обработка типовая, то скорее всего все так. Нет данных по установленным отборам. |
|||
5
sanyaka
03.05.23
✎
11:05
|
(4) в том то и дело данные есть. номенклатура и склад залетает в отбор, но почему-то не находит...
|
|||
6
lubitelxml
03.05.23
✎
11:06
|
Перепиши СтруктураОстатков = РегистрыСведений.ТоварныеОграничения.ПолучитьПоследнее(ТекущаяДата(), СтруктураОтбор); на запрос, отладь его в консоле и все поймешь,
и вот это вот что такое: ПараметрыМинМакс.МаксимальноеКоличествоЗапаса = "1"; - почему количество строковое значение присваиваешь? |
|||
7
sanyaka
03.05.23
✎
11:06
|
(3) выборку номенклатуры делаю через запрос, потом пытаюсь данные получить через регистры. если не получится буду пытаться делать общий запрос с номенклатурой и регистрами сведений...
|
|||
8
OldCondom
03.05.23
✎
11:09
|
(5) то что она залетает, не значит, что по таким отборам данные есть. Ты их глазами видишь в регистре?
|
|||
9
sanyaka
03.05.23
✎
11:09
|
(6) спасибо. еще не отлаживал запросы в консоле, буду разбираться с этим.
По поводу почему строковое, минкол тож строковое передаю. Вроде работают штатные заказы поставщику параметры мин макс получаются... поэтому пока так оставил. |
|||
10
sanyaka
03.05.23
✎
11:11
|
(8) Там около 5000 позиций внесены в регистр из 20000 всей номенклатуры. я в дебаге писал условие и ставил точку остановки. код не остановился. по идее данные есть и должно было попасть...
|
|||
11
OldCondom
03.05.23
✎
11:12
|
руками зайди в форму списка регистра в пользовательском варианте, поставь свои отборы и посмотри.
|
|||
12
Волшебник
03.05.23
✎
12:13
|
(7) В запросе добавь левое соединение к регистру сведений
|
|||
13
sanyaka
03.05.23
✎
15:56
|
Вообщем получилось вот так. То что закомментировано не работает.
//СтруктураОтбор = Новый Структура; //СтруктураОтбор.Вставить("Номенклатура", Товар); //СтруктураОтбор.Вставить("Склад", Склад); //СтруктураОстатков = РегистрыСведений.ТоварныеОграничения.ПолучитьПоследнее(ТекущаяДата(), СтруктураОтбор); рез = 0; мен = РегистрыСведений.ТоварныеОграничения.СоздатьМенеджерЗаписи(); мен.Номенклатура = Товар; мен.Склад = Склад; мен.Прочитать(); Если мен.Выбран() тогда рез = мен.МинимальноеКоличествоЗапаса; конецесли; |
|||
14
sanyaka
03.05.23
✎
16:01
|
(12) Спасибо. Еще только учусь в 8ке запросы делать. Сейчас около минуты выполняется запрос по регистрам для каждой позиции. Обязательно переделаю на общий запрос, думаю в разы ускорится.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |