Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не можу провести документ Авансовый звіт по новому рахунку
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
TARANTINO
Ввели новый счет 231 (Текущий ремонт) когда пробую закрыть авансовый отчет
по этому счету выдает ошибку:

Спр.Владелец = Товар;
{Глобальный модуль(914)}: Неверный тип вышестоящего справочника!


Новый счет по счету 230 документ нормально проводится счета 231 и 230 все субконто одинаковые. В коде смотрел нигде не прописано счет 230. При выборе счета 231 счета нет в списке счетов для которых есть корректные проводки может это быть из-за этого. Как исправить эту ошибку чтобы закрыть авансовый отчет по 231 счету?

Конфигурация предприятие 7.7
бугалтерский учет для Украины 7.70.262
mister-x
Ясно вказало помилку в глобальному модулі, не коректно присвоюється власник для підлеглого довідника. Попробуйте перед цією стрічкою № 914 перевірити, що там взагалі за тип даних присвоюється:
сообщить(ТипЗначенияСтр(Товар));
Спр.Владелец = Товар;

і якщо це довідник тоді змінити її на
сообщить(Товар.Вид());
Спр.Владелец = Товар;

Краще це все "одним махом" перевірити у відлагоджувачі (отладчик).
TARANTINO
Я повідомляє, що це довідник "ВидыЗатрат".

Процедура глПолучитьПартию(Партия,Товар,Док) Экспорт
    Спр = СоздатьОбъект("Справочник.Партии");
    Спр.ИспользоватьВладельца(Товар);
    ЕстьПартия = 1;
    Если Спр.НайтиПоРеквизиту("Док",Док,0) = 0 Тогда
        ЕстьПартия = 0;
        // на верхнем уровне нет, поищем в группе "Старые"
        Спр1 = СоздатьОбъект("Справочник.Партии");
        Спр1.ИспользоватьВладельца(Товар);
        Если Спр1.НайтиПоНаименованию("Старые") = 1 Тогда
            Спр.ИспользоватьРодителя(Спр1.ТекущийЭлемент());
            Если Спр.НайтиПоРеквизиту("Док",Док,0) = 1 Тогда
                // Есть такая партия в группе Старые!
                ЕстьПартия = 1;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
Если ЕстьПартия = 0 Тогда      
        Спр.ИспользоватьРодителя("");
        Спр.Новый();
        [b]сообщить(Товар.Вид());[/b]
        Спр.Владелец = Товар;
        Спр.Наименование = Строка(Док.НомерДок)+" ("+Формат(Док.ДатаДок,"ДДММГГГГ")+")";
        Спр.Дата_Прих = Док.ДатаДок;
        Спр.Док = Док;
        Спр.Записать();
        глЗаписьЖурналаРегистрации("Создан автоматически" , 1, 1, Спр.ТекущийЭлемент());
    КонецЕсли;

Не підкажете як поміняти значення, я неможе докінця зрозуміти який там необхідно довідник?
Vofka
Цитата
Я повідомляє

Цитата
я неможе

Вы какого пола? Ещё и в 3-м лице о себе.

Вовка чего-то непонимать, что здесь происходить.
mister-x
тут
Спр.Владелец = Товар;
змінна Товар повинна бути Справочник.ТМЦ, так як довідник Партии
Спр = СоздатьОбъект("Справочник.Партии");
підлеглий до нього
MATEVI
Дайте полный код процедуры выбора/изменения счета. Нет такого старого релиза под руками.
Судя по всему там нечто похожее на то что при изменении счета определяется количество субконто и
если их 3 то идет вызов на определение партии.
Kutuzov
Цитата(MATEVI @ 11.11.11, 12:09) необходимо зарегистрироваться для просмотра ссылки
Дайте полный код процедуры выбора/изменения счета. Нет такого старого релиза под руками.
Судя по всему там нечто похожее на то что при изменении счета определяется количество субконто и
если их 3 то идет вызов на определение партии.


Ага а вновь введенном счете 231 может и не оказаться субконто партии
TARANTINO
Цитата(MATEVI @ 11.11.11, 10:09) необходимо зарегистрироваться для просмотра ссылки
Дайте полный код процедуры выбора/изменения счета. Нет такого старого релиза под руками.
Судя по всему там нечто похожее на то что при изменении счета определяется количество субконто и
если их 3 то идет вызов на определение партии.

Процедура глПолучитьПартию(Партия,Товар,Док) Экспорт
    Спр = СоздатьОбъект("Справочник.Партии");
    Спр.ИспользоватьВладельца(Товар);
    ЕстьПартия = 1;
    Если Спр.НайтиПоРеквизиту("Док",Док,0) = 0 Тогда
        ЕстьПартия = 0;
        // на верхнем уровне нет, поищем в группе "Старые"
        Спр1 = СоздатьОбъект("Справочник.Партии");
        Спр1.ИспользоватьВладельца(Товар);
        Если Спр1.НайтиПоНаименованию("Старые") = 1 Тогда
            Спр.ИспользоватьРодителя(Спр1.ТекущийЭлемент());
            Если Спр.НайтиПоРеквизиту("Док",Док,0) = 1 Тогда
                // Есть такая партия в группе Старые!
                ЕстьПартия = 1;
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;
    Если ЕстьПартия = 0 Тогда      
        Спр = СоздатьОбъект("Справочник.Партии");
        Спр.Новый();
        сообщить(Товар.Вид());
        Спр.Владелец = Товар;
        Спр.Наименование = Строка(Док.НомерДок)+" ("+Формат(Док.ДатаДок,"ДДММГГГГ")+")";
        Спр.Дата_Прих = Док.ДатаДок;
        Спр.Док = Док;
        Спр.Записать();
        глЗаписьЖурналаРегистрации("Создан автоматически" , 1, 1, Спр.ТекущийЭлемент());
    КонецЕсли;
    Партия = Спр.ТекущийЭлемент();
КонецПроцедуры



Процедура глПолучитьПартию

Процедура ИзмСчет()
КонецПроцедуры

процедура змыни рахунка пуста

субконто рахунка 231 субконто 1: виды деятельности субконто 2: виды затрат субконто 3: места хранения

рахунок 230 всі тіже субконто но при ньому проводиться документ;

Цитата(Vofka @ 11.11.11, 9:01) необходимо зарегистрироваться для просмотра ссылки
Вы какого пола? Ещё и в 3-м лице о себе.

Вовка чего-то непонимать, что здесь происходить.


Я (чоловычий рід) звичайно розумію шо ви хотіли посміятись і може навіть це в вас получилось. Вот тільки якшо не хочите допомогти так навіщо відписувати взагалі в темі? Вибачаюсь якщо вас чимось образив.
mister-x
Судячи по цьому
Процедура ИзмСчет()
КонецПроцедуры
- вибраний рахунок не аналізується і у змінну Товар передається субконто 2: виды затрат. Вам потрібно реалізувати аналіз рахунку і передачу коректних параметрів у глПолучитьПартию.
У модулі цього документу: процедура РассчитатьСтроку - там собака зарита.
MATEVI
Я вот только шо то не понял, ошибку выдает при выборе счета, в самом начале написано про выбор 231 счета, или проведении АО? Если второе так проблема действительно только там где указал mister-x.
Искать //определим аналитику по счету
mister-x
Цитата
Я вот только шо то не понял, ошибку выдает при выборе счета, в самом начале написано про выбор 231 счета, или проведении АО?
Цитата
когда пробую закрыть авансовый отчет
тобто стандартно натискають на кнопку ОК
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.