|
Поле объекта не обнаружено | ☑ | ||
---|---|---|---|---|
0
Тринадцать
05.11.19
✎
06:01
|
Всем привет! Тренируюсь в написании обработок, новичок, поэтому не судите строго
Обработка для Бухгалтерии 3.0 создания док Операция и дальнейшего его заполнения. Нужно создать документ на определенную дату и для определенной организации, которые вводит пользователь Выходит ошибка Поле объекта не обнаружено (ДатаКорректировки) {ВнешняяОбработка.ОбнулитьОстатки.Форма.Форма.Форма(5)}: Док.Дата = Объект.ДатаКорректировки; {ВнешняяОбработка.ОбнулитьОстатки.Форма.Форма.Форма(22)}: СоздатьДокументНаСервере(); Вот собственно текст Процедура СоздатьДокументНаСервере() Док = Документы.ОперацияБух.СоздатьДокумент(); Док.Дата = Объект.ДатаКорректировки; Док.Организация = Объект.Организация; Док.Комментарий = "Создана автоматически для обнуления остатков"; Док.Содержание = "Обнуление остатков"; Док.Ответственный = ПараметрыСеанса.ТекущийПользователь; Док.Записать(); КонецПроцедуры В чём ошибка? Подскажите пожалуйста |
|||
1
ДенисЧ
05.11.19
✎
06:04
|
Наверное, у Объект'а нет такого поля...
|
|||
2
Тринадцать
05.11.19
✎
06:09
|
||||
3
Курцвейл
05.11.19
✎
06:10
|
(2) ДатаКорректировки это реквизит формы, а не объекта
|
|||
4
Курцвейл
05.11.19
✎
06:11
|
Док.Дата = ДатаКорректировки;
|
|||
5
Курцвейл
05.11.19
✎
06:11
|
Либо перенести ДатаКорректировки в реквизиты обработки
|
|||
6
Тринадцать
05.11.19
✎
06:12
|
(4) - Спасибо! помогло)))
|
|||
7
Тринадцать
05.11.19
✎
08:16
|
Еще один вопросик)
Теперь нужно заполнить созданный документ Операция остатками по счету 10 и списать их на 94. Результат запроса не получается подставить в документ кидаю весь код Док = Документы.ОперацияБух.СоздатьДокумент(); Док.Дата = ДатаКорректировки; Док.Организация = НаименованиеОрганизации; Док.Комментарий = "Создана автоматически"; Док.Содержание = "Обнуление остатков"; Док.Ответственный = ПараметрыСеанса.ТекущийПользователь; Док.Записать(); Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Проводки.Отбор.Регистратор.Установить(Док.Ссылка); //{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОстатки.Субконто1 КАК Номенклатура, | ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток, | ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток, | ХозрасчетныйОстатки.Субконто2 КАК ДокументОснование, | ХозрасчетныйОстатки.Субконто3 КАК Склад |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет В ИЕРАРХИИ (&Счет), , Организация = &Организация) КАК ХозрасчетныйОстатки |ГДЕ | ХозрасчетныйОстатки.КоличествоОстаток > 0"; Запрос.УстановитьПараметр("Дата", Док.Дата); Запрос.УстановитьПараметр("Организация", Док.Организация); Запрос.УстановитьПараметр("Счет", СчетУчета); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл Проводка = Проводки.Добавить(); Проводка.Регистратор = Док.Ссылка; Проводка.Организация = Док.Организация; Проводка.Период = Док.Дата; Проводка.СчетДт = "94"; Проводка.СчетКт = СчетУчета; БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Номенклатура", ВыборкаДетальныеЗаписи.Номенклатура); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Субконто2", ВыборкаДетальныеЗаписи.ДокументОснование); БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Субконто3", ВыборкаДетальныеЗаписи.Склад); Проводка.Сумма = Док.СуммаОстаток; Проводка.КоличествоКт = Док.КоличествоОстаток; Проводки.Записать(); КонецЦикла; |
|||
8
Тринадцать
05.11.19
✎
08:18
|
подозреваю, что ошибка здесь
БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Номенклатура", ВыборкаДетальныеЗаписи.Номенклатура); пробовала заменить на БухгалтерскийУчет.УстановитьСубконто(Проводка.СчетКт, Проводка.СубконтоКт, "Номенклатура", ВыборкаДетальныеЗаписи.Номенклатура); выдает ошибку Поле объекта не обнаружено (Субконто1) {ВнешняяОбработка.ОбнулитьОстатки.Форма.Форма.Форма(47)}: Проводка.СубконтоКт.Субконто1 = ВыборкаДетальныеЗаписи.Номенклатура; {ВнешняяОбработка.ОбнулитьОстатки.Форма.Форма.Форма(68)}: СоздатьДокументНаСервере(); |
|||
9
catena
05.11.19
✎
08:35
|
Во-первых, счет - это не строка: Проводка.СчетДт = "94"
Во-вторых, если найти в СП метод СоздатьНаборЗаписей(), то можно даже увидеть пример. |
|||
10
Тринадцать
05.11.19
✎
08:43
|
Да, вы правы про счет, заменила на
Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("94"); |
|||
11
Тринадцать
05.11.19
✎
08:43
|
Вот так заработало)
Проводка = Проводки.Добавить(); Проводка.Регистратор = Док.Ссылка; Проводка.Организация = Док.Организация; Проводка.Период = КонецДня(Док.Дата); Проводка.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду("94"); Проводка.СчетКт = СчетУчета; Проводка.СубконтоКт.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура; Проводка.СубконтоКт.Партии = ВыборкаДетальныеЗаписи.ДокументПартии; Проводка.СубконтоКт.Склады = ВыборкаДетальныеЗаписи.Склад; Проводка.Сумма = ВыборкаДетальныеЗаписи.СуммаОстаток; Проводка.КоличествоКт = ВыборкаДетальныеЗаписи.КоличествоОстаток; Проводки.Записать(); |
|||
12
Тринадцать
05.11.19
✎
08:44
|
но теперь не подставляет в самом документе Сумму операции
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |