Группа: Пользователи
Сообщений: 19
Спасибо сказали: 0 раз
Рейтинг: 0
В модуле объекта док."ВВод в эксплуатацию" вызывается процедура заполнения подчиненного документа "ДвиженияУпрУчет"
УпрУчет.ВвводУпрДокаНаОсновании(ЭтотОбъект,) ;
В модуле подчиненного объекта док."ДвиженияУпрУчет" в процедуре "ОбработкаЗаполнения" вызывается набор записей документа-основания "ВВод в эксплуатацию" . Не понятно почему,но такое впечатление что отбор по регистратору "ввводу в эксплуатацию" не происходит, хотя проводки в нем есть.
Если ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ВводВЭксплуатациюОС") Тогда Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(ДокументОснование); Набор.Прочитать(); Для каждого Запись из Набор Цикл // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! СЮДА НЕ ЗАХОДИТ, проводки у документа основания есть СчетКТ = лев(Запись.СчетКт,2); Если СчетКТ = "13" Тогда КонецЕСли; КонецЦикла;
КонецЕсли;
АНАЛОГИЧНАЯ ТЕМА ПО ДОКУМЕНТУ "ЗАКРЫТИЕМЕСЯЦА" РАБОТАЕТ. подскажите кто может в чем может быть дело ?
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2536 раз
Рейтинг: 0
Цитата(Vofka @ 04.04.13, 10:49)
Чем получение данных запросом, в данном случае, лучше?
По сути дело не в запросе, запрос как вариант. Я смотрю процедура перебирает все данные регистратора, что бы найти только записи по одному счету, почему бы сразу не получить эти данные? Про это:
Цитата
СчетКТ = лев(Запись.СчетКт,2); Если СчетКТ = "13" Тогда
вообще молчу. понятно, что каждый пишет как умеет, но можно же как-то смотреть типовые вещи или читать книжки...
Сообщение отредактировал logist - 04.04.13, 10:58
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 19
Спасибо сказали: 0 раз
Рейтинг: 0
Не судите за убогий код - на 8 программирую недавно.
ДокументОснование передается через структуру и имеет тип ДокументСсылка.ВводВЭксплуатациюОС
Такой же точно код для ДокументСсылка.ЗакрытиеМесяца работает. Не пойму в чем дело. Вызывается процедура в обоих документах в конце "ОбработкиПроведения" .
Вот этот код работает
Если (ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ЗакрытиеМесяца")) и (ДокументОснование.АмортизацияОС = 1) Тогда основание = ДокументОснование; Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(ДокументОснование); Набор.Прочитать(); Для каждого Запись из Набор Цикл ПервыйСимволСчета = лев(запись.счетДТ,1); СчетКредит = лев(запись.счетКТ,2);
=== а этот нет
Е
сли ТипЗнч(ДокументОснование) = Тип("ДокументСсылка.ВводВЭксплуатациюОС") Тогда основание = ДокументОснование;
Набор = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Набор.Отбор.Регистратор.Установить(ДокументОснование); Набор.Прочитать(); Для каждого Запись из Набор Цикл
СчетКТ = лев(Запись.СчетКт,2); Если СчетКТ = "13" Тогда КонецЕСли; КонецЦикла;
Отвлеку от сути. А вы для бухгалтерской базы делаете отдельный документ который формирует управленческие движения? А если исходный документ меняется, подчиненный документ тоже меняется? У меня есть подозрение, что вы идете не правильным путем.
Личные бесплатные консультации не даю, для этого есть форум!
Группа: Пользователи
Сообщений: 19
Спасибо сказали: 0 раз
Рейтинг: 0
" Документ основание" в отладчике получает весь документссылка.ВводВЭксплуатацию со всеми реквизитами. Операции-регистрыБухгалтерии показывает наличие движений по всем документам. На основании первичных документов формируется управленческий документ "УпрДвижения". Он перезаполняется всякий раз после проведения первичного документа. В нем-то и не работает отбор по списаниюТоваров и вводуВЭксплуатацию, но работает такой же код по ЗакрытиюМесяца. Причину пока понять не могу.
Группа: Пользователи
Сообщений: 19
Спасибо сказали: 0 раз
Рейтинг: 0
Присваивал переменную=ДокументОснование, снимал признак ввода на основании, результата нет. Можеть быть выбрать проводки докмуента запросом с отбором по регистратору будет выход из положения. Попробую.
НаборЗаписейБУ.Прочитать(); Для каждого Запись из НаборЗаписейБУ Цикл
КонецЦикла;
вот такой код дает обход проводок в ОбработкеПроведения (в конце процедуры) в документе "ЗакрытиеМесяца". А в "ВводВЭксплуатацию" не дает. В обоих документах есть проводки. В чем может быть дело ?
Группа: Пользователи
Сообщений: 19
Спасибо сказали: 0 раз
Рейтинг: 0
Движения документа основания есть-но поле "регистратор" пустое до самого конца процедуры "ОбработкаПроведения". Удалось перебрать проводки документа основания с отбором по регистратору только по кнопке "Заполнить" в подчиненном документе "УпрУчетДвижения". Даже в процедуре "ПриОткрытии" УпрУчет не удается этого сдлеать. Прийдется наверное заполнять по кнопке.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!