К сожалению, иногда, бывают ситуации когда после внезапного отключения света или при обновлении 1С, система выдает: «Файл базы данных поврежден», при этом ссылаясь на файл 1Cv8.1CD
Что же делать? Ниже рекомендации по пунктам:
1. Необходимо сделать архивную копию не через Конфигуратор, а полностью каталога с базой данных (на всякий случай, а случаи, как известно, бывают разные).
2. Запустить утилиту chdbfl.exe, которая должна находиться в каталоге установленной технологической платформы 1с8. Путь приблизительно такой: C:\Program Files\1cv82\8.2.19.ххх\bin (для 8.3 C:\Program Files\1cv8\8.3.5.ххх\bin ).
3. Если совершить проверку без установления галочки "Исправлять обнаруженные ошибки" файла базы данных 1Cv8.1CD, то возможны множественные вариации следующего типа ошибок:
Повреждена таблица размещения внутреннего файла <Данные таблицы '_InfoRg7289'>
Повреждена таблица размещения внутреннего файла <Индексы таблицы '_InfoRg7289'>
С установленной галкой, программа попробует исправить все ошибки и восстановить базу данных
К сожалению бывают ситуации, когда база сильно повреждена и стандартная программа не может восстановить "База данных полностью разрушена, восстановление невозможно"
В этом случае мы советуем больше ничего не делать с базой(чтобы совсем не потерять данные)
Этой статьей мы начинаем серию "Хотелок" - то что бухгалтера, менеджеры и т.д. просят добавить в программу 1С для удобства своей работы.
Хотелка: Необходимо для каждого документа Поступление товаров и услуг добавить выбор статуса наличия оригиналов Документов.
В компании огромный документооборот, по 50 документов в день - менеджеры затягивают или чаще забывают предоставить оригиналы документов нужен информативный статус с возможностью отбора по статусу и вывода списка на печать:
Решение: 1. В документ поступление добавлен выбор статуса наличия документов
2. В список документов поступлений добавлена информативная колонка с выделением статусов по цветам:
Для данной колонки работает стандартный механизм отборов, что позволяет быстро фильтровать документы по статусу
Как это сделали: Данная задачка до банальности проста, поэтому особо долго не думали и реализовали следующим способом:
1. Документ Поступление товаров и услуг, добавили переключатель
2. В список документов добавили колонку Статус документа:
3. В модуле списка в процедуре ДокументСписокПриПолученииДанныхдобавили:
Результат: Теперь бухгалтер быстро фильтрует документы по статусу и менеджеру - печатает реестр, далее менеджер занимается получением оригиналов от контрагентов.
В некоторых типовых конфигурациях фирмы 1С существует возможность ручной корректировки движений документа по регистрам. В конфигурации 1С: Бухгалтерия 8 для этого, при наличии соответствующих прав, нужно открыть движения документа и установить флаг “Ручная корректировка”. Однако, иногда возникает необходимость выполнить корректировку движений большого количества документов. В этом случае нам понадобится обработка, которая изменит движения документов без перепроведения.
Рассмотрим как изменить движения документа на примере конфигурации 1С: Бухгалтерия 8. Менять будем движения по регистру бухгалтерии “Хозрасчетный”. Пусть перед нами стоит задача заполнить суммы налогового учета по данным бухгалтерского. Предположим, что у нас уже есть обработка, которая выбирает необходимые нам документы и последовательно обрабатывает их с помощью описанной нами процедуры “ИзменитьДвиженияДокумента”. Посмотрим как должна выглядеть эта процедура.
Хотелось бы отметить, что без проверки ведения налогового учета на счёте, при попытке записать набор, содержащий проводку с ненулевой суммой по счёту на котором не ведется налоговый учет, возникнет ошибка следующего содержания:
Запись не верна! Поле “Сумма (налоговый учет)” должно быть пустым! (Регистр бухгалтерии: Журнал проводок (бухгалтерский и налоговый учет); Номер строки: 1)
Режим обмена данными устанавливается следующими строками:
Это необходимо для того, чтобы не выполнялся программный код, находящийся в обработчиках событий “ПередЗаписью” модуля набора записей регистра бухгалтерии “Хозрасчетный” и модуля корректируемого документа. В каждом из них (для типовых конфигураций) есть проверка следующего вида:
Признак ручной корректировки документа (ДокументОбъект.РучнаяКорректировка = Истина) необходимо устанавливать для того, чтобы изменения сохранились при повторном проведении документа. При проведении такого документа в конфигурации 1С:Бухаглерия 8 выдается следующее сообщение:
Движения документа отредактированы вручную и не могут быть автоматически актуализированы.
Подключимся и загрузим из файла Excel данные в таблицу значений 1С. Сделать теперь это очень просто.
1. В конфигурации добавляет новый объект метаданных типа "Внешние источники данных" и назовем его просто "Excel".
2. На закладке "Данные" созданного объекта "Excel" добавляем новую таблицу. При этом появится окно мастера добавления таблицы внешнего источника.
Выбираем первый пункт "Вручную", т.к. лично у меня второй пункт "Выбрать из списка таблиц внешнего источника данных" работает нестабильно.
Если Вы все же хотите попробовать добавить таблицу через второй пункт, то в качестве строки соединения в появившемся окне указываем: Driver={Microsoft Excel Driver (*.xls)};DBQ=C:\Documents and Settings\Admin\Мои документы\finance3.xls; DriverID=790
В этой строке укажите путь к своему файлу. Имя пользователя и пароль я не указывал.
Отмечу, что путь к файлу и строка соединения в дальнейшем не запоминается и нужны эти параметры единожды, чтобы создать автоматически описание полей таблицы источника.
Если соединение прошло нормально, то должен отобразиться список таблиц источника. Флажком можно выбрать нужную таблицу и ее поля.
3. Даем имя новой таблице "Данные". Переходим на вкладку таблицы "Данные". В поле "Имя в источнике данных" указываем имя листа в файле Excel и добавляем в конце знак "$". В моем случае это "Данные$". В табличной части "Поля" добавляем поля и редактируем их тип.
У каждого поля в свойствах должно быть задано как минимум "Имя" и "Имя в источнике данных".
4. Создаем процедуру в которой пишем подключение к источнику и запрос:
В платформе “1с предприятие 8.2″ появился такой замечательный объект как “динамический список“. Данный объект я часто использую в подборах, если не нужно делать сложные расчеты, а просто показать данные и выбрать.
Бывают такие ситуации, что список большой, более 10 позиций, и пользователю необходимо выбрать все строки. Стандартного способа как это сделать я не нашел.
Для решения это задачи я использовал объект “WSCript.Shell“.
В процессе реализации у меня получилось 2 варианта: Вариант №1
Определим кнопку “Выделить все строки” и в модуль обработчика добавим код:
С помощью данного кода выполняется нажатие клавиш “Ctrl + A“, т.е. “выделить все”.
Вариант №2
Вариант №1 не всегда срабатывал. Тогда данный код я переписал следующим образом:
Добавим реквизит формы “ПоследняяСтрокаСписка”
Для списка укажем свойство “Начальное отображение списка” = В конце списка
В процедуру “ПриОткрытии” добавим заполнение реквизита, определенного в пункте 1.
Определим кнопку “Выделить все строки” и в модуль обработчика добавим код:
С помощью данного кода выполняется нажатие клавиш “Shift + кнопка вверх“.
Хочу обратить внимание. Данное решение не будет работать на клиентах, которые запускаются на Линукс.
Иногда в качестве заголовка отчета требуется задать что-нибудь сложное, вроде:
«Отчет за период с» + ДатаНачала + » по» + ДатаКонца
Задать его таким образом в настройках не получится. Придется сделать это программно следующим образом:
Эта тема тоже достаточна распространена. Нюанс программного изменения отбора заключается в том, что коллекция:
в отличие от аналогичной коллекции параметров, не имеет метода Найти(). Можно конечно изменять отбор «в лоб», т.е. по индексу, но это не есть хорошо. Самый оптимальный вариант, обходить все поля отбора в цикле.
Приведу пример универсальной функции для изменения отбор компоновки данных:
Несмотря на то, изучающие СКД встречаются с этим на первый или второй день, это должно быть в разделе FAQ. Простой пример программного вывода отчета на компоновке, использующий настройки по умолчанию.
Ошибки как таковой не пишется, только в диалоговом окне, где программа 1С Предприятие 8.1 редакция 10.3 и т.д перед вылетом появляется "не отвечает". Работаем локально. В конфигуратор захожу без проблем.
Решение:
1. Зайдите в рабочую папку вашей базы данных (путь к ней можно увидеть внизу окна выбора информационных баз при запуске 1С, выделив нужную базу). В этой папке должны лежать две служебные папки (1Cv8FTxt и 1Cv8Log), а также файл базы 1Cv8.1CD. Других файлов быть не должно (например, с типом .tmp или .lck). Если лишние файлы там есть – удаляйте (или переместите в какую-либо другую папку). Попробуйте зайти в программу.
2. Если не помог п.1, то запускаем файл C:\Programm Files\1Cv81\bin\chkdbfl.exe и в верхнем окне выбираем файл 1Cv8.1CD нужной базы (как его найти, рассказано выше), ставим галку «Исправлять обнаруженные ошибки» и жмем «Выполнить». Возможно будут найдены и исправлены какие-то ошибки в базе и она запустится.
3. Можно попробовать выгрузить данные из базы в файл (ведь в «Конфигуратор» Вы заходите), создать новую папку (базу) и загрузить информацию из файла в нее, прописав путь к ней в окне запуска. Бывало, что помогало.