Архив рубрики: 1с:7.7

1с:8. Как получить вид документа и сравнить его

В версии 7.7 вид документа можно получить просто :   Документ.Вид()



В восьмой версии  немного сложнее. Получить вид документа и сравнить его можно так:

Если ТипЗнч(Документ.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
....
КонецЕсли

можно конечно так:

Если  Документ.Ссылка.Метаданные().Имя = "РеализацияТоваровУслуг" Тогда


....

КонецЕсли


но первый вариант красивее.

1с:8. Как получить вид документа и сравнить его

В версии 7.7 вид документа можно получить просто :   Документ.Вид()



В восьмой версии  немного сложнее. Получить вид документа и сравнить его можно так:

Если ТипЗнч(Документ.Ссылка) = Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
....
КонецЕсли

можно конечно так:

Если  Документ.Ссылка.Метаданные().Имя = "РеализацияТоваровУслуг" Тогда


....

КонецЕсли


но первый вариант красивее.

ошибка 1C 7.7 SQL: База данных не может быть открыта в однопользовательском режиме

Возникла такая ошибка в тот момент, когда я добавил в документ один реквизит.

При сохранении конфигурации появляется окно:



Ответив утвердительно, База начинает реорганизацию данных и выдается ошибка:  База данных не может быть открыта в однопользовательском режиме.


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

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

Доп. информацию можно прочитать здесь

ошибка 1C 7.7 SQL: База данных не может быть открыта в однопользовательском режиме

Возникла такая ошибка в тот момент, когда я добавил в документ один реквизит.

При сохранении конфигурации появляется окно:



Ответив утвердительно, База начинает реорганизацию данных и выдается ошибка:  База данных не может быть открыта в однопользовательском режиме.


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

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

Доп. информацию можно прочитать здесь

Пустая дата в 1C 7.7 и 1C 8.x

В версии 1с 7.7 проверку на пустую дату можно было делать так

Если Число(НашаДата) = 0 Тогда

.....

КонецЕсли



В версии 1с 8.x немного сложнее



Чаще всего используют вот такой вариант:


Если НашаДата = Дата("00010101") Тогда

Сообщить("Это пустая дата");

КонецЕсли;


можно подствлять такие варианты:

Дата(1, 1, 1), Дата("00010101000000"), Дата("0001-01-01")

Более подробная информация: manual1c.ru

Смотрите также:
Как выбрать файл в 1с:8.1: диалог выбора файла с примером

Как прочитать текстовый файл большого объема

Пустая дата в 1C 7.7 и 1C 8.x

В версии 1с 7.7 проверку на пустую дату можно было делать так

Если Число(НашаДата) = 0 Тогда

.....

КонецЕсли



В версии 1с 8.x немного сложнее



Чаще всего используют вот такой вариант:


Если НашаДата = Дата("00010101") Тогда

Сообщить("Это пустая дата");

КонецЕсли;


можно подствлять такие варианты:

Дата(1, 1, 1), Дата("00010101000000"), Дата("0001-01-01")

Более подробная информация: manual1c.ru

Смотрите также:
Как выбрать файл в 1с:8.1: диалог выбора файла с примером

Как прочитать текстовый файл большого объема

Выбрать элемент справочника в v 7.7 и в 8.1


Поговорим об интерактивном выборе элемента из справочника в версиях 7.7 и 8.1



В Версии 7.7 выбрать элемент справочника можно функцией Выбрать:

Перем ВыбСпр;
Спр=СоздатьОбъект("Справочник.Товары");
Если Спр.Выбрать("Выберите товар из справочника", "ОсновнаяФорма")=Тогда
    ВыбСпр=Спр.ТекущийЭлемент();
КонецЕсли;
 



ОсновнаяФорма - можно выбрать


Для версии 8.1 выбор элемента может выглядеть так:

Спр=Справочники.Товары;
ФормаВыбора=Спр.ПолучитьФормуВыбора("ФормаВыбора");
ФормаВыбора.ЗакрыватьПриВыборе=Истина;
ФормаВыб.РежимВыбора = Истина;
 
ФормаВыбора.ОткрытьМодально();


Аналогичным образом можно выбирать и документы

Рабочая версия выглядит так:

ВыбСправочника = Справочник.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора",ЭтаФорма);
Выб
Справочника.РежимВыбора= Истина;
Выб
Справочника.ЗакрыватьПриВыборе=Истина;
ВыбЭлемент= ВыбДокумента.ОткрытьМодально();
Если ВыбЭлемент <> Неопределено Тогда
//<...Действия с выбраным товаром>
КонецЕсли;


 
Второй параметр в функции  ПолучитьФормуВыбора("ФормаВыбора",ЭтаФорма) - задает форму владелеца (ЭтаФорма) (подробнее описание функции смотрите в справке )

Была ситуация в версии 8.1, когда при выборе элемента из списка - элемент не выбирался, а происходило открытие для редактирования.
Проблема оказалась в коде выбираемого документа. Там был код принудительного открытия формы документа при выборе из списка:

Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
        Если ТекЗначениеУчета.Значение=Перечисления.ВидУчетаЛБ.Соптовары Тогда
            СтандартнаяОбработка = Ложь;
            ФормаСпецификации = ВыбраннаяСтрока.ПолучитьФорму("ФормаДокументаРозничная");
            ФормаСпецификации.Открыть();
        КонецЕсли;

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

пришлось добавить условие: если существует форма владелец, то производить выбор. В результате получилось так:

Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

    Если ЭтаФорма.ВладелецФормы = Неопределено Тогда      //Добавлено условие - в случае, если Форма-Владелей не определена

        Если ТекЗначениеУчета.Значение=Перечисления.ВидУчетаЛБ.Соптовары Тогда

            СтандартнаяОбработка = Ложь;

            ФормаСпецификации = ВыбраннаяСтрока.ПолучитьФорму("ФормаДокументаРозничнаяЛБ");

            ФормаСпецификации.Открыть();

        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Ещё можно глянуть более подробный материал здесь 

Выбрать элемент справочника в v 7.7 и в 8.1


Поговорим об интерактивном выборе элемента из справочника в версиях 7.7 и 8.1



В Версии 7.7 выбрать элемент справочника можно функцией Выбрать:

Перем ВыбСпр;
Спр=СоздатьОбъект("Справочник.Товары");
Если Спр.Выбрать("Выберите товар из справочника", "ОсновнаяФорма")=Тогда
    ВыбСпр=Спр.ТекущийЭлемент();
КонецЕсли;
 



ОсновнаяФорма - можно выбрать


Для версии 8.1 выбор элемента может выглядеть так:

Спр=Справочники.Товары;
ФормаВыбора=Спр.ПолучитьФормуВыбора("ФормаВыбора");
ФормаВыбора.ЗакрыватьПриВыборе=Истина;
ФормаВыб.РежимВыбора = Истина;
 
ФормаВыбора.ОткрытьМодально();


Аналогичным образом можно выбирать и документы

Рабочая версия выглядит так:

ВыбСправочника = Справочник.Номенклатура.ПолучитьФормуВыбора("ФормаВыбора",ЭтаФорма);
Выб
Справочника.РежимВыбора= Истина;
Выб
Справочника.ЗакрыватьПриВыборе=Истина;
ВыбЭлемент= ВыбДокумента.ОткрытьМодально();
Если ВыбЭлемент <> Неопределено Тогда
//<...Действия с выбраным товаром>
КонецЕсли;


 
Второй параметр в функции  ПолучитьФормуВыбора("ФормаВыбора",ЭтаФорма) - задает форму владелеца (ЭтаФорма) (подробнее описание функции смотрите в справке )

Была ситуация в версии 8.1, когда при выборе элемента из списка - элемент не выбирался, а происходило открытие для редактирования.
Проблема оказалась в коде выбираемого документа. Там был код принудительного открытия формы документа при выборе из списка:

Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
        Если ТекЗначениеУчета.Значение=Перечисления.ВидУчетаЛБ.Соптовары Тогда
            СтандартнаяОбработка = Ложь;
            ФормаСпецификации = ВыбраннаяСтрока.ПолучитьФорму("ФормаДокументаРозничная");
            ФормаСпецификации.Открыть();
        КонецЕсли;

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

пришлось добавить условие: если существует форма владелец, то производить выбор. В результате получилось так:

Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)

    Если ЭтаФорма.ВладелецФормы = Неопределено Тогда      //Добавлено условие - в случае, если Форма-Владелей не определена

        Если ТекЗначениеУчета.Значение=Перечисления.ВидУчетаЛБ.Соптовары Тогда

            СтандартнаяОбработка = Ложь;

            ФормаСпецификации = ВыбраннаяСтрока.ПолучитьФорму("ФормаДокументаРозничнаяЛБ");

            ФормаСпецификации.Открыть();

        КонецЕсли;
    КонецЕсли;
