|
В запросе таблица не найдена | ☑ | ||
---|---|---|---|---|
0
Андрей 2005
24.04.17
✎
16:47
|
Подскажите при формировании выдает ошибку где копать? {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(202)}: Ошибка при вызове метода контекста (Выполнить) ТЗ=Запрос.Выполнить().Выгрузить(); по причине: {(38, 20)}: Таблица не найдена "РегистрНакопления.НДСпоОСиНМА.Остатки" ЛЕВОЕ СОЕДИНЕНИЕ <<?>>РегистрНакопления.НДСпоОСиНМА.Остатки(
|
|||
1
lubitelxml
24.04.17
✎
16:51
|
в тексте запроса копать
|
|||
2
Timon1405
24.04.17
✎
16:52
|
(0)видимо открываете не в той базе
|
|||
3
Valerianich
24.04.17
✎
16:53
|
(0) Проверь, в дереые конфигурации есть РН НДСпоОСиНМА.
|
|||
4
k1noshkin
24.04.17
✎
16:54
|
Копать здесь - Таблица не найдена "РегистрНакопления.НДСпоОСиНМА.Остатки"
Это регистр есть в Бухе, по крайней мере в 2.0. В какой конфигурации обработку запускаешь? |
|||
5
Андрей 2005
24.04.17
✎
16:58
|
2_0_66_25
|
|||
6
Андрей 2005
24.04.17
✎
17:01
|
видимо открываете не в той базе-это как?
|
|||
7
lubitelxml
24.04.17
✎
17:01
|
(6) не в бухгалтерии, а в зарплате например
|
|||
8
Андрей 2005
24.04.17
✎
17:09
|
Нет все в бухгалтерии внешняя обработка делали запрос в январе все работало, сейчас вот выдает
|
|||
9
Timon1405
24.04.17
✎
17:10
|
значит имя таблицы в конфигурации поменялось.
|
|||
10
fedoss
24.04.17
✎
17:14
|
В очередном обновлении месяца 2 или 3 назад они удалили из Бухи РН НДСпоСОиНМА.
|
|||
11
h-sp
24.04.17
✎
17:14
|
(4) что-то вы не в теме. Этот регистр грохнули в БП 2.0. Причем еще в прошлом году.
|
|||
12
Андрей 2005
24.04.17
✎
17:15
|
Пожалуйста подскажите это как то можно сейчас исправить?
|
|||
13
h-sp
24.04.17
✎
17:16
|
(12) переписать эту обработку
|
|||
14
k1noshkin
24.04.17
✎
17:20
|
(11) Открыл просто старую демо-базу версии 2.0.66.3, вот в ней еще был регистр.
|
|||
15
Андрей 2005
24.04.17
✎
17:25
|
Я попробовал на этом Бухгалтерия предприятия, редакция 2.0 (2.0.66.21) та же самая ошибка?
|
|||
16
X Leshiy
24.04.17
✎
17:31
|
(15) Нет там такого регистра.
А что за обработка, он там нужен? |
|||
17
Андрей 2005
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")); Результат = Запрос.Выполнить(); Счета.Загрузить(Результат.Выгрузить()); КонецПроцедуры |
|||
18
X Leshiy
24.04.17
✎
17:42
|
(17) Тогда попандос, нужно переписывать.
|
|||
19
Андрей 2005
24.04.17
✎
17:50
|
Да. Не вовремя спасибо за помощь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |