Интересно получилось - вчера задавал вопрос по этой задаче, а сегодня попалась на экзамене.
решать приблизительно надо так:
Со 104 агрегат на 1522 забираем "СписаниеОС"
С 207 запчасть передаем "Передача оборудования в монтаж" - документы стандартные - все работает правильно
Дальше "Ввод в эксплуатацию" - доработанный Дописаны проводки по движению в Дт по забалансовому регистру "Агр" с субконто ОсновныеСредства, АгрегатыЗапчасти (добавил - тип составной ОсновноеСредство/Номенклатура), Склад. Признаки учета Количественный, Налоговый, счет Активный
Дальше списание ОС - дописаны проводки по движению по Кт по счету "Агр" - зануляем остатки.
Дальше Обработка Раскомплектация, которая по введенному ОС формирует документы -
СписаниеОС по Оборудованию ВводВЭксплуатациюОС по агрегатам ОприходованиеТоваров по Запчастям
Расчет стоимостей агрегатов по вводу в эксплуатацию и тд.
Ну и отчет отбирам Кт обороты по счету Агр (периодичность день) и дальше пляшем - накидывая движнякиДтКт по амортизации, по вводуВЭксплуатацию агрегатов и оприходованию товаров.
Всем желаю успеха. Если возникли вопросы более детально - давайте в личку или на greenfoxСОБАКАukrТОЧКАnet
Вопрос закрыт - в типовой конфигурации УТП нельзя делать поэтапный выпуск продукции и последующую его комплектацию, либо наоборот. Тоесть надо дописывать свой код либо переходить на УПП.
МестоХраненияВЭксплуатации, и МестоХранения - это реквизиты шапки
тогда действительно цикл по строкам не нужен
Процедура Выполнить() Док=СоздатьОбъект("Документ"); Док.ВыбратьДокументы(НачДата,КонДата); Пока Док.ПолучитьДокумент()=1 Цикл Если (Док.Вид() = "ВводВЭксплуатацию") Тогда Состояние("Обрабатываю документ "+Док.ТекущийДокумент()); Попытка Если ПустоеЗначение(Док.МестоХраненияВЭксплуатации) = 0 Тогда СтарМестоХранения = Док.МестоХранения; СтарМестоХраненияВЭксплуатации = Док.МестоХраненияВЭксплуатации; Док.МестоХранения=СтарМестоХраненияВЭксплуатации; Док.МестоХраненияВЭксплуатации=СтарМестоХранения; иначе Сообщить(Пустое значение МестоХраненияВЭксплуатации в документе: "+СокрЛП(Док.Вид())+" №"+Док.НомерДок+" от "+Док.ДатаДок); Продолжить; КонецЕсли; ГлПользователь=Док.Автор; Док.Записать(); исключение Сообщить("Ошибка в документе: "+СокрЛП(Док.Вид())+" №"+Док.НомерДок+" от "+Док.ДатаДок); Сообщить(ОписаниеОшибки()); КонецПопытки; КонецЕсли; КонецЦикла; Предупреждение("Обработка завершена!"); КонецПроцедуры
Ага, если досмотреть строку до конца (никак не привыкну что она вся в окне не вида, извините), то в ячейках Налоговое назначение НДС: Обл. НДС Налоговое назначение доходов и затрат: ПУСТО и активировать эту ячейку дабы подвязать Хоз д-ть неполучается...я так понимаю оно подтянивает это значение откудато? Неподскажите откуда?!
Посмотрите что у Вас стоит в Номенклатурной группе, которую Вы выбираете для аналитики по услуге.
Тип: Число. Определяет число знаков дробной части, до которых производится округление. Если параметр отрицательный, то число округляется до соответствующего разряда в целой части, начиная с младших разрядов. Параметр обязательный, если указан параметр <РежимОкругления>. Значение по умолчанию: 0 <РежимОкругления> (необязательный)
Тип: РежимОкругления. Определяет режим округления. Помимо системного перечисления допускается использование числового параметра: 0 - если при округлении 1.5 = 1; 1 - если при округлении 1.5 = 2. Значение по умолчанию: Окр15как20 Возвращаемое значение:
Тип: Число. Число, полученное в результате округления. Описание:
Округляет исходное число до нужной разрядности в соответствии с заданным режимом округления.
не знаходить товар у тзТовары, тобто цей метод вертає 0 і звичайно тоді:
Количество = Число(тзТовары.ПолучитьЗначение(Стр,"Количество"));
видає вищеописану помилку. Але все-таки я б відлагоджувачем пройшовся - і глянув значення змінних: що там вертається і передається.
Поддерживаю, скорее всего при поиске искомого товара в таблице нет и переменная Стр равна 0, соответственно получить значение и возвращает ощибку.
Поставте проверку
если Стр <> 0 тогда Количество = Число(тзТовары.ПолучитьЗначение(Стр,"Количество")); иначе Сообщить("Товар "+СокрЛП(Запрос.Товар)+" не найден"); Продолжить; конецесли;
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!