КонецПроцедуры

Ещё можно глянуть более подробный материал здесь 

Как выгрузить и загрузить архив с базой в 1с 7.7

Эти операции производятся в конфигураторе.

Выгрузка базы в архив

Запускаем 1с в режиме конфигуратора (естественно у вас должны быть права доступа на работу в конфигураторе). Выбираем Администрирование->Выгрузить данные...



Появляется окно Выгрузка данных.

Выбираем каталог, куда сохранится файл, и вводим имя файла



После выгрузки появляется сообщение: Выгрузка успешно завершена

База будет выгружена в архив. В архиве будет содержаться 3 файла: 
  • 1Cv77.dat - Файл самой базы. Этот имеет текстовый формат. Может быть огромного размера.
  • 1Cv7.MD - Файл конфигурации
  • users.usr - Файл с данными о пользователях (необязательно, может и отсутствавать, если флажок "Выгружать сведения о пользователях " при выгрузки базы не будет включен)
Если ваша база очень большая, то может случится, что выгрузка завершится с ошибкой. Есть проблема: когда файл 1Cv77.dat превышает 2 Гб, то система не может сжать такой файл из-за ограничения архиватора zip. Для этих случаев лучше воспользоваться патчем Romix. Найти его можно здесь

Так же желательно сохранять все важные файлы из каталога информационной базы. Это можно заархивировать в ручном режиме.


Загрузка базы в архив

Загрузка базы происходит аналогичным образом. Через команду меню Загрузить данные... 


В окне Загрузка данных выбирается архив базы
при загрузке могут появляться различные окна с предупреждениями о потере и замене данных. На всем окнах жмите ("Да" или "Принять" или "Ок").

Важно помнить, что в архиве должны находиться вышеуказанные файлы 1Cv77.dat,1Cv7.MD и users.usr, иначе может произойти ошибка или база вообще не загрузится.

Вот несколько советов по выгрузке и загрузке баз данных в 1с 7.7 .

В этом видео также описывается Создание резервной копии информационной базы:


1c 8.1: Как выгрузить конфигурацию в файл 

Как выгрузить и загрузить архив с базой в 1с 7.7

Эти операции производятся в конфигураторе.

Выгрузка базы в архив

Запускаем 1с в режиме конфигуратора (естественно у вас должны быть права доступа на работу в конфигураторе). Выбираем Администрирование->Выгрузить данные...



Появляется окно Выгрузка данных.

Выбираем каталог, куда сохранится файл, и вводим имя файла



После выгрузки появляется сообщение: Выгрузка успешно завершена

База будет выгружена в архив. В архиве будет содержаться 3 файла: 
  • 1Cv77.dat - Файл самой базы. Этот имеет текстовый формат. Может быть огромного размера.
  • 1Cv7.MD - Файл конфигурации
  • users.usr - Файл с данными о пользователях (необязательно, может и отсутствавать, если флажок "Выгружать сведения о пользователях " при выгрузки базы не будет включен)
Если ваша база очень большая, то может случится, что выгрузка завершится с ошибкой. Есть проблема: когда файл 1Cv77.dat превышает 2 Гб, то система не может сжать такой файл из-за ограничения архиватора zip. Для этих случаев лучше воспользоваться патчем Romix. Найти его можно здесь

Так же желательно сохранять все важные файлы из каталога информационной базы. Это можно заархивировать в ручном режиме.


Загрузка базы в архив

Загрузка базы происходит аналогичным образом. Через команду меню Загрузить данные... 


В окне Загрузка данных выбирается архив базы
при загрузке могут появляться различные окна с предупреждениями о потере и замене данных. На всем окнах жмите ("Да" или "Принять" или "Ок").

Важно помнить, что в архиве должны находиться вышеуказанные файлы 1Cv77.dat,1Cv7.MD и users.usr, иначе может произойти ошибка или база вообще не загрузится.

Вот несколько советов по выгрузке и загрузке баз данных в 1с 7.7 .

В этом видео также описывается Создание резервной копии информационной базы:


1c 8.1: Как выгрузить конфигурацию в файл