Раз на сервере выдает ошибку Метод объекта не обнаружен, значит данный метод работает только на клиенте. Выложите код процедуры на которой выскакивает ошибка - Объект.ЗагрузитьПрайсЛист(Ложь);
После восстановления из бэкапа таблицы "files" все ошибки пропали, целый день работали в базе - полет нормальный. Единый глюк - слетели настройки форм, но это ерунда, все наново настроили. Сейчас сделал копию базы средствами - pg_dump - без ошибок. Всем спасибо за помощь.
Форум: Базы данных
· Просмотр сообщения: #89213
· Ответов: 16
· Просмотров: 9142
Короч, нашел бекап за 16.07.2014, который меньше объемом за предыдущие, залил в отдельную базу на postgresql. Сохранил таблицу "files" (на тестировании в оной было ошибка), и восстановил текущую базу. Сохранил dt-штку, проблем небыло. Сейчас делаю тестирование и исправление базы средствами 1С, завтра дам результат.
Форум: Базы данных
· Просмотр сообщения: #89141
· Ответов: 16
· Просмотров: 9142
Та работаем около 1.5 года, не было ошибок никогда, каждый вечер автоматом делался бэкап базы, но как-то и не задумывался чтоб при ошибке информировать на почту к примеру.
Форум: Базы данных
· Просмотр сообщения: #89136
· Ответов: 16
· Просмотров: 9142
alex040269 - Есть, пробовал уже все что можно. И Reindex, и Vacuum(это и есть утилита для проверки/лечения базы) с параметрами - FULL, FREEZE, ANALYZE - ничего не помогает.
DartRomanius, попробую, спасибо.
DartRomanius - это все уже смотрел, пробовал - ничего не помогает. Единое к чему дошел что получаю sql запросом строки с таблицы pg_toast, действительно идут записи с номером - 58, 59 и потом сразу 61, 62. Пробую INSERT INTO - добавить пустую запись с номером 60 - ошибка, типа не разрешено. UPDATE - сменить номер записи 61 на 60 - аналогично. Хотя в PgAdmin под админом и все права на базу имею.
Нашел на форуме решение (на русском ) здесь Текст решения:
Цитата
1) При помощи анализатора из EMS SQL Manager for PostgreSQL определили поля, где содержатся битые данные. Заходили в каждую схему и на каждой таблице делали "Анализ и сборка мусора", выбирали VERBOSE, галочку на очистке не ставили, а дальше смотрели на какое поле ругается. 2) Удалили все ссылки на данные поля 3) Сменили тип поля на char 4 )Сменили назад на text 5) Вернули все ссылки
vacum проходит на этой базе.
Сегодня вечером ПОПРОБУЮ! Если и мне поможет, отпишусь.
Форум: Базы данных
· Просмотр сообщения: #89133
· Ответов: 16
· Просмотров: 9142
Но как восстановить если эту таблицу pg_toast не видно?
Определил что ошибка выскакивает при проверке таблицы "files", я так понимаю таблица хранит фото номенклатуры и прочие файлы. Попробую восстановить именно эту таблицу из старого бэкапа, увижу что и как получится.
Форум: Базы данных
· Просмотр сообщения: #89128
· Ответов: 16
· Просмотров: 9142
Я б уже и рад был сохранить DT-шку, и прогнать её утилиткой chdbfl - но никак. Может кто-то знает как сохранить dt пропуская ошибки? Возможно есть утилита, обработка?
Форум: Базы данных
· Просмотр сообщения: #89124
· Ответов: 16
· Просмотров: 9142
xxx: Хотя вот если смотреть по уровню ЗП, то неясно за что 1Сникам платят такие деньги? Ява, С++ и пр. программисты получают в 1,5 раза меньше.
yyy: За вредность. Ява, С++ погромисты как правило меньше работают с людьми. Сам когда-то писал драйвера, софт для управления оборудованием на С++. Дак там если 2+2 то ясно дело должно быть 4 и все. А при работе с бухгалтерами Х.З. поймешь что хотят, нужно еще и за них думать что они хотят. Примерный диалог буха (Б) и программиста (П): Б - Неправильно считает, тут должно быть 10, а показывает 11. П - Эта сумма из нескольких сумм складываются, посчитанных ранее, 2+3+6. Какая неправильная: 2, 3 или 6? Б - 2, 3 и 6 - правильные, неправильная - 11, должно быть 10. (с) Бор
Можете подсказать на данном примере как создать вложенный запрос, а то ещё не сталкивался с таким, а по манам не очень понятно, особенно когда спешишь Буду очень благодарен.
Спасибо sava1.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Количество, | Продажи.Стоимость КАК СуммаПродажи, | Продажи.Период КАК Период, | ВЫРАЗИТЬ(ПартииТоваровНаСкладах.Стоимость / ПартииТоваровНаСкладах.Количество * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК Себестоимость, | ВЫРАЗИТЬ(Продажи.Стоимость - (ВЫРАЗИТЬ(ПартииТоваровНаСкладах.Стоимость / ПартииТоваровНаСкладах.Количество * Продажи.Количество КАК ЧИСЛО(15, 2))) КАК ЧИСЛО(15, 2)) КАК ЧистаяПрибыль |ИЗ | РегистрНакопления.Продажи КАК Продажи | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах | ПО Продажи.Номенклатура = ПартииТоваровНаСкладах.Номенклатура | И (ПартииТоваровНаСкладах.Период В | (ВЫБРАТЬ ПЕРВЫЕ 1 | Цены.Период | ИЗ | РегистрНакопления.ПартииТоваровНаСкладах КАК Цены | ГДЕ Цены.Период <= Продажи.Период | И Цены.Номенклатура = Продажи.Номенклатура | И Цены.КодОперации В(&КодОперации) | УПОРЯДОЧИТЬ ПО Цены.Период УБЫВ)) |ГДЕ | Продажи.Период МЕЖДУ &ДатаНач И &ДатаКон";
Никак руки не доходили продолжить. Решил не брать с регистра ЦеныНоменклатуры, так как не для всей номенклатуры была указанна закупочная цена, а с регистра накопления ПартииТоваровНаСкладах, так как все оприходования, поступления и т.д. записываются в данный регистр.
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Количество, | Продажи.Стоимость КАК СуммаПродажи, | Продажи.Период КАК Период, | ВЫРАЗИТЬ(ПартииТоваровНаСкладах.Стоимость / ПартииТоваровНаСкладах.Количество * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК Себестоимость, | ВЫРАЗИТЬ(Продажи.Стоимость - (ВЫРАЗИТЬ(ПартииТоваровНаСкладах.Стоимость / ПартииТоваровНаСкладах.Количество * Продажи.Количество КАК ЧИСЛО(15, 2))) КАК ЧИСЛО(15, 2)) КАК ЧистаяПрибыль |ИЗ | РегистрНакопления.Продажи КАК Продажи | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ПартииТоваровНаСкладах КАК ПартииТоваровНаСкладах | ПО Продажи.Номенклатура = ПартииТоваровНаСкладах.Номенклатура | И Продажи.Период >= ПартииТоваровНаСкладах.Период |ГДЕ | ПартииТоваровНаСкладах.КодОперации В(&КодОперации) | И Продажи.Период МЕЖДУ &ДатаНач И &ДатаКон | |УПОРЯДОЧИТЬ ПО | Период";
Ситуация такая. Очень много товара продалось в минус и соответственно списание товаров по партиям и запись в регистр накопления ПродажиСебестоимость не произошло. Для исправления ситуации создал новый отчет - по типу цены. Идея такова - берем все данные с регистра накопления - Продажи, для каждой номенклатуры получаем цену закупки на тот момент времени. ЦенаПродажи - ЦенаЗакупки = Чистая прибыль. Есть табличная часть Товары с реквизитами - Номенклатура, Количество, СуммаПродажи, Себестоимость, ЧистаяПрибыль.
Вот код запроса:
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Количество, | Продажи.Стоимость КАК СуммаПродажи, | ВЫРАЗИТЬ(ЦеныНоменклатурыСрезПоследних.Цена * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК Себестоимость, | ВЫРАЗИТЬ(Продажи.Стоимость - ЦеныНоменклатурыСрезПоследних.Цена * Продажи.Количество КАК ЧИСЛО(15, 2)) КАК ЧистаяПрибыль |ИЗ | РегистрНакопления.Продажи КАК Продажи | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних | ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура |ГДЕ | Продажи.Период МЕЖДУ &ДатаНач И &ДатаКон | И ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен";
Проблема в том что себестоимость, т.е. закупочную цену получаем не за тот момент времени когда продавался товар, а просто последнюю цену и естественно часто получаем что закупка больше чем продажа. Ставил в запросе - ЛЕВОЕ СОЕДИНЕНИЕ - не помогло. Дописывал
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних | ПО Продажи.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура И Продажи.Период = ЦеныНоменклатурыСрезПоследних.Период
Но так вообще ничего не выводит. Подскажите как правильно сформировать данный запрос. Спасибо.
Если кому-то интересно, расскажу как решил данную задачу. Для изменения размера изображения использовал ActiveX-библиотеку GflAx. Получается немного через ж.., но все ж работает. Код:
Картинка = Новый Картинка; Картинка = ТекущаяСтрока.Номенклатура.ОсновноеИзображение.Хранилище.Получить(); ИмяВременногоФайла = Строка("c:\temp\" + ТекущаяСтрока.Номенклатура.УникальныйИдентификатор() + ".jpg"); Картинка.Записать(ИмяВременногоФайла); Объект = Новый COMОбъект("GFLAX.GFLAX"); Объект.LoadBitmap(ИмяВременногоФайла); Объект.Resize(200,200); Объект.SaveBitmap(ИмяВременногоФайла); Картинка = Новый Картинка(ИмяВременногоФайла); УдалитьФайлы(ИмяВременногоФайла);
Это конечно не вопрос сделать, но вот если бы только переписать код на формах где выводятся изображения. Тут ещё прийдется и обработку ОбменССайтом менять, искать и т.д. Хотя если канеш база начнет "тупить" до невозможности, то прийдется так сделать, а если чисто для того, что я писал выше, из-за чего начинал данную тему, то мне проще уже будет -
Цитата
P.S. Конечно можно сохранять изображения номенклатуры во временную папку на диске, потом изменять и выводить в макет, потом удалять с диска изображение.
Ок. В типовой конфигурации УТ 2.3 для Украины присоединенные файлы хранятся в базе данных. Если есть мануал, описание или другая информация по переносу прикрепленных файлов на диск, буду рад получить ссылку. Спасибо. Самое главное чтобы это было "безболезненно" и в дальнейшем файлы выгружались с 1С на сайт и т.д.
В смысле паралельно основным? Основные у меня хранятся в разрешении 1024х768 так как выгружаются на сайт. Естественно размер 200-300 кб. В базе около 17000 товаров и она и так весит уже более 3.5 Гб. Если я ещё начну миниатюры создавать для каждого изображения, то одно что база увеличится, так ещё и "загадится" лишними миниатюрами и производительность упадет.
Подскажите, возможно кто-то встречался. Нужно изменять размер изображения при выводе на печать. На макете объект Картинка, туда выводится основное изображение номенклатуры из базы , т.е.
Все бы ничего, если б не одно НО. В макете выводятся не одно изображение, а 200-300, это каталог товаров. При сохранении данного каталога в pdf для пересылке клиентам к примеру, получается что в поле картинки выводится все изображение, размером по 300-400 кб, и вместе все картинки создают нехилый такой pdf на 100-200 Мб, что вызывает неудобства.
Возможно кто-то встречал внешнюю компоненту, которая работает не только с файлами с диска, ато все которые перебирал работают только с файлами (изображениями) с диска, но никак не могут работать с получаемыми
P.S. Конечно можно сохранять изображения номенклатуры во временную папку на диске, потом изменять и выводить в макет, потом удалять с диска изображение, но это приведет к медлительному процессу и фрагментации диска.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!