Ошибка при вызове метода контекста выполнить таблица не найдена

   Андрей 2005

17 — 24.04.17 — 17:38

Перем ВычетПоПриобретеннымЦенностям;

Процедура ЗаполнитьСтроки_ВычетПоПриобретеннымЦенностям(ОтменитьПроведение = Ложь,Сообщать = Истина, СтрокаСообщения = «», ОшибкаЗаполнения = Ложь) Экспорт

    //Если Объект.Проведен Тогда

    //    Если ОтменитьПроведение Тогда

    //        Записать(РежимЗаписиДокумента.ОтменаПроведения);

    //    Иначе

    //        Возврат;

    //    КонецЕсли;

    //КонецЕсли;

    
    УчетнаяПолитикаНУ = ОбщегоНазначения.ПолучитьПараметрыУчетнойПолитики(Объект.Дата, ОшибкаЗаполнения, Объект.Организация);

    
    Если ОшибкаЗаполнения Тогда

        СтрокаСообщения = «Не указаны параметры учетной политики («+СокрЛП(Объект.Организация)+») на » + Формат(Объект.Дата, «ДЛФ=DD») + Символы.ПС

                        + «Табличное поле «Вычет НДС по приобретенным ценностям» не может быть заполнено автоматически.»;

        Если Сообщать Тогда

            ОбщегоНазначения.СообщитьОбОшибке(«Документ не заполнен:»+СтрокаСообщения,,Строка(Объект.Ссылка));

        КонецЕсли;

        Возврат;

    КонецЕсли;

    ТаблицаРезультатов = ВычетПоПриобретеннымЦенностям.ВыгрузитьКолонки();

    
    Если Объект.ПредъявленНДСКВычету0 Тогда

        Таблица_НДСкВычету = ЗаполнитьНДСКВычетуПоДаннымРегистраНДСПредъявленныйРеализация0();

    Иначе    

        Таблица_НДСкВычету = ЗаполнитьНДСКВычетуПоДаннымРегистраНДСПредъявленный();

    КонецЕсли;

    
    Если Таблица_НДСкВычету.Количество()=0 Тогда

        // Дальнейшая обработка не требуется, не обнаружен НДС, который может быть принят к вычету.

        ВычетПоПриобретеннымЦенностям.Очистить();

        Возврат;

    КонецЕсли;

    
    СписокСчетовФактур = ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(Таблица_НДСкВычету.ВыгрузитьКолонку(«СчетФактура»), Истина);

    
    // Ограничиваем получаемые распределенные оплаты только отфактурованными поступлениями.

    // Отсутствие СФ допускается только для НДС, уплаченного на таможне, а оплаты по нему тоже не регистрируются.

    ТаблицаСФ = УчетНДС.ОпределитьНаличиеСчетовФактурПолученных(,КонецДня(Объект.Дата),Объект.Организация, СписокСчетовФактур,Ложь, Истина, Истина, КонецДня(Объект.Дата));

    ОтфактурованныеПоступления = ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(ТаблицаСФ.ВыгрузитьКолонку(«Документ»),Истина);

    
    СписокСчетовФактур = Новый СписокЗначений;

    СписокСчетовФактур.ЗагрузитьЗначения(ОтфактурованныеПоступления);

    Для Каждого СтрокаСчетФактура Из Таблица_НДСкВычету Цикл

        Если Не СписокСчетовФактур.НайтиПоЗначению(СтрокаСчетФактура.СчетФактура) = Неопределено Тогда

            НоваяСтрока = ТаблицаРезультатов.Добавить();

            ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаСчетФактура);

            
            Если Объект.ПредъявленНДСКВычету0

                И НоваяСтрока.Состояние = Перечисления.НДССостоянияРеализация0.НеПодтвержденаРеализация0

                И Не КонецКвартала(НоваяСтрока.ДокументОтгрузки.Дата) = КонецКвартала(Объект.Дата) Тогда

                
                НоваяСтрока.ЗаписьДополнительногоЛиста = Истина;

                НоваяСтрока.КорректируемыйПериод = НоваяСтрока.ДокументОтгрузки.Дата;

                
            КонецЕсли;

            
        КонецЕсли;

    КонецЦикла;

        
    ВычетПоПриобретеннымЦенностям.Загрузить(ТаблицаРезультатов);

    
    ВычетПоПриобретеннымЦенностям.Сортировать(«СчетФактура, Поставщик, ВидЦенности, СтавкаНДС, ДокументОплаты, СчетУчетаНДС»);

КонецПроцедуры // ЗаполнитьСтрокиДокумента()

// Вызывается из процедуры ЗаполнитьСтроки_ВычетПоПриобретеннымЦенностям.

// Заполняет ТЧ ВычетПоПриобретеннымЦенностям по данным регистра НДСПредъявленный

Функция ЗаполнитьНДСКВычетуПоДаннымРегистраНДСПредъявленный()

    Запрос = Новый Запрос;

    Запрос.Текст =

        «ВЫБРАТЬ

        |    НДСПредъявленныйОстатки.Организация,

        |    НДСПредъявленныйОстатки.СчетФактура КАК СчетФактура,

        |    НДСПредъявленныйОстатки.ВидЦенности,

        |    НДСПредъявленныйОстатки.СтавкаНДС,

        |    НДСПредъявленныйОстатки.СчетУчетаНДС,

        |    НДСПредъявленныйОстатки.Поставщик,

        |    НДСПредъявленныйОстатки.ДатаОплаты,

        |    ВЫБОР

        |        КОГДА ЕСТЬNULL(СУММА(НДСПредъявленныйОстаткиИтог.СуммаБезНДСОстаток), 0) = 0

        |            ТОГДА 0

        |        ИНАЧЕ (ЕСТЬNULL(СУММА(НДСПредъявленныйОстаткиИтог.СуммаБезНДСОстаток), 0) — ЕСТЬNULL(НДСпоОСиНМАОстатки.СуммаБезНДСОстаток, 0) — ЕСТЬNULL(НДСПредъявленныйРеализация0Остатки.СуммаБезНДСОстаток, 0)) * ЕСТЬNULL(НДСПредъявленныйОстатки.СуммаБезНДСОстаток, 0) / ЕСТЬNULL(СУММА(НДСПредъявленныйОстаткиИтог.СуммаБезНДСОстаток), 0)

        |    КОНЕЦ КАК СуммаБезНДС,

        |    ВЫБОР

        |        КОГДА ЕСТЬNULL(СУММА(НДСПредъявленныйОстаткиИтог.НДСОстаток), 0) = 0

        |            ТОГДА 0

        |        ИНАЧЕ (ЕСТЬNULL(СУММА(НДСПредъявленныйОстаткиИтог.НДСОстаток), 0) — ЕСТЬNULL(НДСПредъявленныйРеализация0Остатки.НДСОстаток, 0) — ЕСТЬNULL(НДСпоОСиНМАОстатки.НДСОстаток, 0)) * ЕСТЬNULL(НДСПредъявленныйОстатки.НДСОстаток, 0) / ЕСТЬNULL(СУММА(НДСПредъявленныйОстаткиИтог.НДСОстаток), 0)

        |    КОНЕЦ КАК НДС,

        |    ЕСТЬNULL(НДСПредъявленныйОстатки.СчетФактура.Дата, &Дата) КАК СчетФактураДата,

        |    НДСПредъявленныйОстатки.ИсправленныйСчетФактура

        |ИЗ

        |    РегистрНакопления.НДСПредъявленный.Остатки(

        |            &ДатаГраница,

        |            Организация = &Организация

        |                И (НЕ ВидЦенности В (&ИсключаемыеВидыЦенностей))

        |                И ВЫБОР

        |                    КОГДА ВидЦенности В (&ВидыЦенностейОплата)

        |                        ТОГДА ДатаОплаты <> ДАТАВРЕМЯ(1, 1, 1)

        |                    КОГДА ВидЦенности В (&ВидыЦенностей_ОплатаПоНДССМР)

        |                        ТОГДА ВЫБОР

        |                                КОГДА ЕСТЬNULL(СчетФактура.Дата, &Дата) < ДАТАВРЕМЯ(2009, 1, 1)

        |                                    ТОГДА ДатаОплаты <> ДАТАВРЕМЯ(1, 1, 1)

        |                                ИНАЧЕ ИСТИНА

        |                            КОНЕЦ

        |                    ИНАЧЕ ИСТИНА

        |                КОНЕЦ

        |                И (НЕ СчетФактура ССЫЛКА Документ.КорректировкаРеализации)) КАК НДСПредъявленныйОстатки

        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДСпоОСиНМА.Остатки(

        |                &ДатаГраница,

        |                Организация = &Организация

        |                    И НДСВключенВСтоимость = ЛОЖЬ

        |                    И (НЕ ВидЦенности В (&ИсключаемыеВидыЦенностей))

        |                    И НеВлияетНаВычет = ЛОЖЬ) КАК НДСпоОСиНМАОстатки

        |        ПО НДСПредъявленныйОстатки.СчетФактура = НДСпоОСиНМАОстатки.СчетФактура

        |            И НДСПредъявленныйОстатки.ВидЦенности = НДСпоОСиНМАОстатки.ВидЦенности

        |            И НДСПредъявленныйОстатки.СтавкаНДС = НДСпоОСиНМАОстатки.СтавкаНДС

        |            И НДСПредъявленныйОстатки.СчетУчетаНДС = НДСпоОСиНМАОстатки.СчетУчетаНДС

        |            И (НДСпоОСиНМАОстатки.СуммаБезНДСОстаток + НДСпоОСиНМАОстатки.НДСОстаток > 0)

        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДСПредъявленныйРеализация0.Остатки(

        |                &ДатаГраница,

        |                Организация = &Организация

        |                    И (НЕ ВидЦенности В (&ИсключаемыеВидыЦенностей))) КАК НДСПредъявленныйРеализация0Остатки

        |        ПО НДСПредъявленныйОстатки.СчетФактура = НДСПредъявленныйРеализация0Остатки.СчетФактура

        |            И НДСПредъявленныйОстатки.ВидЦенности = НДСПредъявленныйРеализация0Остатки.ВидЦенности

        |            И НДСПредъявленныйОстатки.СтавкаНДС = НДСПредъявленныйРеализация0Остатки.СтавкаНДС

        |            И НДСПредъявленныйОстатки.СчетУчетаНДС = НДСПредъявленныйРеализация0Остатки.СчетУчетаНДС

        |            И (НДСПредъявленныйРеализация0Остатки.СуммаБезНДСОстаток + НДСПредъявленныйРеализация0Остатки.НДСОстаток > 0)

        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.НДСПредъявленный.Остатки(

        |                &ДатаГраница,

        |                Организация = &Организация

        |                    И (НЕ ВидЦенности В (&ИсключаемыеВидыЦенностей))

        |                    И ВЫБОР

        |                        КОГДА ВидЦенности В (&ВидыЦенностейОплата)

        |                            ТОГДА ДатаОплаты <> ДАТАВРЕМЯ(1, 1, 1)

        |                        КОГДА ВидЦенности В (&ВидыЦенностей_ОплатаПоНДССМР)

        |                            ТОГДА ВЫБОР

        |                                    КОГДА ЕСТЬNULL(СчетФактура.Дата, &Дата) < ДАТАВРЕМЯ(2009, 1, 1)

        |                                        ТОГДА ДатаОплаты <> ДАТАВРЕМЯ(1, 1, 1)

        |                                    ИНАЧЕ ИСТИНА

        |                                КОНЕЦ

        |                        ИНАЧЕ ИСТИНА

        |                    КОНЕЦ) КАК НДСПредъявленныйОстаткиИтог

        |        ПО НДСПредъявленныйОстатки.СчетФактура = НДСПредъявленныйОстаткиИтог.СчетФактура

        |            И НДСПредъявленныйОстатки.ВидЦенности = НДСПредъявленныйОстаткиИтог.ВидЦенности

        |            И НДСПредъявленныйОстатки.СтавкаНДС = НДСПредъявленныйОстаткиИтог.СтавкаНДС

        |            И НДСПредъявленныйОстатки.СчетУчетаНДС = НДСПредъявленныйОстаткиИтог.СчетУчетаНДС

        |            И НДСПредъявленныйОстатки.Организация = НДСПредъявленныйОстаткиИтог.Организация

        |            И НДСПредъявленныйОстатки.Поставщик = НДСПредъявленныйОстаткиИтог.Поставщик

        |ГДЕ

        |    (НДСПредъявленныйОстатки.СуммаБезНДСОстаток > 0

        |            ИЛИ НДСПредъявленныйОстатки.НДСОстаток > 0)

        |

        |СГРУППИРОВАТЬ ПО

        |    НДСПредъявленныйОстатки.Организация,

        |    НДСПредъявленныйОстатки.СчетФактура,

        |    НДСПредъявленныйОстатки.ВидЦенности,

        |    НДСПредъявленныйОстатки.СтавкаНДС,

        |    НДСПредъявленныйОстатки.СчетУчетаНДС,

        |    НДСПредъявленныйОстатки.Поставщик,

        |    ЕСТЬNULL(НДСПредъявленныйОстатки.СчетФактура.Дата, &Дата),

        |    НДСПредъявленныйОстатки.ДатаОплаты,

        |    НДСпоОСиНМАОстатки.СуммаБезНДСОстаток,

        |    НДСПредъявленныйРеализация0Остатки.СуммаБезНДСОстаток,

        |    НДСПредъявленныйОстатки.СуммаБезНДСОстаток,

        |    НДСПредъявленныйРеализация0Остатки.НДСОстаток,

        |    НДСпоОСиНМАОстатки.НДСОстаток,

        |    НДСПредъявленныйОстатки.НДСОстаток,

        |    НДСПредъявленныйОстатки.ИсправленныйСчетФактура

        |

        |ИМЕЮЩИЕ

        |    СУММА(ЕСТЬNULL(НДСПредъявленныйОстаткиИтог.СуммаБезНДСОстаток, 0) — ЕСТЬNULL(НДСпоОСиНМАОстатки.СуммаБезНДСОстаток, 0) — ЕСТЬNULL(НДСПредъявленныйРеализация0Остатки.СуммаБезНДСОстаток, 0) + ЕСТЬNULL(НДСПредъявленныйОстаткиИтог.НДСОстаток, 0) — ЕСТЬNULL(НДСПредъявленныйРеализация0Остатки.НДСОстаток, 0) — ЕСТЬNULL(НДСпоОСиНМАОстатки.НДСОстаток, 0)) > 0

        |

        |УПОРЯДОЧИТЬ ПО

        |    СчетФактураДата»;

    Запрос.УстановитьПараметр(«Организация»,  Объект.Организация);

    Запрос.УстановитьПараметр(«Дата», КонецДня(Объект.Дата));

    Запрос.УстановитьПараметр(«ДатаГраница», новый Граница(КонецДня(Объект.Дата),ВидГраницы.Включая));

    // Исключаемые из анализа виды ценностей

    ИсключаемыеВидыЦенностей = Новый СписокЗначений;

    ИсключаемыеВидыЦенностей.Добавить(Перечисления.ВидыЦенностей.АвансыПолученные);

    ИсключаемыеВидыЦенностей.Добавить(Перечисления.ВидыЦенностей.АвансыПолученные0);

    ИсключаемыеВидыЦенностей.Добавить(Перечисления.ВидыЦенностей.АвансыВыданные);

    
    // Виды ценностей, по которым требуется оплата

    ВидыЦенностейОплата = Новый СписокЗначений;

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.НалоговыйАгентАренда);

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.НалоговыйАгентРеализацияИмущества);

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.НалоговыйАгентИностранцы);

    // Виды ценностей с особым порядком распределения оплат — по НДС выплаченному в бюджет

    ВидыЦенностей_ОплатаПоНДССМР = Новый СписокЗначений;

    ВидыЦенностей_ОплатаПоНДССМР.Добавить(Перечисления.ВидыЦенностей.СМРСобственнымиСилами);

    
    Запрос.УстановитьПараметр(«ИсключаемыеВидыЦенностей», ИсключаемыеВидыЦенностей);

    Запрос.УстановитьПараметр(«ВидыЦенностейОплата», ВидыЦенностейОплата);

    Запрос.УстановитьПараметр(«ВидыЦенностей_ОплатаПоНДССМР», ВидыЦенностей_ОплатаПоНДССМР);

    
    ТЗ=Запрос.Выполнить().Выгрузить();

    Сч=0;

    Пока Сч < ТЗ.Количество() Цикл

        СтрокаТаблицы = ТЗ.Получить(Сч);

        Если НЕ СчетСоответсвуетОтбору(СтрокаТаблицы.СчетУчетаНДС) Тогда

            Сообщить(» **  «+СтрокаТаблицы.СчетУчетаНДС);

           ТЗ.Удалить(СтрокаТаблицы);

        Иначе

            Сч = Сч + 1;

            Сообщить(» ??  «+СтрокаТаблицы.СчетУчетаНДС);

        КонецЕсли;

    КонецЦикла;

    Возврат ТЗ;

КонецФункции // ЗаполнитьНДСКВычетуПоДаннымРегистраНДСПредъявленный()

// Вызывается из процедуры ЗаполнитьСтроки_ВычетПоПриобретеннымЦенностям.

// Заполняет ТЧ ВычетПоПриобретеннымЦенностям по данным регистра НДСПредъявленныйРеализация0

Функция ЗаполнитьНДСКВычетуПоДаннымРегистраНДСПредъявленныйРеализация0()

    Запрос = Новый Запрос;

    Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

    Запрос.Текст = «ВЫБРАТЬ

                   |    НДСПредъявленныйРеализация0Остатки.СчетФактура КАК СчетФактура,

                   |    НДСПредъявленныйРеализация0Остатки.ВидЦенности,

                   |    НДСПредъявленныйРеализация0Остатки.СтавкаНДС,

                   |    НДСПредъявленныйРеализация0Остатки.СчетУчетаНДС,

                   |    ЕСТЬNULL(НДСПредъявленныйРеализация0Остатки.СуммаБезНДСОстаток, 0) КАК СуммаБезНДС,

                   |    ЕСТЬNULL(НДСПредъявленныйРеализация0Остатки.НДСОстаток, 0) КАК НДС,

                   |    ЕСТЬNULL(НДСПредъявленныйРеализация0Остатки.СчетФактура.Дата, &Дата) КАК СчетФактураДата,

                   |    НДСПредъявленныйРеализация0Остатки.ДокументОтгрузки,

                   |    НДСПредъявленныйРеализация0Остатки.Состояние

                   |ИЗ

                   |    РегистрНакопления.НДСПредъявленныйРеализация0.Остатки(

                   |            &ДатаГраница,

                   |            Организация = &Организация

                   |                И Состояние В (&ОтрабатываемыеСостояния)) КАК НДСПредъявленныйРеализация0Остатки

                   |ГДЕ

                   |    (НДСПредъявленныйРеализация0Остатки.СуммаБезНДСОстаток > 0

                   |            ИЛИ НДСПредъявленныйРеализация0Остатки.НДСОстаток > 0)

                   |

                   |УПОРЯДОЧИТЬ ПО

                   |    СчетФактураДата»;

    Запрос.УстановитьПараметр(«Организация»,  Объект.Организация);

    Запрос.УстановитьПараметр(«Дата», КонецДня(Объект.Дата));

    Запрос.УстановитьПараметр(«ДатаГраница», новый Граница(КонецДня(Объект.Дата),ВидГраницы.Включая));

    // Исключаемые из анализа виды ценностей

    ИсключаемыеВидыЦенностей = Новый СписокЗначений;

    ИсключаемыеВидыЦенностей.Добавить(Перечисления.ВидыЦенностей.АвансыПолученные);

    ИсключаемыеВидыЦенностей.Добавить(Перечисления.ВидыЦенностей.АвансыПолученные0);

    ИсключаемыеВидыЦенностей.Добавить(Перечисления.ВидыЦенностей.АвансыВыданные);

    // Виды ценностей, по которым требуется оплата

    ВидыЦенностейОплата = Новый СписокЗначений;

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.НалоговыйАгентАренда);

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.НалоговыйАгентРеализацияИмущества);

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.НалоговыйАгентИностранцы);

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.ВнутреннееПотребление);

    ВидыЦенностейОплата.Добавить(Перечисления.ВидыЦенностей.СМРСобственнымиСилами);

    
    Запрос.УстановитьПараметр(«ИсключаемыеВидыЦенностей», ИсключаемыеВидыЦенностей);

    Запрос.УстановитьПараметр(«ВидыЦенностейОплата», ВидыЦенностейОплата);

    
    ОтрабатываемыеСостояния = Новый СписокЗначений;

    ОтрабатываемыеСостояния.Добавить(Перечисления.НДССостоянияРеализация0.ПодтвержденаРеализация0);

    ОтрабатываемыеСостояния.Добавить(Перечисления.НДССостоянияРеализация0.НеПодтвержденаРеализация0);

    
    Запрос.УстановитьПараметр(«ОтрабатываемыеСостояния»,ОтрабатываемыеСостояния);

    
    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    
    Запрос.Текст = «ВЫБРАТЬ

                   |    НДСПредъявленныйОстатки.СчетФактура,

                   |    НДСПредъявленныйОстатки.ВидЦенности,

                   |    НДСПредъявленныйОстатки.СтавкаНДС,

                   |    НДСПредъявленныйОстатки.СчетУчетаНДС,

                   |    НДСПредъявленныйОстатки.Поставщик,

                   |    НДСПредъявленныйОстатки.ДатаОплаты,

                   |    НДСПредъявленныйОстатки.СуммаБезНДСОстаток КАК СуммаБезНДС,

                   |    НДСПредъявленныйОстатки.НДСОстаток КАК НДС

                   |ИЗ

                   |    РегистрНакопления.НДСПредъявленный.Остатки(

                   |            &ДатаГраница,

                   |            Организация = &Организация

                   |                И (НЕ ВидЦенности В (&ИсключаемыеВидыЦенностей))

                   |                И ВЫБОР

                   |                    КОГДА ВидЦенности В (&ВидыЦенностейОплата)

                   |                        ТОГДА ДатаОплаты <> ДАТАВРЕМЯ(1, 1, 1)

                   |                    ИНАЧЕ ИСТИНА

                   |                КОНЕЦ

                   |                И СчетФактура В (&СписокСчетовФактур)) КАК НДСПредъявленныйОстатки

                   |ГДЕ

                   |    НДСПредъявленныйОстатки.СуммаБезНДСОстаток + НДСПредъявленныйОстатки.НДСОстаток > 0″;

    
    Запрос.УстановитьПараметр(«СписокСчетовФактур», РезультатЗапроса.ВыгрузитьКолонку(«СчетФактура»));

    
    НДСПредъявленный = Запрос.Выполнить().Выгрузить();

    Результат = РезультатЗапроса.СкопироватьКолонки();

    Результат.Колонки.Добавить(«Поставщик», Новый ОписаниеТипов(«СправочникСсылка.Контрагенты»));

    Результат.Колонки.Добавить(«ДатаОплаты», Новый ОписаниеТипов(«Дата»));

    СтруктураОтбора = Новый структура(«СчетФактура, ВидЦенности, СтавкаНДС, СчетУчетаНДС»);

    
    // Отбираем строки к вычету по регистру НДСПредъявленныйРеализация0, не превышающие остаток по НДСПредъявленный.

    // Определяем поставщика и дату оплаты по остаткам НДСПредъявленный.

    
    Для Каждого СтрокаКВычету Из РезультатЗапроса Цикл

        
        ЗаполнитьЗначенияСвойств(СтруктураОтбора, СтрокаКВычету);

        
        СтрокиНДСПредъявленный = НДСПредъявленный.НайтиСтроки(СтруктураОтбора);

        
        Если СтрокиНДСПредъявленный.Количество() = Неопределено Тогда

            Продолжить;

        КонецЕсли;

        
        Для Каждого СтрокаНДСПредъявленный Из СтрокиНДСПредъявленный Цикл

            Сообщить(«- «+СтрокаНДСПредъявленный.СчетУчетаНДС);

            Если НЕ СчетСоответсвуетОтбору(СтрокаНДСПредъявленный.СчетУчетаНДС) Тогда

                
                Продолжить;

            
            КонецЕсли;

            Если СтрокаКВычету.СуммаБезНДС = 0 И СтрокаКВычету.НДС = 0 Тогда

                Прервать;

            КонецЕсли;    

            
            СуммаБезНДС = Мин(СтрокаКВычету.СуммаБезНДС, СтрокаНДСПредъявленный.СуммаБезНДС);

            НДС = Мин(СтрокаКВычету.НДС, СтрокаНДСПредъявленный.НДС);

            
            НоваяСтрока = Результат.Добавить();

            ЗаполнитьЗначенияСвойств(НоваяСтрока, СтрокаКВычету);

            НоваяСтрока.СуммаБезНДС = СуммаБезНДС;

            НоваяСтрока.НДС = НДС;

            НоваяСтрока.Поставщик = СтрокаНДСПредъявленный.Поставщик;

            НоваяСтрока.ДатаОплаты = СтрокаНДСПредъявленный.ДатаОплаты;

            
            СтрокаКВычету.СуммаБезНДС = СтрокаКВычету.СуммаБезНДС — СуммаБезНДС;

            СтрокаКВычету.НДС = СтрокаКВычету.НДС — НДС;

            СтрокаНДСПредъявленный.СуммаБезНДС = СтрокаНДСПредъявленный.СуммаБезНДС — СуммаБезНДС;

            СтрокаНДСПредъявленный.НДС = СтрокаНДСПредъявленный.НДС — НДС;

            
        КонецЦикла;

        
    КонецЦикла;

    
    Возврат Результат;

    
