15 ноября 2011 г.

1с 8.1 Как в подвал табличного поля добавить итог по колонке

Как организовать вывод итогов в подвал табличного поля

ЭлементыФормы.ТабличноеПоле.Колонки["ИмяНужнойКолонки"]  

.ОтображатьИтогиВПодвале = Истина;

Но перед этим нужно включить флаг "подвал" в свойствах табличного поля или сделать это программно.


9 ноября 2011 г.

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

В версии 1с 7.7 проверку на пустую дату можно было делать так
Если Число(НашаДата) = 0 Тогда ..... КонецЕсли


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

1 ноября 2011 г.

УПП 8.1. Взаимные блокировки.

Неделю назад, закончилась память на сервере с 1с 8 и он просто стал зависать. Решено было перейти с 32 битной системы, установленной  на сервере, на  64 бита (понятно, что 32 битная система ограничена 4gb объемом памяти). Сама база расположена на отдельном сервере под СУБД PostgreSQL , и удаленные пользователи работают через Citrix.
После установки 64 битного серевера  1с 8  начались дикие блокировки при проведении документов. Пользователей, работающих в базе не более 60-70 человек. Сама база около 4 Gb.

Перешли с   PostgreSQL на MS SQL 2005, так как  на PostgreSQL при транзакциях блокируется вся таблица, а MS SQL блокирует только строку в таблице (смотрим здесь).  Но проблема не исчезла.
Документы продолжают виснуть. Нельзя ни записать ни отменить проведение документа. Выскакивают сообщения об ошибках.


Иногда выскакивают сообщения с выходом на конкретную строку программного кода.

Пытались отменить оперативное движение по партиям. Работает быстро без проблем, но такой вариант работы не устраивает, так как много придется дорабатывать кода.

Нашли пример решения аналогичной  Проблемы, но не всё устраивает.

Так же здесь очень много полезного материала
А так же диски ИТС.

Сегодня пригласили Эксперта по технологическим вопросам.

30 сентября 2011 г.

Склонения объектов в 1с 8.1. конфигурации УПП

Мысли на тему: Склонения объектов в конфигурации Управление производственным предприятем 8.1. Использование запросов для получения склонений.

9 сентября 2011 г.

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

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

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

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

7 сентября 2011 г.

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

Как правильно сделать отмену проведения документа программно?

Такой вопрос у меня возник, когда я попытался сделать отмену проведения документа программно. Так как  команды СделатьНеПроведенным() в "восьмерке" нету, то поначалу я думал, что можно присвоить признаку Проведен = Ложь и проведение документа отменится. Так оно визуально и получалось. НО  движения этого документа оставались. Получалось: документ видно, что он не проведен, а движения документа остались.

Выход оказался прост. Для отмены проведения используется Функция Записать с реквизитом:

НашДок.Записать(РежимЗаписиДокумента.ОтменаПроведения);

Так же работает и программное проведение документа:
НашДок.Записать(РежимЗаписиДокумента.Проведение);


Кроме того, есть команда:
РежимЗаписиДокумента.Запись


В этом случае будут сохранены изменения, внесенные в документ, и движения


1 сентября 2011 г.

Модальное открытие формы в 1с 8. Как вернуть результат ОткрытьМодально()

Открытие формы модально - форма появляется на экране и блокирует другие окна, пока не будет закрыта.

МодФорма = ПолучитьФорму("ОсновнаяФорма",ВладелецФормы);
Результат = МодФорма.ОткрытьМодально();
Возникает проблема возврата результата, если форма не "для выбора"


30 августа 2011 г.

Диалог выбора файла на диске

Как выбрать нужный файл на диске в 1с: Предприятии 8.1 .
Процедура открытия диалога выбора файла может выглядеть так:

25 августа 2011 г.

Обратиться к текущей строке табличной части документа или справочника

Задача: Есть документ, например, прием на работу. Ссылка на справочник Сотрудников - в табличной части. С точки зрения пользователя  - можно принять на работу несколько человек одним документом.

3 августа 2011 г.

Чтение текстового файла большого объема

Бывает что файл который нужно прочитать большого размера - 
несколько сотен мегабайт.

Для работы с такими файлами можно воспользоваться объектом 
TextStream: "Scripting.FileSystemObject"

 
Процедура ЧтениеБольшогоФайла(ИмяФайла)
ОбъектФайла=СоздатьОбъект("Scripting.FileSystemObject");
Файл = ОбъектФайла.OpenTextFile(ИмяФайла);
Пока Файл.atendofstream=0 цикл
сообщить(Файл.readline());
КонецЦикла;
Файл.close();
КонецПроцедуры
 
Этот объект так же имеет и другие полезные функций.

Свойства: AtEndOfLine, AtEndOfStream, Column, Line
Методы: Close, Read, ReadAll, ReadLine, Skip, SkipLine, 
Write, WriteLine,WriteBlankLines

8 июля 2011 г.

Работа с датой в 1с 8.1. Как отделить дату от времени

Есть такая штука в 8.1.: Дата представлена в виде ДД.ММ.ГГГГ  ЧЧ:ММ:СС  т.е формат не совсем такой как в 1с 7.7. В этом случае возникают некоторые трудности.

27 июня 2011 г.

Определить вид документа (справочника) в 1с 8.1


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

В восьмой версии немного сложнее:

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

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

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


первый вариант красивее, но второй тоже очень понядобится в некоторых случаях.

Кроме того: 

Объект.Метаданные()  - возвращает вид объекта , но тип данных вида объекта "ОбъектМетаданных" 

Объект.Метаданные().Имя - возвращает вид объекта в виде текстовой строки

Более понятно будет на изображении



19 января 2011 г.

Переходим на 1с 8.1

1с версии 8.х намного обширнее и сложнее даже чем кажется на первый взгляд. Но всё же постараемя потихоньку разобраться со всеми нюансами.

Для целей изучения 8.1 я приобрел учебный курсом 1С 8.1 : Версия для обучения программированию
в комплект входит диск с демо версией 1с. 8.1 и пачка книжек: книги по настройке и администрированию, а так же книга Радченко М. Г. "Практическое пособие разработчика"