Вопрос № 43760: Доброго здоровья!
Досталась база Торговля+Склад. Основная последовательность документов нарушена начиная с начала 2005 года. Остатки ТМЦ по базе никак не совпадают с реальными остатками. Взаиморасчеты с контрагентами тоже не идут. Нужно восстанов...Вопрос № 43818: Всем привет. Помогите с вопросом.
Нужна обработка: Диалог "Выбрать файл" и выгрузка его в виде таблицы на экран 1С. Форматы файлов .xls .dbf хотябы эти.
Весьма признателен....Вопрос № 43824: Пишу обработку по документам как правильно сделать чтобы в эту обработку попали два документа:
Процедура Сформировать()
Таб=СоздатьОбъект("Таблица");
// Вывод в рублях с копейками
Таб.ИспользоватьФормат("Ч-15....
Вопрос № 43.760
Доброго здоровья!
Досталась база Торговля+Склад. Основная последовательность документов нарушена начиная с начала 2005 года. Остатки ТМЦ по базе никак не совпадают с реальными остатками. Взаиморасчеты с контрагентами тоже не идут. Нужно восстановить базу, чтобы она отражала реальное состояние склада и взаиморасчетов. Так как сталкиваюсь с этим впервые, прошу подсказать, как лучше и проще это сделать.
Предполагаю, сделать свертку на 1 января 2006, потом инвентаризацию ТМЦ и корректировки долгов контрагентов.
Вобщем, хотелось бы знать - кто каким способом боролся с подобными базами.
Спасибо.
Отправлен: 21.05.2006, 16:23
Вопрос задал: FarGot (статус: 7-ой класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Фисько
Здравствуйте, FarGot! Сдесь самый риальный вариант свертка остатков. Лудчше всего это сделать с помашью дополнительного документа свертка остатков так ка его легко коректировать бухгалтеру самому тебе необходимо предварительно заполнить сам документ и перенисти в пустую базу только с заполниными справочниками.
Ответ отправил: Фисько (статус: 1-ый класс)
Ответ отправлен: 21.05.2006, 19:39 Оценка за ответ: 5 Комментарий оценки: и где сей документ взять? сам я такое в лучшем случае за месяц нарисую, а нужен он уже позавчера.
Отвечает: Лазурко Владимир
Здравствуйте, FarGot!
Не знаю, несколько коректный ответ будет.
Сначала сделали глобальный учёт по складам, выровняли остатки, взаиморасчёты на то время вели по тетради. Потом купили 1С официально. Приехали представители франчайзи и перенесли наши товары и остатки в новую базу.
Ихние обработки я сейчас использую, когда "режу" базу если она становится _очень_большой_. Стандартная свёртка долго работает, а так я всё "руками чувствую".
--------- Доброе отношение к людям может изменить твою жизнь
Ответ отправил: Лазурко Владимир (статус: 1-ый класс)
Ответ отправлен: 21.05.2006, 20:59 Оценка за ответ: 5 Комментарий оценки: ну дык, в чистую базу всегда легче остатки вколотить, чем разгребать базу которая уже два года через спинной мозг велась :) Если не секрет сколько взяли за перенос остатков в базу?
Отвечает: Elric
Здравствуйте, FarGot!
1.Для самой инвентаризации свертка не обязательна. Это две разные по сути процедуры.
Если проведете свертку на 01.01.2006, то в базе останутся документы и движения за период начиная с этой даты. Т.к. "нестыковки" произошли наверняка не из-за некорректной работы самой программы, а из-за кривого ее использования (т.е. последовательность и содержимое документов), то проблема не решится. Тем более что инвентаризацию в нормальном понимании этого слова вы можете провести только состоянием на сегодняшний день, а никак не на первое января.
Как вывод -- Вам придется подстраиваться "под ответ", формировать остатки на январь исходя из фактических остатков на сегодняшний день (которые Вам назовут)и движений документов которые УЖЕ введены в базу (с января) и наверняка содержат ошибки самих бухгалтеров.
Как следствие -- Вам предстоит еще не раз проделывать эту процедуру, и бухгалтерия все время будет жаловаться на программу "которая неправильно работает и не дает нормально вести учет".
Эта проблема решается, к сожалению, исключительно на уровне руководства.
2. В стандартных конфигурациях есть "Последовательности" и, соответственно, инструменты для их восстановления -- меню "Операция - Проведение документов", закладка Последоватедльности. Если после восстановления последовательности (последовательностей) проблема все еще осталось, значит проблема не в них, а в содержимом документов (или в их модулях) и после "обрезания" базы она очень скоро возникнет снова. Есть еще вероятность что у документов внутри одного дня установлено время так,
что приход идет после расхзода (и т.п.), это можно заранее проверить и исправить автоматически.
3. Во многих стандартных конфигурациях есть стандартная обработка "Архивирование периода", если в Вашей она есть, то можно ей воспользоваться чтобы не ломать себе голову и не изобретать велосипед.
--------- Мирный атом в каждый дом
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 21.05.2006, 23:32 Оценка за ответ: 5 Комментарий оценки: В том то и дело что восстановление последовательности упирается в док, по которому было продано товара больше чем его было на складе. Соотв. восстановление дальше этого документа не идет. Архивирования у меня нет, и честно, не пойму чем оно может помочь. Спасибо, стало совсем ясно, что дело это темное :)
Вопрос № 43.818
Всем привет. Помогите с вопросом.
Нужна обработка: Диалог "Выбрать файл" и выгрузка его в виде таблицы на экран 1С. Форматы файлов .xls .dbf хотябы эти.
Весьма признателен.
Приложение:
Отправлен: 22.05.2006, 10:02
Вопрос задал: Baim (статус: Посетитель)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Elric
Здравствуйте, Baim!
В моем прошлом ответе я подробно расписал как сделать так, чтобы эта таблица значений отображалась на форме отчета (меню Вставить - Таблица значений и т.п.). Если этот вариант для Вас слишком сложен, попробуйте указанный в Приложении. Вставьте текст в новый внешний отчет (ничего не изменяя на его форме), после загрузки из файла таблица значений будет показана на экране в режиме выбора. На мой взгляд это не так удобно, но раз для Вас этот вариант проще...
Приложение:
--------- Мирный атом в каждый дом
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 22.05.2006, 10:51
Отвечает: ПЛОХИХ А. Дмитрий
Здравствуйте, Baim!
1. В форме создать элемент диалога "Поле ввода" (Реквизит диалога) с типом "Строка" (неогр. длина), идентификатором "ФайлБД" и доп. свойством "Имеет кнопку выбора";
2. В модуль формы вставить предопределенную процедуру ПриНачалеВыбораЗначения(), см. приложение:
3. Готово!
Приложение:
Ответ отправил: ПЛОХИХ А. Дмитрий (статус: 3-ий класс)
Ответ отправлен: 22.05.2006, 12:18 Оценка за ответ: 5
Отвечает: Сергей
Здравствуйте, Baim!
Высылаю вам пример обработки файлов DBF и XLS. Попробуйте разобраться будут вопросы пишите:
// Открытие файла
НазвФайла="";
Путь="C:";
Расширение = "DBF-таблица(*.dbf)|*.dbf|Файл Excel(*.xls)|*.xls";
Затем через условный оператор Если проверяете какой файл открыт DBF или XLS
// обработка файлов DBF
ДБФ = СоздатьОбъект("XBase");
ДБФ.ОткрытьФайл(НазваниеФайла,,0);
ДБФ.Первая();
Пока ДБФ.Вконце() = 0 Цикл
НоваяСтрока(); // для заполнения документа в 1С
Товар = ДБФ.ПолучитьЗначениеПоля("name");
Кол = ДБФ.ПолучитьЗначениеПоля("kol");
Цена = ДБФ.ПолучитьЗначениеПоля("OPTTPWNDS");
Сумма = Кол * Цена;
УстановитьАтрибут("Товар",товар);
УстановитьАтрибут("Количество",Кол);
УстановитьАтрибут("Цена",цена);
УстановитьАтрибут("Сумма",Сумма);
ДБФ.Следующая();
КонецЦикла;
ДБФ.ЗакрытьФайл();
Если ЗапущенExcel=1 Тогда
Попытка
// открываем файл
ВходExcel.Application.Workbooks.Open(НазваниеФайла);
ВходнойФайлОткрыт = 1;
Исключение
ВходExcel.Quit();
Сообщить(ОписаниеОшибки(),"!");
КонецПопытки;
КонецЕсли;
КонечнаяСтрока = 0; // определяет количество строк в файле Excel
НачальнаяСтрока = 2;
Если КонечнаяСтрока<=0 Тогда
КонечнаяСтрока = НачальнаяСтрока;
// число колонок определяем по первому столбцу
Пока ПустаяСтрока(ВходExcel.ActiveSheet.Cells(КонечнаяСтрока,1).Value)=0 Цикл
КонечнаяСтрока = КонечнаяСтрока + 1;
КонецЦикла;
КонечнаяСтрока = Макс(КонечнаяСтрока-1,1);
КонецЕсли;
Для ТекущСтр =2 по КонечнаяСтрока Цикл
НоваяСтрока();
Товар = ВходExcel.ActiveSheet.Cells(ТекущСтр,2).Value;
Кол = ВходExcel.ActiveSheet.Cells(ТекущСтр,22).Value;
Цена = ВходExcel.ActiveSheet.Cells(ТекущСтр,14).Value;
Сумма = ВходExcel.ActiveSheet.Cells(ТекущСтр,18).Value;
ИтогВсего=0;
ИтогНДС20=0;
ИтогСуммаСовсемБезНДС=0;
СуммаОценкиПоДок=0;
СуммаНаРукиПоДок=0;
КолДнРеальное = 0;
СуммаСовсемБезНДС=0;
НомерДата="";
Док.ВыбратьДокументы('01.01.04',ДатаКонца);
Пока (Док.ПолучитьДокумент() = 1) Цикл
Если (Док.Вид()="ЗакрытиеСсуды") или (Док.Вид()="СписаниеПриРеализации") Тогда
//Продолжить;
//КонецЕсли;
Если Дата(ДатаЗакрытия)<=ДатаКонца Тогда
// ищем реальную дату закрытия
ДокЗакрытия=СоздатьОбъект("Документ.ЗакрытиеСсуды");
ДокЗакрытия2=СоздатьОбъект("Документ.СписаниеПриРеализации");
Если ДокЗакрытия.НайтиПоНомеру(Строка(НомДок))=1 Тогда
РеальнаяДатаЗАКР= ДокЗакрытия.ДатаДок;
иначе
РеальнаяДатаЗАКР=ДатаКонца;
КонецЕсли;
Если ДокЗакрытия.НайтиПоНомеру(Строка(НомДок))=ДокЗакрытия2.НайтиПоНомеру(Строка(НомДок)+"."+1) Тогда
Сообщить("1+ "+НомДок+" ");
КонецЕсли;
Приложение:
Отправлен: 22.05.2006, 10:39
Вопрос задал: DDDDen (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 3)
Отвечает: Elric
Здравствуйте, DDDDen!
1. У реквизита "СуммаОценки" Табличной части документа "ЗакрытиеСсуды" в свойствах на закладке "Дополнительно" должен стоять флажок "Итог по колонке". У Вас он наверняка не стоит.
2. Не слишком понятна связь между документами "СписаниеПриРеализации" и "ЗакрытиеСсуды", уточните вопрос, постараемся ответить.
--------- Мирный атом в каждый дом
Ответ отправил: Elric (статус: Студент)
Ответ отправлен: 22.05.2006, 11:00 Оценка за ответ: 4