КонецФункции // ЗаполнитьНДСКВычетуПоДаннымРегистраНДСПредъявленныйРеализация0()

Функция СчетСоответсвуетОтбору(СчетУчетаНДС)

    Если Счета.Количество()=0 Тогда

        Возврат Истина;

    КонецЕсли;

    Для каждого Ст Из Счета Цикл

    
        Если Ст.Счет=СчетУчетаНДС и Ст.Учитывать Тогда

        
            Возврат Истина;

        
        КонецЕсли;

    
    КонецЦикла;

    Возврат Ложь;

КонецФункции

Процедура КнопкаВыполнитьНажатие(Кнопка)

    //Если ОчищатьТабличнуюЧасть Тогда

        ЗаполнитьСтроки_ВычетПоПриобретеннымЦенностям();

    //Иначе

    //КонецЕсли;

    Комментарий=»заполнено по счетам: «;

    Для каждого Ст Из счета Цикл

        Если Ст.Учитывать Тогда

            Комментарий=Комментарий+Ст.Счет+» «;

        КонецЕсли;

    КонецЦикла;

    Объект.Комментарий=Комментарий;

    ЭтаФорма.Закрыть();

КонецПроцедуры

Процедура ПриОткрытии()

    //ОчищатьТабличнуюЧасть=Истина;

    //Сообщить(«»+ИмяТЧ);

    ВычетПоПриобретеннымЦенностям=Вычислить(«Объект.»+ИмяТЧ);

    ЗаполнитьСчета();

КонецПроцедуры

Процедура ЗаполнитьСчета()

    Запрос = Новый Запрос;

    Запрос.Текст = «ВЫБРАТЬ

                   |    Хозрасчетный.Ссылка КАК Счет

                   |ИЗ

                   |    ПланСчетов.Хозрасчетный КАК Хозрасчетный

                   |ГДЕ

                   |    Хозрасчетный.Ссылка В ИЕРАРХИИ(&Родитель)

                   |    И Хозрасчетный.ЗапретитьИспользоватьВПроводках = ЛОЖЬ

                   |    И Хозрасчетный.Код <> «»19.07″»

                   |

                   |УПОРЯДОЧИТЬ ПО

                   |    Хозрасчетный.Ссылка

                   |АВТОУПОРЯДОЧИВАНИЕ»;

    
    Запрос.УстановитьПараметр(«Родитель»,ПланыСчетов.Хозрасчетный.НайтиПоКоду(«19»));

    
    Результат = Запрос.Выполнить();

    Счета.Загрузить(Результат.Выгрузить());

КонецПроцедуры

14.09.2017

Сегодня, после обновления 1С:Бухгалтерии предприятия, на версию 2.0.64.6, при открытии Регламентированных отчетов стала появляться ошибка следующего содержания:

{(5, 2)}: Таблица не найдена «Константы»
<<?>>Константы КАК Константы

Если нажать кнопку «Подробно», то получали ошибку:

{Обработка.ОнлайнСервисыРегламентированнойОтчетности.МодульОбъекта(772)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
{(5, 2)}: Таблица не найдена «Константы»
<<?>>Константы КАК Константы

Причем ошибка появилась сразу на нескольких базах и у всех пользователей. Также эта ошибка выходила при просмотре журнала документов Реализация товаров и услуг.

Решение проблемы

В результате было найдено два способа решения этой проблемы.

Способ №1″

У клиента использовалась платформа 8.2.19.106, и проблема решилась обновлением до версии 8.3.5.1383

Способ №2

Необходимо зайти в режим «Конфигуратор» (остальные пользователи при этом должны выйти из программы). Перейти в меню Администрирование -> Тестирование и исправление. После завершения процесса можно закрывать конфигуратор и пользоваться программой. Ошибка должна исчезнуть

Канал про 1С появился в telegram

Следите за выходом отчетов и расширений для 1С на новом Telegram-канале здесь. Нас уже более 700 человек!

Канал про 1С в Telegram (1c в Телеграм)

Содержание:

1.     Возникновение ошибки «Таблица не найдена» в конфигурации системы 1С

Ошибка типа «Таблица не найдена…» в системе на базе 1С имеет несколько видов:

1.     Если открыть регламентированные отчёты в 1С или журналы документации в конфигурации «1С: Бухгалтерия», после обновления системы, то начинает возникать окно, которое сообщает об ошибке, как демонстрируется ниже:

При этом, данная неполадка появляется у всех юзеров 1С, даже с разными базами данных.

2.     Также, эта же ошибка может возникать в конфигурации системы 1С: Предприятие при некорректном выходе из системы, тогда её текст будет следующим: «Таблица не найдена: _Reference76».

Эта ошибка является ошибкой СУБД в 1С, а именно – SQL.  

2.     Устранение первого и второго вида ошибки «Таблица не найдена…» в конфигурации системы 1С Предприятие

         Если кликнуть на «Подробнее», то получим следующее сообщение:

         При возникновении ошибки «Таблица не найдена…» в конфигурации системы 1С: Бухгалтерия следует по порядку следовать пунктам ниже, один из них всегда устраняет неполадку:

·        Обновить систему 1С до последней версии;

·        Перейти в «Конфигуратор», при этом, другие юзеры 1С должны покинуть программу, кликнуть на панель «Администрирование 1С Предприятие» и выбрать пункт «Тестирование и исправление 1С», после чего, ошибка должна пропасть.

Наиболее логичным кажется проверить сохранность файла 1Сv8.1CD, пользуясь утилитой chdbfl.exe, однако, этот метод не отобразит ошибок и, в данном случае, следует действовать иначе.

Рассмотрим, по порядку, необходимый перечень действий:

1.     Первым шагом нужно определить название таблицы «_Reference76» внутри информационной базы, для этого нужно воспользоваться внешней обработкой. То есть, по сути, эта таблица удалена, но являлась справочной. Из этого следует, что нужно узнать её исходный справочник. При помощи обработки делаем это, результатом чего найдено его название – «Спецификация номенклатуры».

2.     Далее нужно поменять «Спецификация номенклатуры» на другой справочник. Это делается так:

·        Меняем имя с «СпецификацияНоменклатуры» на имя «ЯСпецификацииНоменклатуры» — это делается, кликнув на имя справочника, переходом в меню, выбором пункта «Свойства», после чего внутри поля «Имя» меняем данные;

·        Далее кликаем на имя справочника и избираем «Сортировать», после чего, справочники будут отсортированы по имени и наш справочник будет последним;

·        Открываем такую же конфигурацию системы 1С, только в ней справочник «СпецификацииНоменклатуры» недолжен быть повреждён, запускаем её в режиме конфигуратора в 1С и копируем этот справочник, как показано ниже:

·        Запускаем систему, где база была повреждена и вносим туда скопированный справочник;

·        Далее кликаем на «Конфигурация», выбираем пункт «Поддержка» и переходим по «Настройка поддержки», где нужно два раза кликнуть по справочнику «ЯСпецификацииНоменклатуры», откроется следующее окно и нужно выбрать как на скриншоте ниже:

·        Как только справочник будет снят с поддержки, дерево метаданных будет отображаться так:

3.     Следующий шаг – убрать ссылки в прошлом справочнике и удалить его. Для этого кликаем по «ЯСпецификацииНоменклатуры» и выбираем «Удалить», появится следующее обращение о невозможности провести удаление, в котором нужно кликнуть «ОК»:

         В панели со служебными сообщениями отобразится перечень из объектов, в которых содержаться ссылки на данный справочник. Этот перечень можно заменить при помощи ссылки из «ЯСпецификацииНоменклатуры» на «СпецификацииНоменклатуры»:

         Для замены ссылки нужно дважды кликнуть по каждой строке перечня.
         К примеру, выберем первый пункт перечня, если кликнуть на него два раза, то запустится объект, в котором будет ссылка на «ЯСпецификацииНоменклатуры»:

         Открываем свойства объекта 1С, в которых хранится ссылка на наш справочник:

         Внутри поля «Источник» можно наблюдать составной тип с нашим справочником. Меняем ссылку на «СпецификацииНоменклатуры» внутри инструмента по редакции составных типов. Далее делаем следующее, как на скриншоте ниже:

         Все действия необходимо провести для каждого элемента перечня. Как только ссылки изменены – объект может быть удалён. Сохраним полученный результат в конфигурации.

         Получили, что номенклатурный справочник «СпецификацииНоменклатуры» ссылается теперь на эту таблицу из базы 1С – «_Reference6845». Данные из справочника необходимо вернуть. Ошибка устранена.

Специалист компании «Кодерлайн»
Айдар Фархутдинов

Доброго времени суток, уважаемые читатели блога SoftMaker.kz. Сегодня мы поговорим, как побороть ошибку, возникающую в файловой базе 1С при неправильном закрытии системы 1С:Предприятие, например при внезапном отключении света или неправильной работе компьютера (работает и в случае, если 1С:Предприятие 8 установлено на MS SQL Server 2008 R2 Express). Ошибка СУБД: Ошибка SQL: «Таблица не найдена: _Reference76» появлялась, когда производилось тестирование и исправление информационной базы (ТиИ ИБ) при прохождении проверки логической целостности ИБ. При попытке выгрузить ИБ Конфигуратор вылетал.
Проверка физической целостности файла 1Cv8.1CD с помощью утилиты chdbfl.exe показало, что ошибок не обнаружено. Поэтому пришлось идти другим путём и получилось следующее:

  • Определяем как в базе называется таблица _Reference76 с помощью внешней обработки 1С
  • Заменяем справочник «Спецификации номенклатуры» на новый
  • Убираем ссылки со старого справочника «Спецификации номенклатуры» и удаляем его

Определяем как в базе называется таблица _Reference76 с помощью внешней обработки 1С

В случае ошибки СУБД: Ошибка SQL: Таблица не найдена _Reference76 сразу становится ясно, что была удалена таблица «_Reference76» и из названия ясно, что это какой-то справочник. Но как теперь определить, к какому именно справочнику таблица «_Reference76» относится, чтобы попытаться её восстановить? Для этого можно написать небольшую обработку для выяснения названия:

Процедура КнопкаВыполнитьНажатие(Кнопка)
	МассивИменМетаданных = Новый Массив();
	Для каждого Объект Из Метаданные.Справочники Цикл
		МассивИменМетаданных.Добавить(Объект.ПолноеИмя());
	КонецЦикла;
	// Таблица значений, содержащая таблицы указанного объекта.
	Таблицы = ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);
	Для Каждого Таблица Из Таблицы Цикл
		Сообщить(Таблица.Метаданные + " - " + Таблица.ИмяТаблицыХранения);
	КонецЦикла;
КонецПроцедуры

В результате работы обработки выяснилось, что таблица «_Reference76» относится к справочнику «Спецификации номенклатуры».

...
Справочник.СпецификацииНоменклатуры - Reference76
...

Обработку для поиска соответствия названия справочников конфигурации 1С и их внутренних таблиц можно скачать отсюда.

Заменяем справочник «Спецификации номенклатуры» на новый

Теперь заменим справочник «Спецификации номенклатуры» на новый. Для этого выполним следующие действия:

  • Изменим наименование справочника «СпецификацииНоменклатуры» на «ЯСпецификацииНоменклатуры». Нажмём правой кнопкой мыши на справочнике «СпецификацииНоменклатуры» и в контекстном меню выберем пункт «Свойства» и в поле «Имя» изменим наименование.
  • Теперь отсортируем справочники в дереве метаданных по имени. Нажмём правой кнопкой мыши на справочнике «СпецификацииНоменклатуры» и в контекстном меню выберем пункт «Сортировать…». Cправочник «СпецификацииНоменклатуры» оказался в самом низу, нам это пригодится в дальнейшем.
  • Теперь заменим справочник «Спецификации номенклатуры» на новый. Для этого нужна идентичная конфигурация с неповреждённым справочником «Спецификации номенклатуры». Нужно открыть эту конфигурацию в режиме «Конфигуратор» и выделить справочник «Спецификации номенклатуры» в дереве метаданных и скопировать его (Ctrl+C).

    Справочник «Спецификации номенклатуры» в дереве метаданных 1С

  • Открываем «Конфигуратор» с повреждённой базой и вставляем новый справочником «Спецификации номенклатуры» (Ctrl+V).
  • Теперь снимем с поддержки справочник «ЯСпецификацииНоменклатуры», чтобы затем удалить его. «Конфигурация» | «Поддержка» | «Настройка поддержки». В дереве метаданных выберем справочник «ЯСпецификацииНоменклатуры» и двойным щелчком мыши на справочнике откроем следующий диалог:

    Справочник 1С «Спецификации номенклатуры» снимается с поддержки поставщика

  • В диалоге «Настройка правил поддержки» выберем правило «Объект поставщика снят с поддержки» и поставим флажок «Установить для подчинённых объектов».
  • После снятия с поддержки справочники «ЯСпецификацииНоменклатуры» и «СпецификацииНоменклатуры» в дереве метаданных конфигурации выглядят следующим образом:

    Справочник 1С «Спецификации номенклатуры» после снятия поддержки поставщика

Убираем ссылки со старого справочника «Спецификации номенклатуры» и удаляем его

    • Жмём правой кнопкой мыши на справочнике «ЯСпецификацииНоменклатуры» и в контекстном меню выбираем пункт «Удалить». Появилось сообщение Конфигуратора: «Объект не может быть удален, так как на него имеются ссылки в других объектах!»

      Предупреждение о ссылках на справочник 1С «ЯСпецификацииНоменклатуры» и невозможности его удаления

    • Нажимаем на кнопку «ОК». В окне служебных сообщений видим список объектов, которые содержат в себе ссылки на справочник «ЯСпецификацииНоменклатуры». Этот список поможет быстро заменить ссылки со справочника «ЯСпецификацииНоменклатуры» на справочник «СпецификацииНоменклатуры». Приступим.

      Список объектов 1С, ссылающихся на справочник «ЯСпецификацииНоменклатуры» в окне служебных сообщений Конфигуратора

    • Чтобы заменить ссылки в объектах нажимаем на каждую строку списка двойным кликом. Для примера возьмём первый элемент списка «ПодпискаНаСобытие.ПриУстановкеНовогоКодаСправочника.Источник»
  • После двойного клика на этом элементе, в дереве метаданных откроется объект и в нём мы найдем ссылку на справочник «ЯСпецификацииНоменклатуры».

    Открытие объекта 1С в дереве метаданных, содержащего ссылку на справочник «ЯСпецификацииНоменклатуры»

  • Два раза нажимаем левой кнопкой мыши, чтобы открыть свойство объекта, в котором содержится ссылка на справочник «ЯСпецификацииНоменклатуры».

    Свойства объекта 1С с реквизитом, в котором содержиться ссылка на справочник «ЯСпецификацииНоменклатуры»

  • Как видно из вышеприведённого изображения в поле «Источник» содержится составной тип, в который входит и справочник «ЯСпецификацииНоменклатуры». Заменим ссылку со справочника «ЯСпецификацииНоменклатуры» на справочник «СпецификацииНоменклатуры» в диалоге редактирования составного типа данных. Ссылка заменяется снятием флажка напротив справочника «ЯСпецификацииНоменклатуры» и установкой флажка напротив справочника «СпецификацииНоменклатуры».

    Замена ссылки справочника «ЯСпецификацииНоменклатуры» на справочник «СпецификацииНоменклатуры» в диалоге редактирования составного типа данных объекта 1С

  • Эти же самые действия проделываем для всех элементов вышеприведённого списка.
  • Открываем каждый объект и заменяем в нём ссылки.
  • После замены ссылок объект спокойно удаляется.
  • Сохраняем конфигурацию, нажав, клавишу «F7».

Теперь новый справочник «СпецификацииНоменклатуры» ссылается на новую таблицу в базе 1С — _Reference6845. Если в справочнике были какие-нибудь данные, то они уже уничтожены, поэтому нужно их восстановить. Это можно сделать воспользовавшись советами статьи Как выгрузить данные в идентичную конфигурацию 1С? Если была удалена другая таблица, например _DOCUMENT, тогда нужно изменить обработку для поиска соответствия названия документов конфигурации 1С и их внутренних таблиц, а шаги проделать те же самые.

ПОДПИСКА

  

Капюшон

30.06.11 — 09:28

питание отрубили во время перепроведения документов в УТ10.2

Далее сделали восстановление базы утилитой chdbfl.exe

нашла ошибку, исправила. Однако в конфигураторе запускаю ТИИ (тестирование и исправление информационной базы) и на одном из этапов выдается

«ОШИБКА СУБД: ОШИБКА SQL: Таблица не найдена _Reference33

также при открытии в режиме 1с предприятия, не дает открыть справочник номенклатуры — выходит та же ошибка — видимо справочник номенклатуры поврежден. как можно решить проблему? я сейчас получил Cf файл от копии базы и им попробую полечить

  

Капюшон

1 — 30.06.11 — 09:31

такс. пробовал делать сравнение-объединение при помощи живого cf файла — выдает, что конфигурации идентичные

  

DCKiller

2 — 30.06.11 — 09:32

Тебе ж русским языком говорят: в SQL слетела таблица. Причем тут конфигурации?

  

Prikum

3 — 30.06.11 — 09:33

(2) у него файловая

  

Капюшон

4 — 30.06.11 — 09:33

(2)так у нас же файловая система!

  

DCKiller

5 — 30.06.11 — 09:36

(4) Тады придется в дебри лезть. Разбирать 1CD специальной утилитой (тут где-то ссылку на инфостарт на нее давали, щас уже не помню), смотреть его нутро на предмет наличия данной таблицы, и в случае отсутсвия последней руками ее туда встраивать из бэкапа (он у тебя есть, надеюсь?)

  

DCKiller

6 — 30.06.11 — 09:37

+5 у мну эта прога есть.. могу выслать на мыло, если что, только ближе к вечеру.

  

Капюшон

7 — 30.06.11 — 09:37

(5)самого бекапа этой базы нет. но есть база идентичной конфигурации

  

Капюшон

8 — 30.06.11 — 09:38

(6)а как её найти по каким ключевым словам?

  

Prikum

9 — 30.06.11 — 09:39

Она тебе не сильно поможет, справочник ты уже потерял и востанавливать его надо будет или руками или из бэкапа.

  

DCKiller

10 — 30.06.11 — 09:42

(8) Названия не помню :( Что-то вроде 1CDview, я думаю.

  

Капюшон

11 — 30.06.11 — 09:42

(9)не. ну он что вобще потерян чтоли?

  

Renat11111

12 — 30.06.11 — 09:43

(6) вышли мне super-ren@yandex.ru

  

GoldenDawn

13 — 30.06.11 — 09:43

(0)»с 2002 занимаюсь 1с  »

баков нет и база файловая )))

  

DCKiller

14 — 30.06.11 — 09:46

(8), (12) О, вот она! Нашел. Налетай!

http://help1c.com/files/view/37.html

  

Prikum

15 — 30.06.11 — 09:46

(11) > Таблица не найдена _Reference33

ты как то по другому понимаешь эту фразу?

  

Капюшон

16 — 30.06.11 — 09:48

(13)у тебя дебильная логика. ты никогда не думал, что к людям могут обращаться с проблемами впервые? мне вот в Казань из Москвы позвонили по рекомендации.

  

Капюшон

17 — 30.06.11 — 09:49

(14)спасибо!! я уже нашел ее но по твоей наводке ))

  

Капюшон

18 — 30.06.11 — 09:49

(15)это значит что такой таблицы и содержания следовательно нету. правда куда она могла деться. ну я понял о чем ты.

  

Капюшон

19 — 30.06.11 — 10:22

Бекапа нет у них и небыло! как же мне восстановить эту таблицу  _Reference33  ведь её нету там!

  

Prikum

20 — 30.06.11 — 10:26

(19) В конфигураторе удалить справочник, потом его восстановить из другой базы и потом набить данные руками, но все равно все полетит к чертовой матери, потому как ссылки посыпались.

  

Капюшон

21 — 30.06.11 — 10:29

(20)а как справочник удалить если на него отовсюду ссылки?

  

andrewks

22 — 30.06.11 — 10:30

для начала надо тулом посмотреть, что там сэтой табличкой. может, у неё тупо заголовок похерился и можно исправить

  

Капюшон

23 — 30.06.11 — 10:30

(22)посмотрел. этой таблицы там вообще нет

  

Prikum

24 — 30.06.11 — 10:30

(21) Бэкап ведь не зря придумали!

  

Prikum

25 — 30.06.11 — 10:31

(23) а какие нибудь непонятные таблицы есть?

  

andrewks

26 — 30.06.11 — 10:32

очень странно. попробуй cf в чистую БД развернуть и глянь какие там таблицы

  

Капюшон

27 — 30.06.11 — 10:36

(26)развернул. там есть эта таблица.

  

Капюшон

28 — 30.06.11 — 10:36

(25)непонятных не видел. они там все непонятные по названиям. а какая должна быть?

  

Prikum

29 — 30.06.11 — 10:37

(28) По полям поищи

  

Капюшон

30 — 30.06.11 — 10:42

(29)поискал. там нет этого справочника этой таблицы. в небитой базе он есть. но утилита не позволяет импортировать таблицы извне

  

Капюшон

31 — 30.06.11 — 10:47

как хотябы справочник номенклатуры удалить?

  

Prikum

32 — 30.06.11 — 10:49

(30) небитая база потомок битой? Архивов вообще нету?

  

Капюшон

33 — 30.06.11 — 10:50

(32)архивов вообще небыло у них. а небитая база она просто той же конфигурации. их одновременно поставили две чистые. потом в них начали работать параллельно

  

Капюшон

34 — 30.06.11 — 10:51

(32)там всего пол года ведётся работа. мне хотябы грохнуть щас справочник номенклатуры чтобы потом объединением его восстановить. но он не удаляется потому что на него ссылаются из других объектов метаданных. я забыл где этот контроль можно изменить

  

Prikum

35 — 30.06.11 — 10:53

(34) а загрузить конфигурацию?

  

Капюшон

36 — 30.06.11 — 10:56

(35)а это данные не уничтожит? попробую

  

Prikum

37 — 30.06.11 — 10:59

(36) Всегда умилял такой вопрос! База уже не работает, так что без разницы, уничтожит она данные или нет, да и бэкап никто не запрещает сделать перед процедурой.

  

БибиГон

38 — 30.06.11 — 11:01

(36) если они конфигурацию не меняли то не должно.

(37) меня москвичи удивляют, не все конечно, но в данном случае жмотье. )

  

Prikum

39 — 30.06.11 — 11:04

(38) Я не Москвы, если что.

  

Капюшон

40 — 30.06.11 — 11:12

(36)я задал вопрос потомучто мне было важно знать загрузка конфигурации не удалит ли файлы

  

Капюшон

41 — 30.06.11 — 11:15

(39)загрузка конфигурации не помогла решить вопрос. таблица также не найдена. нужно чтото делать. похоже SQL сервер ставить

  

Капюшон

42 — 30.06.11 — 11:17

вобщем ужасно это.. база умерла.

  

Капюшон

43 — 30.06.11 — 11:27

никто не знает чтоли как восстановить таблицу? может через SQL попробовать?

  

Капюшон

44 — 30.06.11 — 11:48

А вообще как вариант универсальную выгрузку в Xml сделать

  

Prikum

45 — 30.06.11 — 12:21

Сколько в архиве весит база вместе с сф нормальным?

  

Капюшон

46 — 30.06.11 — 12:37

(45)порядка 100

  

Prikum

47 — 30.06.11 — 12:39

(46) смогу только вечером посмотреть, сразу говорю, что не бесплатно, в случае удачного решения вопроса. Удачным решением будет считаться восстановление справочника номенклатуры как объекта метаданных.

  

awa15

48 — 30.06.11 — 12:48

(0) Основная проблема тут:

«Далее сделали восстановление базы утилитой chdbfl.exe»

chdbfl.exe и убило таблицу справочника.

  

Prikum

49 — 30.06.11 — 12:49

(48) а чем еще восстанавливать базу? Ему надо было сначала бэкап сделать, а уже потом ТиИ и chdbfl.exe

  

awa15

50 — 30.06.11 — 12:55

(49) Если нет бэкапа до применения chdbfl.exe, то содержимое справочника потеряно. Базу восстановить можно, но справочник будет пустой. Потом ТиИ с режимом восстановления объектов может насоздавать новых объектов по ссылкам на справочник.

  

Aprobator

51 — 30.06.11 — 12:56

(0) ппц. Вечная песня — нет упса и бекапов. И восстановить пытаемся сразу, нет чтобы копию файла сделать сначала.

  

mdocs

52 — 30.06.11 — 12:59

Очередной финт «надежной» восьмерки. Когда уже 1с редактором разродится?

  

Prikum

53 — 30.06.11 — 13:02

(50) смотри (47)

  

Prikum

54 — 30.06.11 — 13:03

(52) очередной финт криворуких пользователей, платформа здесь ни причем.

  

mdocs

55 — 30.06.11 — 13:04

(54) Пофиг кто винават. Как править?

  

mdocs

56 — 30.06.11 — 13:04

виноват

  

awa15

57 — 30.06.11 — 13:06

(53) Зачем мне туда смотреть?

(55) Руками (т.е. hex-редактором) создать таблицу в базе.

  

GoldenDawn

58 — 30.06.11 — 13:07

(50)нужно из новой подключить к восстановленной из бака и по гуидам из ссылок на справочник перетащить справочник, (естественно по состоянию на момент копирования)

  

mdocs

59 — 30.06.11 — 13:07

(57) Это я понимаю, кроме вас крайне мало людей на это способно. Я — нет. А базы рушаться с завидной регулярностью :(

  

Prikum

60 — 30.06.11 — 13:07

(58) нету у него архива

  

  

ДемонМаксвелла

61 — 30.06.11 — 13:42

в DT выгружается?

  

ДемонМаксвелла

62 — 30.06.11 — 13:45

Что-то не понял, если это файловая, откуда в названии темы и в нулевом посте SQL?

  

Prikum

63 — 30.06.11 — 13:45

(62) из текста ошибки

  

Капюшон

64 — 30.06.11 — 14:03

(51)этому магазину пол года. у них даже админа нет. они сделали первое что нашли в интернете — запустили утилиту восстановления.

  

Капюшон

65 — 30.06.11 — 14:04

(61)В DT не выгружаются.

  

Капюшон

66 — 30.06.11 — 14:05

(63)я должен сам восстановить работоспособность конфигурации, в крайнем случае перетащить документы через универсальную выгрузку XML в чистую базу.

  

Капюшон

67 — 30.06.11 — 14:05

(63)и кажется это делается при помощи перевода базы в SQL режим. там то и можно восстановить таблицу

  

Ёпрст

68 — 30.06.11 — 14:12

(67) вообще ответ в (57) был озвучен..

  

Капюшон

69 — 30.06.11 — 14:14

(68)да. я как раз думаю над ответом. только неясно каким образом эту таблицу там создать

  

Ёпрст

70 — 30.06.11 — 14:20

(69) дык ручками, любым hex-редактором, тем более, что у тебя есть донор.. можешь в нём целиком кусок забрать.

Да и, автор поста (57) тебе может восстановить запросто.

Обращайся к нему.

  

Капюшон

71 — 30.06.11 — 14:21

(57)привет ты здесь?

  

Капюшон

72 — 30.06.11 — 14:22

(70)попробую. редактор у меня есть. спасибо. правда как в нем найти эту таблицу вопрос пока не решен

  

mdocs

73 — 30.06.11 — 14:22

Вроде это справочник организации, тогда можно после создать элемент (ы) с правильным идентификатором и все. Но сначала нужно создать таблицу.

  

awa15

74 — 30.06.11 — 14:28

(71) Привет)) здесь! Стукнись в аську 197-009-285.

  

Капюшон

75 — 30.06.11 — 14:37

(74)стукнулся! спасибо!

(73)к сожалению это справочник «номенклатура».

  

Бубр

76 — 30.06.11 — 14:42

(33) ужс какой.

  

Aprobator

77 — 30.06.11 — 14:45

(59) чей то они вдруг рушатся с завидной регулярностью? У меня вот как то ни одной не упало.

  

БибиГон

78 — 30.06.11 — 14:48

(77) везение. )

  

Бубр

79 — 30.06.11 — 14:49

(77) уже 3я или 4я тема за пару дней. и ни у одного бэкапов нету

  

Капюшон

80 — 30.06.11 — 14:51

(79)люди еще не дорасли до бекапов )

  

БибиГон

81 — 30.06.11 — 14:52

(79) если это статистика по стране то не так уж и много. ;)

  

Бубр

82 — 30.06.11 — 14:53

(80) буду оч удивлен если этот рост не произошел  с этим крушением базы

  

Бубр

83 — 30.06.11 — 14:55

(81) хотя, люди, которые это могут восстановить тоже должны зарабатывать :)

  

БибиГон

84 — 30.06.11 — 14:57

(83) awa вроде делает это бесплатно. во всяком случае на форуме.

  

Aprobator

85 — 30.06.11 — 14:57

(79) дык падает у кого? Что не тема — везде «мне позвонили клиенты, админа нет, программиста нет, упса нет, бекапов нет». На что люди надеются — фиг знает.

  

Aprobator

86 — 30.06.11 — 14:58

(78) везение тут не при чем. Документация читать надо и выполнять проверенные рекомендации.

  

Бубр

87 — 30.06.11 — 15:02

(85) странно что при установке может и не говорилось про бэкапы, а может и говорилось но клиент забил и решил что все будет у него хорошо.

  

mdocs

88 — 30.06.11 — 15:08

(85) Надеются на то что 1С база не рухнет. Почему тогда в поставке нет удобного менеджера бэкапов например?

  

GoldenDawn

89 — 30.06.11 — 15:20

(83)это мешает распространению, если клиенту сообщить что софт будет нормально работать если соблюсти некоторое количество условий, клиент просто купит другой софт разработчик которого не афиширует такую необходимость

  

Aprobator

90 — 30.06.11 — 15:32

(89) это называется — Не обманешь не продашь. Мне, например, не известна софтина использующаяся для ведения какого либо учета, не требующая архивации данных. Правда, встречал софтины, со встроенной автоматической архивацией, но это было давно.

  

Капюшон

91 — 04.07.11 — 13:25

А я всё-таки оказался опытным и мудрым программистом. В сложившейся ситуации выбрал самое правильное решение — удалил ссылки на справочник номенклатура и потом сам справочник а дальше из cf файла загрузил его ) А люди еще говорили, Что я тупой и неопытный..

  

МишельЛагранж

92 — 04.07.11 — 13:31

(91) и как теперь думаете восстанавливать все ссылки на номенклатуру обратно?

И еще про хороший серверный UPS расскажите хозяйчикам…

  

Prikum

93 — 04.07.11 — 13:31

(91) И что все заработало?

  

Капюшон

94 — 04.07.11 — 13:54

(93)заработало. данных всеравно ведь не вернуть уже.

(92)а никак. их не восстановить. ну там документооборот с начала года только. ручками набьют — у них первичка есть.

  

Капюшон

95 — 04.07.11 — 13:55

(93)я хотел через редактирование файла сделать, но это у меня бы заняло дольше времени, Чем номенклатуру удалить из метаданных. Но еслиб сходу сумел разобраться, то пошел бы вашим путём. просто не видел смысла, поскольку сказали, что данных всёравно не вернуть

Содержание:

1.     Возникновение ошибки «Таблица не найдена» в конфигурации системы 1С

Ошибка типа «Таблица не найдена…» в системе на базе 1С имеет несколько видов:

1.     Если открыть регламентированные отчёты в 1С или журналы документации в конфигурации «1С: Бухгалтерия», после обновления системы, то начинает возникать окно, которое сообщает об ошибке, как демонстрируется ниже:

При этом, данная неполадка появляется у всех юзеров 1С, даже с разными базами данных.

2.     Также, эта же ошибка может возникать в конфигурации системы 1С: Предприятие при некорректном выходе из системы, тогда её текст будет следующим: «Таблица не найдена: _Reference76».

Эта ошибка является ошибкой СУБД в 1С, а именно – SQL.  

2.     Устранение первого и второго вида ошибки «Таблица не найдена…» в конфигурации системы 1С Предприятие

         Если кликнуть на «Подробнее», то получим следующее сообщение:

         При возникновении ошибки «Таблица не найдена…» в конфигурации системы 1С: Бухгалтерия следует по порядку следовать пунктам ниже, один из них всегда устраняет неполадку:

·        Обновить систему 1С до последней версии;

·        Перейти в «Конфигуратор», при этом, другие юзеры 1С должны покинуть программу, кликнуть на панель «Администрирование 1С Предприятие» и выбрать пункт «Тестирование и исправление 1С», после чего, ошибка должна пропасть.

Наиболее логичным кажется проверить сохранность файла 1Сv8.1CD, пользуясь утилитой chdbfl.exe, однако, этот метод не отобразит ошибок и, в данном случае, следует действовать иначе.

Рассмотрим, по порядку, необходимый перечень действий:

1.     Первым шагом нужно определить название таблицы «_Reference76» внутри информационной базы, для этого нужно воспользоваться внешней обработкой. То есть, по сути, эта таблица удалена, но являлась справочной. Из этого следует, что нужно узнать её исходный справочник. При помощи обработки делаем это, результатом чего найдено его название – «Спецификация номенклатуры».

2.     Далее нужно поменять «Спецификация номенклатуры» на другой справочник. Это делается так:

·        Меняем имя с «СпецификацияНоменклатуры» на имя «ЯСпецификацииНоменклатуры» — это делается, кликнув на имя справочника, переходом в меню, выбором пункта «Свойства», после чего внутри поля «Имя» меняем данные;

·        Далее кликаем на имя справочника и избираем «Сортировать», после чего, справочники будут отсортированы по имени и наш справочник будет последним;

·        Открываем такую же конфигурацию системы 1С, только в ней справочник «СпецификацииНоменклатуры» недолжен быть повреждён, запускаем её в режиме конфигуратора в 1С и копируем этот справочник, как показано ниже:

·        Запускаем систему, где база была повреждена и вносим туда скопированный справочник;

·        Далее кликаем на «Конфигурация», выбираем пункт «Поддержка» и переходим по «Настройка поддержки», где нужно два раза кликнуть по справочнику «ЯСпецификацииНоменклатуры», откроется следующее окно и нужно выбрать как на скриншоте ниже:

·        Как только справочник будет снят с поддержки, дерево метаданных будет отображаться так:

3.     Следующий шаг – убрать ссылки в прошлом справочнике и удалить его. Для этого кликаем по «ЯСпецификацииНоменклатуры» и выбираем «Удалить», появится следующее обращение о невозможности провести удаление, в котором нужно кликнуть «ОК»:

         В панели со служебными сообщениями отобразится перечень из объектов, в которых содержаться ссылки на данный справочник. Этот перечень можно заменить при помощи ссылки из «ЯСпецификацииНоменклатуры» на «СпецификацииНоменклатуры»:

         Для замены ссылки нужно дважды кликнуть по каждой строке перечня.
         К примеру, выберем первый пункт перечня, если кликнуть на него два раза, то запустится объект, в котором будет ссылка на «ЯСпецификацииНоменклатуры»:

         Открываем свойства объекта 1С, в которых хранится ссылка на наш справочник:

         Внутри поля «Источник» можно наблюдать составной тип с нашим справочником. Меняем ссылку на «СпецификацииНоменклатуры» внутри инструмента по редакции составных типов. Далее делаем следующее, как на скриншоте ниже:

         Все действия необходимо провести для каждого элемента перечня. Как только ссылки изменены – объект может быть удалён. Сохраним полученный результат в конфигурации.

         Получили, что номенклатурный справочник «СпецификацииНоменклатуры» ссылается теперь на эту таблицу из базы 1С – «_Reference6845». Данные из справочника необходимо вернуть. Ошибка устранена.

Специалист компании «Кодерлайн»
Айдар Фархутдинов

0

23.05.2012 — 08:11


Это конец или можно что-то сделать

1

23.05.2012 — 08:16

Умер какой то справочник. Страшно подумать, в каком случае это происходит

2

23.05.2012 — 08:19

http://www.buh.ru/forum/thread.jsp?id=574253

3

23.05.2012 — 08:19

Думать не, флеха, бэкап нет!!!!!!!

4

23.05.2012 — 08:22

скуль база на флэхе Оо

5

23.05.2012 — 08:29

Молится надо было раньше. Теперь — только отпевать.
Попробовать можно посмотреть структуру данных, к какой табличке относится этот _Reference19. Может переживете без него, если это какой то классифиактор стран. Шансы на это — унижающе малы.

6

23.05.2012 — 09:19

копию базы на проверку/восстановление

7

23.05.2012 — 09:25

дальше уже смотреть по обстановке….

8

25.05.2012 — 09:57

Конфигуратор работает при ТИИ ошибка СУБД отсутствует ‘_Reference18’,при загрузке 1С Предприятия падает на отсутствии ‘_Reference19’, Есть архив двухнедельный там эти таблицы есть. Возможно ли их перенести?

9

25.05.2012 — 09:59

(8) база скл? в принципе да

10

25.05.2012 — 10:05

Да. Подскажите как, подобного опыта нет.
В Tool_1CD вижу экспорт в XML, а дальше?

11

25.05.2012 — 10:06

что в таблице выяснили?

12

25.05.2012 — 10:06

в той базе где она отсутствует, сделать такую же как в бекапе но пустую, будет работать?

13

25.05.2012 — 10:10

Создать каким образом, не в курсах.

14

25.05.2012 — 10:23

Подскажите пожалуйста.

15

25.05.2012 — 10:25

14-copoka > в Enterprise Manager

16

25.05.2012 — 10:29

<Table Name=»_REFERENCE18″>
<Fields>
<Field Name=»_IDRREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_VERSION» Type=»version» Length=»0″ Precision=»0″/>
<Field Name=»_MARKED» Type=»bool» Length=»0″ Precision=»0″/>
<Field Name=»_ISMETADATA» Type=»bool» Length=»0″ Precision=»0″/>
<Field Name=»_PARENTIDRREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_FOLDER» Type=»bool» Length=»0″ Precision=»0″/>
<Field Name=»_CODE» Type=»fixed string» Length=»9″ Precision=»0″/>
<Field Name=»_DESCRIPTION» Type=»string» Length=»50″ Precision=»0″/>
<Field Name=»_FLD474RREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_FLD475RREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_FLD476RREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_FLD477RREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_FLD478″ Type=»number» Length=»5″ Precision=»2″/>
<Field Name=»_FLD479RREF» Type=»binary» Length=»16″ Precision=»0″/>
</Fields>
<Records>
</Records>
</Table>

17

25.05.2012 — 10:30

<!—Файл сформирован программой Tool_1CD—>
<Table Name=»_REFERENCE19″>
<Fields>
<Field Name=»_IDRREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_VERSION» Type=»version» Length=»0″ Precision=»0″/>
<Field Name=»_MARKED» Type=»bool» Length=»0″ Precision=»0″/>
<Field Name=»_ISMETADATA» Type=»bool» Length=»0″ Precision=»0″/>
<Field Name=»_PARENTIDRREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_FOLDER» Type=»bool» Length=»0″ Precision=»0″/>
<Field Name=»_CODE» Type=»fixed string» Length=»9″ Precision=»0″/>
<Field Name=»_DESCRIPTION» Type=»string» Length=»150″ Precision=»0″/>
<Field Name=»_FLD481″ Type=»image» Length=»0″ Precision=»0″/>
<Field Name=»_FLD482RREF» Type=»binary» Length=»16″ Precision=»0″/>
<Field Name=»_FLD483″ Type=»memo» Length=»0″ Precision=»0″/>
<Field Name=»_FLD484″ Type=»memo» Length=»0″ Precision=»0″/>
</Fields>
<Records>
</Records>
</Table>

18

25.05.2012 — 10:34

INSERT INTO …
SELECT FROM …

19

25.05.2012 — 10:48

(17) попробуй такую же таблицу в текущей базе создать
с помощью ентерпрайз менеджера, заходишь и там находишь где добавить таблицу и добавляешь с такими же полями

20

25.05.2012 — 10:50

(18) ты щас наговоришь . Вообще то начинается с Create Table

21

25.05.2012 — 10:51

(20) зачем create table, это надо писать.
а так мышкой, добавить поле и так далее

22

25.05.2012 — 10:52

23

25.05.2012 — 10:53

24

25.05.2012 — 11:12

Ребята темный лес. Как програмуля обзывается.

25

25.05.2012 — 11:16

24-copoka > (15)

26

25.05.2012 — 11:17

(24) ну 2 раза уже название сказали.

27

25.05.2012 — 11:37

Спасибо проглядел

28

25.05.2012 — 21:32

Прграмму поставил самому открыть файл 8-ки не получилось.

29

25.05.2012 — 21:58

выложи куда-нибудь, текущую базу и бекап

30

25.05.2012 — 21:58

что за странный ник копока?

31

25.05.2012 — 23:08

Сорока.
Гл бух против присутствую перс данные клиентов-физ лиц
включая адреса и телефоны. Но спасибо.

32

27.05.2012 — 13:13

Спасибо огромное buval!!!!!!!!!!
Все получилось без SQL Server.
Сделал по http://infostart.ru/public/99809/!

33

27.05.2012 — 14:12

Вот только стандартная выгрузка через конфигуратор падает с
AppName: 1cv8.exe AppVer: 8.1.15.14 ModName: backend.dll
ModVer: 8.1.15.14 Offset: 002d5b21

Сегодня после обновления 1С:Бухгалтерии предприятия на версию 2.0.64.6, при открытии Регламентированных отчетов стала появляться ошибка следующего содержания:

<(5, 2)>: Таблица не найдена «Константы» >Константы КАК Константы

Причем ошибка появилась сразу на нескольких базах и у всех пользователей. Также эта ошибка выходила при просмотре регламентированных отчетов и журналов документов.

Следующие варианты помогли в разных случаях:

  • Обновление платформы до актуальной версии
  • Зайти в режим «Конфигуратор» (остальные пользователи при этом должны выйти из программы). Перейти в меню Администрирование -> Тестирование и исправление
  • Проверка через chdbfl. Зайдите в папку, в которую у вас установлена 1С. Обычно это ‘C:Program Files1cv8’. Здесь вы увидите папки в названии которых присутствуют цифры, обозначающие номера версий платформы. Выберите папку с самой старшей версией (Например 8.3.8.2054): Найдите файл с названием chdbfl

Доброго времени суток, уважаемые читатели блога SoftMaker.kz. Сегодня мы поговорим, как побороть ошибку, возникающую
в файловой базе 1С при неправильном закрытии системы 1С:Предприятие, например при внезапном отключении света или
неправильной работе компьютера (работает и в случае, если
1С:Предприятие 8 установлено на MS SQL Server 2008 R2 Express).
Ошибка СУБД: Ошибка SQL: «Таблица не найдена: _Reference76» появлялась, когда производилось

тестирование и исправление информационной базы (ТиИ ИБ) при прохождении проверки логической целостности ИБ.
При попытке выгрузить ИБ Конфигуратор вылетал.

Проверка физической целостности файла 1Cv8.1CD с помощью утилиты chdbfl.exe
показало, что ошибок не обнаружено. Поэтому пришлось идти другим путём и получилось следующее:

Определяем как в базе называется таблица _Reference76 с помощью внешней обработки 1С

В случае ошибки СУБД: Ошибка SQL: Таблица не найдена _Reference76 сразу становится ясно, что была удалена
таблица «_Reference76» и из названия ясно, что это какой-то справочник. Но как теперь определить,
к какому именно справочнику таблица «_Reference76» относится, чтобы попытаться её восстановить?
Для этого можно написать небольшую обработку для выяснения названия:

В результате работы обработки выяснилось, что таблица «_Reference76» относится к справочнику «Спецификации номенклатуры».

Обработку для поиска соответствия названия справочников конфигурации 1С и их внутренних таблиц можно скачать

отсюда.

Заменяем справочник «Спецификации номенклатуры» на новый

Теперь заменим справочник «Спецификации номенклатуры» на новый. Для этого выполним следующие действия:

  • Изменим наименование справочника «СпецификацииНоменклатуры» на «ЯСпецификацииНоменклатуры».
    Нажмём правой кнопкой мыши на справочнике «СпецификацииНоменклатуры» и в контекстном меню выберем пункт
    «Свойства» и в поле «Имя» изменим наименование.
  • Теперь отсортируем справочники в дереве метаданных по имени. Нажмём правой кнопкой мыши
    на справочнике «СпецификацииНоменклатуры» и в контекстном меню выберем пункт
    «Сортировать…». Cправочник «СпецификацииНоменклатуры» оказался в самом низу, нам это
    пригодится в дальнейшем.
  • Теперь заменим справочник «Спецификации номенклатуры» на новый. Для этого нужна идентичная
    конфигурация с неповреждённым справочником «Спецификации номенклатуры». Нужно открыть эту конфигурацию
    в режиме «Конфигуратор» и выделить справочник «Спецификации номенклатуры» в дереве метаданных и
    скопировать его (Ctrl+C).

  • Открываем «Конфигуратор» с повреждённой базой и вставляем новый справочником «Спецификации номенклатуры» (Ctrl+V).
  • Теперь снимем с поддержки справочник «ЯСпецификацииНоменклатуры», чтобы затем удалить его.
    «Конфигурация» | «Поддержка» | «Настройка поддержки». В дереве метаданных выберем справочник
    «ЯСпецификацииНоменклатуры» и двойным щелчком мыши на справочнике откроем следующий диалог:
  • В диалоге «Настройка правил поддержки» выберем правило «Объект поставщика снят с поддержки» и поставим
    флажок «Установить для подчинённых объектов».
  • После снятия с поддержки справочники «ЯСпецификацииНоменклатуры» и «СпецификацииНоменклатуры» в дереве метаданных
    конфигурации выглядят следующим образом:
  • Убираем ссылки со старого справочника «Спецификации номенклатуры» и удаляем его

      Жмём правой кнопкой мыши на справочнике «ЯСпецификацииНоменклатуры» и в контекстном меню выбираем пункт
      «Удалить». Появилось сообщение Конфигуратора: «Объект не может быть удален, так как на него имеются ссылки
      в других объектах!»

    Нажимаем на кнопку «ОК». В окне служебных сообщений видим список объектов, которые содержат в себе ссылки на
    справочник «ЯСпецификацииНоменклатуры». Этот список поможет быстро заменить ссылки со справочника
    «ЯСпецификацииНоменклатуры» на справочник «СпецификацииНоменклатуры». Приступим.

    Чтобы заменить ссылки в объектах нажимаем на каждую строку списка двойным кликом.
    Для примера возьмём первый элемент списка «ПодпискаНаСобытие.ПриУстановкеНовогоКодаСправочника.Источник»

    После двойного клика на этом элементе, в дереве метаданных откроется объект и
    в нём мы найдем ссылку на справочник «ЯСпецификацииНоменклатуры».

    Два раза нажимаем левой кнопкой мыши, чтобы открыть свойство объекта, в котором содержится ссылка на
    справочник «ЯСпецификацииНоменклатуры».

    Как видно из вышеприведённого изображения в поле «Источник» содержится составной тип, в который входит и
    справочник «ЯСпецификацииНоменклатуры». Заменим ссылку со справочника «ЯСпецификацииНоменклатуры»
    на справочник «СпецификацииНоменклатуры» в диалоге редактирования составного типа данных.
    Ссылка заменяется снятием флажка напротив справочника «ЯСпецификацииНоменклатуры» и
    установкой флажка напротив справочника «СпецификацииНоменклатуры».

  • Эти же самые действия проделываем для всех элементов

    вышеприведённого списка.

  • Открываем каждый объект и заменяем в нём ссылки.
  • После замены ссылок объект спокойно удаляется.
  • Сохраняем конфигурацию, нажав, клавишу «F7».
  • Теперь новый справочник «СпецификацииНоменклатуры» ссылается на новую таблицу в базе 1С — _Reference6845.
    Если в справочнике были какие-нибудь данные, то они уже уничтожены, поэтому нужно их восстановить.
    Это можно сделать воспользовавшись советами статьи

    Как выгрузить данные в идентичную конфигурацию 1С?

    Если была удалена другая таблица, например _DOCUMENT, тогда нужно изменить обработку для поиска
    соответствия названия документов конфигурации 1С и их внутренних таблиц, а шаги проделать те же самые.

    Сегодня, после обновления 1С:Бухгалтерии предприятия, на версию 2.0.64.6, при открытии Регламентированных отчетов стала появляться ошибка следующего содержания:

    <(5, 2)>: Таблица не найдена «Константы»
    >Константы КАК Константы

    Если нажать кнопку «Подробно», то получали ошибку:

    <Обработка.ОнлайнСервисыРегламентированнойОтчетности.МодульОбъекта(772)>: Ошибка при вызове метода контекста (Выполнить)
    Выборка = Запрос.Выполнить().Выбрать();
    по причине:
    <(5, 2)>: Таблица не найдена «Константы»
    >Константы КАК Константы

    Причем ошибка появилась сразу на нескольких базах и у всех пользователей. Также эта ошибка выходила при просмотре журнала документов Реализация товаров и услуг.

    Решение проблемы

    В результате было найдено два способа решения этой проблемы.

    Способ №1

    У клиента использовалась платформа 8.2.19.106, и проблема решилась обновлением до версии 8.3.5.1383

    Способ №2

    Необходимо зайти в режим «Конфигуратор» (остальные пользователи при этом должны выйти из программы). Перейти в меню Администрирование -> Тестирование и исправление.

    После завершения процесса можно закрывать конфигуратор и пользоваться программой. Ошибка должна исчезнуть.

    «В процессе обновления информационной базы произошла критическая ошибка»
    Если вы видите такое сообщение при тестирование — Вам сюда

    Началось всё тривиально, при очередном «Тестировании и исправлении информационной базы» БП 8.1 программа выдала ошибку

    «Ошибка SQL Таблица не найдена ‘NNNNNNNN’» .

    Особого значения не придал, ИБ база работает жалоб не поступает. Спокойно перевел базу на платформу 8.2.

    Системный администратор предложил перевести с файловой версии на серверную и вот тут-то всё вспонилось.

    — База не тестируется.

    — Реструктуризация таблиц информационной базы  не выполняется 

    (В процессе обновления информационной базы произошла критическая ошибка)

    — Реструктуризация таблиц информационной базы  не выполняется 

    Первое что пришло в голову тестирование chdbfl.exe, но чудес не произошло

    (Ошибок не обнаружено)

    Хорошо, сейчас выполню выгрузку базы в файл и далее загрузка в пустую. Ага, как бы не так. 

    Программа завершена аварийно. Приехали — ждите теперь серверный вариант — «Нет выгрузки, нет и загрузки».

    Какая таблица отсутствует нашел из окна «В процессе обновления информационной базы произошла критическая ошибка» в нижней строке состояния программы. Эту таблицу я не использую, следовательно мне повезло- нет необходимости что-то восстанвливать. Но, в принципе, это может быть и справочник и документ. Тогда после восстановления, предполагаю, надо из архивной версии заполнять данные.

    =============================================================================================
    Критическую Ошибку я победил, всё по порядку:
    1. Взял начальную установку конфигурации БП в фирме 1С и установил её себе (пустая база).
    2. Выгрузил из начальной установки ИБ (пустой базы) конфигурацию в файл.
    3. В ИБ с ошибкой (отсутствует таблица NNNNN) снял конфигурацию с поддержки и разрешил изменение.
    Нашел, что это за плохой объект конфигурации и попробовал его удалить (рассказал ранее).
    Программа выдала ссылки на этот объект. Зашел по этим ссылкам и удалил из них свой объект.
    Далее удалил без помех свой объект и … очень важно !!!
    — обновил конфигурацию базы
    — тестировал с исправление ИБ
    4. После тестирования загрузил конфигурацию из начальной установки ИБ и снова повторил загрузку в базу измененной
    конфигурации и полное тестирование ИБ.

    Примечание.
    После загрузки конфигурации из начальной установки ИБ программа создала мой ошибочный объект
    и установила конфигурацию снова на поддержку с запретом редактирования.
    =============================================================================================

     Успехов. Ни сбоев, ни критических ошибок.

    В параметрах запроса пишу ЭтотОбъект.Пользователи.Ссылка

    bless18
    13.04.2010 10:31 Прочитано: 6442

    Имеется запрос:
    Код 1C v 8.х

     Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Дата,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.НаименованиеЗадачи,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Приоритет
    |ИЗ
    | Справочник.Пользователи КАК Пользователи
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеЗадачи.РаспределениеЗадачиСотрудникам КАК РаспределениеЗадачиРаспределениеЗадачиСотрудникам
    | ПО Пользователи.Сотрудник = РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель
    |ГДЕ
    | Пользователи.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Пользователи.Получить("Ссылка"));

    При выполнении выдается ошибка Поле объекта не обнаружено (Ссылка)

    Yandex
    Возможно, вас также заинтересует

    Реклама на портале

    E_Migachev
    13.04.2010 10:59 Ответ № 1

    Этотобъект — это что?
    и что такое Пользователи? ТабПоле ?

    bless18
    13.04.2010 11:07 Ответ № 2

    Простите, код немного другой Код 1C v 8.х

     Процедура ПриОткрытии()
    СтрокаТЧ = ЭлементыФормы.Пользователи.ТекущиеДанные;

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Дата,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.НаименованиеЗадачи,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Приоритет
    |ИЗ
    | Справочник.Пользователи КАК Пользователи
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеЗадачи.РаспределениеЗадачиСотрудникам КАК РаспределениеЗадачиРаспределениеЗадачиСотрудникам
    | ПО Пользователи.Сотрудник = РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель
    |ГДЕ
    | Пользователи.Ссылка = &Ссылка";
    Запрос.УстановитьПараметр("Ссылка", ЭтотОбъект.Пользователи.Ссылка);

    ВыборкаСтрок = Запрос.Выполнить().Выгрузить();

    И ошибка: Поле объекта не обнаружено (Ссылка)
    Запрос.УстановитьПараметр(«Ссылка», ЭтотОбъект.Пользователи.Ссылка);

    bless18
    13.04.2010 11:08 Ответ № 3

    Пользователи — это табличная часть обработки

    bless18
    13.04.2010 11:09 Ответ № 4

    Пользователи — это так же справочник, в котром хранятся имя пользователя и сотрудника

    bless18
    13.04.2010 11:13 Ответ № 5

    При дебаге Код 1C v 8.х

     ЭтотОбъект.Пользователи   

    дает тип Код 1C v 8.х

     ОбработкаТабличнаяЧасть.РаботаПользователей.Пользователи   
    E_Migachev
    13.04.2010 11:17 Ответ № 6

    Тогда тебе нужно писать в запросе условие Пользователи.Ссылка В( &СписокПользоват) и далее выгружать из табличного поляполя список пользоватлейКод 1C v 8.х

     Запрос.УстановитьПараметр("СписокПользоват", Пользователи.ВыгрузитьКолонку("Ссылка"));   
    bless18
    13.04.2010 11:21 Ответ № 7

    Попробовала, выдает ошибку:
    Ошибка при вызове метода контекста (ВыгрузитьКолонку): Недопустимое значение параметра (параметр номер ‘1’) (Колонка не принадлежит коллекции)
    Запрос.УстановитьПараметр(«СписокПользоват», Пользователи.ВыгрузитьКолонку(«Ссылка»));

    bless18
    13.04.2010 12:17 Ответ № 8

    Пользователи у меня ТЗ, в которой есть колонки:
    ДатаВыполнения
    Исполнитель
    Пользователь

    А как параметр мне нужно передать пользователя системы
    Пишу:

    Код 1C v 8.х

     Запрос.УстановитьПараметр("Ссылка", Пользователи.ВыгрузитьКолонку("Пользователь"));   

    Система сообщает, что Ошибка при вызове метода контекста (Выполнить): {(12, 22)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
    неограниченной длины и поля несовместимых типов.
    Пользователи.Ссылка <<?>>= &Ссылка
    ВыборкаСтрок = Запрос.Выполнить().Выгрузить();

    E_Migachev
    13.04.2010 13:05 Ответ № 9

    Правильно что ругается, так как нужно писать: Пользователи.Ссылка В (&Ссылка)

    bless18
    13.04.2010 18:48 Ответ № 10

    Спасибо, заработало ))
    Но в цикл заходить не хочет (( Хотя обхожу его по результатам запроса
    Код 1C v 8.х

     Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Дата,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.НаименованиеЗадачи,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Приоритет
    |ИЗ
    | Справочник.Пользователи КАК Пользователи
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеЗадачи.РаспределениеЗадачиСотрудникам КАК РаспределениеЗадачиРаспределениеЗадачиСотрудникам
    | ПО Пользователи.Сотрудник = РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель
    |ГДЕ
    | Пользователи.Ссылка В (&Ссылка)";

    Запрос.УстановитьПараметр("Ссылка", Пользователи.ВыгрузитьКолонку("Пользователь"));
    ВыборкаСтрок = Запрос.Выполнить().Выгрузить();

    Для Каждого ТекСтрокаПользователи Из ВыборкаСтрок Цикл

    //НоваяСтрока = Пользователи.Добавить();
    ВыборкаСтрок.Пользователь = ТекСтрокаПользователи.Пользователь;
    ВыборкаСтрок.Приоритет = ТекСтрокаПользователи.Приоритет;
    ВыборкаСтрок.ДатаНачалаВыполнения = ТекСтрокаПользователи.ДатаНачалаВыполнения;
    ВыборкаСтрок.ДатаВыполненияПоПлану = ТекСтрокаПользователи.ДатаВыполненияПоПлану;
    ВыборкаСтрок.Исполнитель = ТекСтрокаПользователи.ИсполнительЗадачи;
    //Выборка.ПроцентЗавершенности = ТекСтрокаПользователи.ПроцентЗавершенности;

    КонецЦикла;

    E_Migachev
    13.04.2010 19:19 Ответ № 11

    А чему равно Запрос.Выполнить().Выгрузить().Количество();

    bless18
    14.04.2010 08:18 Ответ № 12

    Запрос.Выполнить().Выгрузить().Количество()
    Значение = 0

    E_Migachev
    14.04.2010 08:45 Ответ № 13

    Значить либо нет данных к выборке, либо неправильно составлен запрос *09

    bless18
    14.04.2010 09:01 Ответ № 14

    Если пишу
    РезультатЗапроса = Запрос.Выполнить().Колонки.Количество(), то результат = 7

    E_Migachev
    14.04.2010 09:11 Ответ № 15

    Правильно, Таблице результата у тебя 7 колонок, но строк 0. т.е. не данных соответствующих заданной выборке *11
    Может так получится, попробуй *13:
    Код 1C v 8.х

     Запрос.Текст = "ВЫБРАТЬ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Дата,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Исполнитель,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.НаименованиеЗадачи,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Приоритет
    |ГДЕ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Исполнитель В (&Ссылка)";
    bless18
    14.04.2010 09:22 Ответ № 16

    К сожалению не получается, выдается ошибка
    Ошибка при вызове метода контекста (Выполнить): {(2, 2)}: Таблица не найдена «РаспределениеЗадачиРаспределениеЗадачиСотрудникам»
    <<?>>РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Дата,
    РезультатЗапроса = Запрос.Выполнить();

    E_Migachev
    14.04.2010 09:25 Ответ № 17

    ой, забыл по КАК )
    вот так надо
    Запрос.Текст = «ВЫБРАТЬ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Дата,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Исполнитель,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.НаименованиеЗадачи,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Приоритет
    |ИЗ
    |Документ.РаспределениеЗадачи.РаспределениеЗадачиСотрудникам КАК РаспределениеЗадачиРаспределениеЗадачиСотрудникам
    |ГДЕ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Исполнитель В (&Ссылка)»;

    bless18
    14.04.2010 09:33 Ответ № 18

    Странно, все равно в цикл не заходит. В чем же может быть дело? *09

    E_Migachev
    14.04.2010 09:37 Ответ № 19

    это значит что нет документов РаспределениеЗадачи в которых в табличном поле РаспределениеЗадачиСотрудникам в поле Исполнитель стоит пользователь из списка ссылка *09

    А что за конфигурация?

    bless18
    14.04.2010 09:40 Ответ № 20

    конфигурация 1С:Предприятие 8.1 (8.1.9.57)

    E_Migachev
    14.04.2010 09:48 Ответ № 21

    Это номер Платформы, причем очень устаревшей, уже давно есть — 8.1.15.14. обновиться бы лучше.
    А конфигурация какая, в ней кто-нибудь работает? или ты создала новую пустую?

    bless18
    14.04.2010 09:54 Ответ № 22

    конфигурация 1С:Предприятие 8.1 (8.1.9.57)

    bless18
    14.04.2010 09:55 Ответ № 23

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

    E_Migachev
    14.04.2010 10:08 Ответ № 24

    Зайди Справка о программе, там первой строчкой буде твое 1С:Предприятие 8.1 (8.1.9.57)
    а ниже Конфигурация:
    и название… какое?

    bless18
    14.04.2010 11:14 Ответ № 25

    Просто «Конфигурация» написано

    Попробовала убрать в запросе параметры, все заработало. Видимо проблема все-таки в передаче параметра *09

    Код 1C v 8.х

     Процедура ПриОткрытии()

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Дата,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.НаименованиеЗадачи,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Приоритет
    |ИЗ
    | Справочник.Пользователи КАК Пользователи
    | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РаспределениеЗадачи.РаспределениеЗадачиСотрудникам КАК РаспределениеЗадачиРаспределениеЗадачиСотрудникам
    | ПО Пользователи.Сотрудник = РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Ссылка.Исполнитель" ;
    //|ГДЕ
    //| Пользователи.Ссылка В (&Ссылка)";
    //
    //Запрос.УстановитьПараметр("Ссылка", Пользователи.ВыгрузитьКолонку("Пользователь"));

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();
    Для Каждого СтрокаРаспределениеЗадачиСотрудникам Из РезультатЗапроса Цикл
    СтрокаТабличнойЧасти = ЭтотОбъект.Пользователи.Добавить();
    //СтрокаТабличнойЧасти.Пользователь = СтрокаРаспределениеЗадачиСотрудникам.Пользователь;
    СтрокаТабличнойЧасти.ТекущаяЗадача = СтрокаРаспределениеЗадачиСотрудникам.НаименованиеЗадачи;
    СтрокаТабличнойЧасти.Приоритет = СтрокаРаспределениеЗадачиСотрудникам.Приоритет;
    СтрокаТабличнойЧасти.ДатаНачалаВыполнения = СтрокаРаспределениеЗадачиСотрудникам.Дата;
    СтрокаТабличнойЧасти.ДатаВыполненияПоПлану = СтрокаРаспределениеЗадачиСотрудникам.ДатаВыполнения;
    СтрокаТабличнойЧасти.ИсполнительЗадачи = СтрокаРаспределениеЗадачиСотрудникам.Исполнитель;
    КонецЦикла;

    bless18
    14.04.2010 11:51 Ответ № 26

    Только через параметры запроса мне нужно получить пользователя, работающего с системой. Пользователь находится в справочнике Пользователи

    E_Migachev
    14.04.2010 11:53 Ответ № 27

    В таком случае правильнее использовать запрос вида:
    Код 1C v 8.х

     апрос.Текст = "ВЫБРАТЬ
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Дата,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Исполнитель,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.НаименованиеЗадачи,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.ДатаВыполнения,
    | РаспределениеЗадачиРаспределениеЗадачиСотрудникам.Приоритет
    |ИЗ
    |Документ.РаспределениеЗадачи.РаспределениеЗадачиСотрудникам КАК РаспределениеЗадачиРаспределениеЗадачиСотрудникам";

    Так как в левом соединении нет смысла — пользователи и так есть в реквизите Исполнитель

    И тепереь у тебя получается вообще по всем пользователям которые есть документах РаспределениеЗадачи!

    E_Migachev
    25.04.2010 23:35 Ответ № 28

    Вопрос закрыт!

    Подсказка: Для быстрого поиска ответов — используйте ‘Поиск’

    Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове метода контекста выбрать элемент
  • Ошибка при вызове метода контекста выполнить результат запрос выполнить
  • Ошибка при вызове метода контекста выбрать несоответствие типов
  • Ошибка при вызове метода контекста выполнить при обновлении
  • Ошибка при вызове метода контекста выбрать недопустимое значение параметра