Версия для печати темы (https://pro1c.org.ua/index.php?s=3cf083b1dbf25bb15472a289e0a588f2&showtopic=43471)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Создание набора записей регистра бухгаллтерии

Автор: drug_com 19.01.18, 8:48

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

 нРегистрДвижения = РегистрыБухгалтерии[РегБух].СоздатьНаборЗаписей(); 
 нРегистрДвижения.Отбор.Регистратор.Установить(Док,Истина);
 нРегистрДвижения.Прочитать();

1я строка) Результат правой части верный =
РегистрБухгалтерииНаборЗаписей.Управленческий
, это значение пытаемся присвоить переменной ...
Но значение переменной после этой строки - "неопределено" с типом "неопределенно".
2я строка) Результат, естественно, тоже ошибочный - ошибка: "Значение не является значением объектного типа (Отбор)".
При этом, значение документа (Док) верное - План продаж 00000000006 от 28.11.2017 13:03:49.
(Для документа "План продаж" установлена галка, что он может делать записи в рег.бух. "Управленческий", а соответсственно в рег.бух. в списке возможных регистраторов появился "План продаж")
Код был написан, не мной, а возможно опытными программистами.
Подскажите, что не так и куда смотреть, если достаточно информации?
Видел http://pro1c.org.ua/index.php?showtopic=455, что отбор по регистратору делают другим методом:
НаборЗаписей.Отбор.Регистратор.Значение = Выборка.Регистратор;

Но как правильно не знаю.
Если вызывает удивление документ "План продаж" с проводками в рег.бух.:
Цитата
Стандартные механизмы моей конфигурации (надстройка КУБиК) предполагают возможность в пользовательском режиме настройки движений любого документа в любой регистр.
План продаж, в моем случае, долдлжен делать проводки со значением в поле сценарий "Плановый", что позволит формировать плановый баланс, а планы сравнивать с фактом.
У меня в управленческом регистре бухгалитерии есть поле - сценарий.

Автор: Vofka 19.01.18, 9:31

То есть после выполнения этой строчки

нРегистрДвижения = РегистрыБухгалтерии[РегБух].СоздатьНаборЗаписей();


нРегистрДвижения = Неопределено?

Автор: drug_com 19.01.18, 10:08

Vofka @ Сегодня, 9:31 *
Да

Автор: Vofka 19.01.18, 10:25

Телепатирую, что имя переменной в первой строке и в последующих разное. Скопируйте имя переменной из первой строки в последующие. Не перепечатать, а именно скопировать и вставить.

Автор: drug_com 19.01.18, 11:04

Vofka @ Сегодня, 10:25 * ,
Не помогло: sad.gif
http://pro1c.org.ua/redirect.php?http://drive.google.com/uc?export=view&id=1Cv6YyKjjvPAv0XCEBlIp_kv4OtHaIkEg
09000000.gif

Автор: Vofka 19.01.18, 11:12

А если имя переменной поменять на какое-то другое?

НаборЗаписей = РегистрыБухгалтерии[РегБух].СоздатьНаборЗаписей(); 
НаборЗаписей.Отбор.Регистратор.Установить(Док, Истина);
...

Автор: drug_com 19.01.18, 11:55

Vofka @ Сегодня, 11:12 * ,
http://pro1c.org.ua/redirect.php?http://drive.google.com/uc?export=view&id=1jvngqPNc8TTRPQs2F29NVZ0KO_VvNQrh
upset.gif
До момента:

НаборищеЗаписищей.Прочитать();
, значение переменной уже должно иметь хотя бы тип значения?

Автор: Bernet 19.01.18, 12:21

drug_com @ Сегодня, 11:55 * ,
Сделайте ещё скрин в отладке, чему равен параметр "РегБух"

Автор: drug_com 19.01.18, 12:24

Bernet @ Сегодня, 12:21 * ,
КУБиК_Управленческий - строка

Автор: Bernet 19.01.18, 12:37

drug_com @ Сегодня, 12:24 * ,
Ну вот http://pro1c.org.ua/redirect.php?http://dropmefiles.com/uKGGb - работает же, должно и у вас работать - значит 100% что-то не так либо с именем регистра либо с переменными

Автор: drug_com 19.01.18, 13:33

Bernet @ Сегодня, 12:37 * ,
У меня тоже работает "наскоряк накиданное".
Но то, что у меня, все равно не работает ...
Не могу понять, куда смотреть дальше ...
upset.gif

Автор: drug_com 19.01.18, 15:54

На 256й раз дошло ... 32542620.gif
Логично, что результат выражения "неопределено" - т.к. на одну строчку выше не выполняется условие, и "проблемная" часть кода вообще не выполнялась! 19000000.gif
Хотя ниже по коду, за этим условием, пытаемся взять значение переменной и проверить в нем "Количество".

Господа, Vofka, Bernet, благодарен, Вам за участие, натолкнули 05071.gif на мысль сходить выше по коду ...
Т.к. тема не несет смысловой нагрузки для будущих поколений, я не против, чтобы админы её удалили.
А мне предстаит новый этап изучения своей конфигурации ...
Что там за условие, и откуда беруться значения для его невыполнения? Или зачем ниже по коду проверять количество в неопределенном значении?

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua